Rubber Ducky in action Quack!! Quack!!

1 ในอุปกรณ์สุดฮิตที่ Hacker ทั้งหลายควรจะต้องมี คงจะหนีไม่พ้นเจ้า USB Rubber Ducky

อุปกรณ์นี้ไม่ได้น่ารักใสซื่อเหมือนชื่อมันเท่าไรนัก เพราะว่ามันสามารถ Bypass Security Control ทั้งหลายได้อย่างง่ายดาย หลักการของ USB Rubber Ducky นั้นคือ ให้คิดว่ามันเป็น USB Keyboard 1 อัน ที่สามารถ Load Key Sequence ล่วงหน้าได้ ดังนั้น Hacker ก็สามารถเตรียมคำสั่งอันร้ายกาจไว้ได้นั่นเอง ข้อดีที่สำคัญสุดๆของ Rubber Ducky นั้นคือ พวก Antivirus จะไม่สามารถตรวจจับได้ว่ามันเป็นอุปกรณ์ที่อันตรายได้ เพราะมันถูกมองว่าเป็นเพียง Keyboard 1 ตัวเท่านั้นเอง

นี่คือหน้าตาของ Rubber Ducky ดูไปก็คล้าย USB Flash Drive ธรรมดาๆ

rubber ducky core

Concept การใช้งานของ Rubber Ducky นั้นง่ายมาก มี 4 ส่วน ได้แก่ Write, Encode, Load, Deploy

rubber ducky manual

  • Write เขียนคำสั่งต่างๆ หรือ Key Sequence ต่างๆ ที่ต้องการจะ Run บนเครื่องเหยื่อ
  • Encode คือแปลงพวก Key Sequence ที่เราเตรียมไว้ให้เป็น Payload ของเจ้า Rubber Ducky
  • Load ก็คือเอา Payload ไปใส่บน memory card ของเจ้าเป็ดเหลือง
  • Deploy คือการจิ้มเจ้า Rubber Ducky ใส่เครื่องเหยื่อ หลังจากนั้นคำสั่งบน Rubber Ducky ก็จะ Execute บนเครื่องเหยื่อ ถ้าอยากจะ Execute Payload ซ้ำ ก็สามารถกดปุ่ม Replay บน Rubber Ducky ได้

ใน Package ของ Rubber Ducky นั้นมีอุปกรณ์อื่นๆอีกมากมาย ซึ่งส่วนใหญ่เป็นอุปกรณ์ ช่วยในการ ลับ ลวง พลาง ด้านขวานี่ก็ตัวช่วยประกอบให้หน้าตาดูเป็น Flash Drive ทั่วๆไป แต่ด้านซ้ายสุดนี่สิ หัวแปลง USB  ซึ่งทำให้สามารถใช้ Rubber Ducky กับ Android ได้ และ 1 ใน Payload ที่เคยฮิตมากเกี่ยวกับ Android คือ การทำ Brute Force Passcode ที่ Login Screen

rubber ducky parts

มาดูกันดีกว่าว่าพอเสียบ USB Rubber Ducky เข้าไปในเครื่องแล้วจะเป็นอย่างไร

อันนี้เป็น Payload ง่ายๆสำหรับการ Add User ใหม่บน Windows พร้อมทั้ง Add เข้า Administrators Group ด้วยครับ (ใน Video จะมีบางช่วงที่หยุดซักระยะนึงนั้นคือการตั้ง Delay ว่าอยากให้ช้าหรือเร็วแค่ไหน ถ้าตั้งเร็วเกินไปเดี๋ยวจะดูไม่ทันครับ)

อยากให้เจ้า Rubber Ducky ทำงานได้ซับซ้อนแค่ไหนก็ขึ้นอยู่กับความสามารถในการเขียน Script ของแต่ละคนแล้ว เช่น สั่ง Capture Screen ทุกๆ 1 นาที พร้อมส่ง Mail มาให้เรา หรือ สั่งให้ Download Malware มา Install ที่เครื่องก็เป็นไปได้

เจอแบบนี้แล้วใครบอกว่า Physical Security และ Security Awareness ไม่สำคัญก็คิดดูใหม่ได้นะครับ

ปล. ถ้าใครคิดว่าเรื่องพวกนี้สำคัญ และ อยากให้เพื่อนๆ หรือ คนที่ทำงาน มีความตระหนักในเรื่อง Security ก็อย่าลืมกด Like กด Share นะครับ รับรองว่ามีอะไรตื่นเต้นอีกเยอะ ส่วนใครที่สนใจและอยากให้ทีมงานไปแชร์ความรู้เกี่ยวกับ Security Awareness ให้กับองค์กรของท่านก็สามารถติดต่อเราได้เช่นกันครับ ขอบคุณครับ

Take a deep breath with Heartbleed

สำหรับเรื่อง Heartbleed ผมขอเขียนให้กระชับที่สุดก็แล้วกันครับ (เพราะมีแหล่งข้อมูลเยอะแล้ว และอีกอย่างไอ้ Heartbleed ทำเอาเลือดสาดเลยทีเดียว)

heartbleed

Heartbleed bug หรือ CVE-2014-0160 ทำให้ใครก็ตามสามารถเห็นข้อมูลใน memory ครั้งละประมาณ 64K ได้ต่อ 1 ครั้ง อยากเห็นกี่ครั้งก็ได้ตามสบาย แล้วอะไรที่เห็นได้บ้างหรอครับ? เพียบเลยเช่น content ที่ไม่ต้อง authenticate ก่อนก็ดูได้, ข้อมูล session, Private Key, username และ passwords ส่วนใครอยากทราบรายละเอียดเพิ่มเติม ลองดูจากรายการด้านล่างได้เลยนะครับ

- ถ้าใครยังไม่รู้จักให้ลองอ่านจาก heartbleed.com

- หากใครไม่สันทัดภาษาอังกฤษ ThaiCERT ก็เขียนบทความออกมาอธิบายแล้วครับ ระวังภัย ช่องโหว่ใน OpenSSL ผู้ไม่หวังดีสามารถขโมยข้อมูลใน Memory จากเครื่องของเหยื่อได้ (Heartbleed, CVE-2014-0160)

- คุณ Phitchayaphong Tantikul ทำ VDO ภาษาไทยเอาไว้สามารถไปดูเพิ่มความเข้าใจได้ที่ ช่องโหว่ OpenSSL Heartbleed

เอาล่ะครับ เข้าเรื่องเลยดีกว่า

ปัญหาคือมันมีอะไรที่มากกว่านั้น

opensslhttps://www.openssl.org/news/secadv_20140407.txt

เพียงแค่ update เรื่องมันยังไม่จบนะครับ สาเหตุก็คือ

1. เราไม่รู้ว่าโดนเอาอะไรออกไปแล้วบ้าง ถ้าหากมีการ implement Extrusion Detection ก็ลองไปดูเลยนะครับว่ามีอะไรถูกเอาออกไปแล้วบ้างหรือไม่(ผมจัดว่าวิธีนี้ยากเกินไป อาจจะต้องรอ vendor ทำ flow analysis ออกมาโดยเฉพาะ ซึ่งช้าไปแล้ว)

2. สืบเนื่องจากข้อ 1 มันไม่มี log ปรากฎครับ หากเราดูแต่ web server log เราจะตอบคำถามใครไม่ได้ว่ามันเสียหากมากน้อยแค่ไหน เป็นสถานการณ์ที่เราเสียเปรียบเป็นอย่างยิ่ง

3. คุณ Update และแก้ปัญหาฝั่ง server-side ได้ก็จริง แล้วฝั่ง client-side ล่ะครับ ชิบหายครับ ลองคิดดูว่าถ้าเราบังคับให้ client connect กับ server ที่เรา control ได้ client-side attack ก็สามารถเกิดขึ้นได้ซึ่งจะทำให้เราสามารถอ่านข้อมูลใน memory ของ client ได้ ซึ่งตอนนี้นักวิจัยเค้าออกมา confirm แล้วครับว่า Android versions 4.1.0 และ 4.1.1a มีโอกาสโดน heartbleed bug เล่นงาน
(SSL บน Window ไม่เป็นไร ไม่งั้นตายหมู่แน่นอนครับ)

ดังนั้นเวลาตอบคำถามใครก็ตามอย่าลืมประเด็นเรื่องพวกนี้ด้วยนะครับ

heartbleed2

คำแนะนำเพิ่มเติมที่พวกเราอยากบอกทุกท่าน

1. ทดสอบดูว่า Server ทั้งที่อยู่ใน internal network และ DMZ zone มีช่องโหว่หรือไม่ มีจัดการแก้ bug
ก่อนเลยครับ รีบๆทำด้วย
2. Generate Certificate ใหม่เลยครับ อย่าคิดว่าเปลืองแรง ถ้าหากระบบของเราเป็นระบบสำคัญต้องทำทันที
3. เช่นเดียวกันกับข้อ 2 จัดการ reset password ของผู้ใช้งานทุกคน ไม่ใช่เรื่องน่าอายเพราะโดนกันทั้งโลกนะครับ
4. Application ที่เอาไป plug กับคนอื่นๆ ลองถามเค้าด้วยนะครับว่าระบบของเค้า OK กับ heartbleed หรือยัง ไม่ว่าจะเป็นการ implement โดยใช้ library ที่ใช้ openssl หรือเอา application ไปคุยกับ application อื่นๆ
5. สำหรับ Client-side จัดเป็นเรื่องใหญ่ครับ ผมหวังว่าอย่างน้อย browser vendor อาจจะทำอะไรได้บ้าง (ตอนนี้ก็มี plugin ช่วย check แต่เราไม่ค่อยชอบใช้พวก plugin ครับ)
6. Cloud Service ที่เราใช้กันอยู่มีใครโดนเล่นหรือไม่ ไปดูได้ที่ The Heartbleed Hit List: The Passwords You Need to Change Right Now
7. ช่วงนี้ระวัง Phishing ด้วยครับ ถ้ามี mail ส่งมาให้ reset password ขอให้มีสติ
8. สำหรับการตรวจดูว่า Web นั้นๆโดน heartbleed หรือไม่ สามารถตรวจได้หลายที่ เช่น

9. ผมว่าตรวจด้วย script เห็นชัดสุดครับ internal test ภายใน private network ก็สามารถทำได้ หากใครต้องการข้อมูลเพิ่มเติมว่าจะ check Heartbleed ของเครื่องในองค์กรได้อย่างไรสามารถสอบถามมาได้เลยนะครับ เดี๋ยวจะเอา script ไปให้ลองใช้ดู แต่ผมเชื่อว่าหลายๆคนทำได้อยู่แล้ว :)

Stay safe and get secured!!

Enterprise IT Security Investment

ห่างหายไปซะนานกับการเขียนบทความ วันนี้อยากพูดถึงประเด็นของการลงทุนเกี่ยวกับ Security ในองค์กรทั้งหลาย

งบ Security Training ของบริษัทคุณถ้าหารต่อหัวแล้ว แต่ละคนเรียนจะได้แค่ Course เคมีอาจารย์อุ๊ใช่ไหมครับ ถ้าใช่เชิญอ่านต่อได้ครับ!!

จากประสบการณ์ของเราที่ผ่านงานองค์กรใหญ่ ๆ มาหลาย ๆ ที่พบว่าปัจจุบันองค์กรใหญ่ ๆ ในประเทศไทยนั้นมีงบลงทุนเกี่ยวกับระบบ IT รวมไปถึงเรื่อง Security ที่สูงขึ้น ซึ่งงบในการลงทุนนี้มักจะครอบคลุม 3 ประเภทคือ

  1. Implement Solution ใหม่ ๆ เพื่อให้องค์กรมีระบบ Security ที่ดีขึ้น
  2. Preventive Maintenance สำหรับค่าใช้จ่ายค่า MA และ Licence ของอุปกรณ์ต่าง ๆ
  3. Training เพื่อพัฒนา Skill ของพนักงาน

ประเด็นที่น่าสนใจคือการลงทุนส่วนใหญ่เน้นลงทุนในประเภทที่ 1 และ 2 เป็นหลัก ซึ่งหลาย ๆ องค์กรมักมองว่า Solution ที่องค์กรวางแผนจะ Implement นั้นสามารถช่วยในการปรับปรุง Security ขององค์กรให้ดีมากขึ้น และการมีระบบใหม่ ๆ เข้ามาจะช่วยให้งานเป็น Automated มากขึ้น รวมไปถึงเป็นการ “ยิงปืนนัดเดียวได้นกสองตัว” ด้วย เพราะว่า องค์กรมองว่าพนักงานก็จะได้รับการ Training เพิ่มเติม จากหลักสูตรที่ Vendor มีแถมมา ซึ่งมักเป็นหลักสูตร Training สำหรับการใช้งานระบบ หรือ Solution นั้น ๆ

การของบสำหรับประเภทที่ 1 เพื่อใช้ซื้อ Solution นั้นสำหรับผู้บริหารบางท่านอาจมองว่าสามารถที่จะของบจากองค์กรได้ง่าย เพราะเป็นการซื้อ Physical asset เข้ามา (เหมือนว่าซื้อสิ่งของที่จับต้องได้ เห็นมูลค่าชัดเจน รวมไปถึงสามารถนำไปคิดค่าเสื่อมราคา [Depreciation Expense] เพื่อคิดเป็นค่าใช้จ่ายของกิจการสำหรับเรื่องของการทำงบบัญชีขององค์กรได้)  และงบในประเภทที่ 2 เรื่อง Maintenance นั้นมักถูกเรียกว่างบผูกพันธ์ ก็ขอได้ง่ายเช่นกันเนื่องจากส่วนใหญ่มักจะเป็นงบที่ตั้งไว้ตั้งแต่เริ่ม Implement Project หรือ Solution  แต่สำหรับงบประเภทที่ 3 ในเรื่องของการ Training นั้น งบที่จะใช้ในการลงทุนประเภทนี้ เป็นงบ Service ซึ่งเป็นสิ่งที่จับต้องได้ยาก ไม่มี Physical asset ไม่มีของที่มีมูลค่าทางบัญชี รวมไปถึงการวัดผลของการ Training นั้นทำได้ยาก ซึ่งเป็นสาเหตุหนึ่งที่ทำให้องค์กรส่วนใหญ่ไม่ค่อยส่งพนักงานไป Training หรือหากได้รับการ Training ก็มักจะได้เรียนแต่หลักสูตรที่แถมมากับการซื้ออุปกรณ์

ซึ่งหลักสูตรที่แถมกับการซื้ออุปกรณ์นั้น มักเน้นไปที่การเรียนรู้วิธีการใช้งานอุปกรณ์ สอนให้ผู้เรียนสามารถใช้งานอุปกรณ์เป็น แต่มักมีข้อเสียคือ เรื่องทฤษฏีพื้นฐานทางด้าน Security เกี่ยวกับอุปกรณ์นั้น ๆ ไม่ได้ถูกสอนเจาะลึกในรายละเอียด สอนแต่ทฤษฏีเบื้องต้น เพื่อให้สามารถควบคุมจัดการอุปกรณ์ได้เท่านั้น ซึ่งสิ่งที่จะตามมาต่อในอนาคตคือ ความรู้ที่มีไม่สามารถนำไปต่อยอดในระดับที่สูงขึ้นไปได้ รวมถึงในกรณีที่มีการสอนการใช้งานให้กับบุคคลอื่นในองค์กร ก็มักจะเป็นการสอนแค่วิธีการใช้งานอุปกรณ์เท่านั้น สุดท้ายแล้วพนักงานที่ไม่ได้กระตือรือร้นหาความรู้เพิ่มเอง ก็จะมีความสามารถในการใช้งานในระดับ Operation ให้ระบบสามารถทำงานไปได้ในแต่ละวันเท่านั้น

education = $ written on blackboard with apple, books

ผลกระทบจาก Skill ของพนักงานที่มีไม่มากพอนั้น อาจส่งผล เช่น Security ขององค์กรไม่ดีพอ ถึงแม้ว่าองค์กรมีการ Implement อุปกรณ์ Security ต่าง ๆ มากมาย รวมถึงมีพนักงานคอย Monitor สิ่งผิดปกติ อยู่ตลอด 24 ชั่วโมง แต่ก็ยังมีรูรั่วอยู่ดี ซึ่งรูรั่วต่าง ๆ เหล่านี้มักจะเกิดจากการที่ Skill ในการจัดการภาพรวมของ Security ภายในองค์กรไม่ดี รวมไปถึง Skill ในการบริหารจัดการอุปกรณ์แต่ละชิ้นนั้นไม่มากพอ ทำให้ไม่สามารถใช้ความสามารถของอุปกรณ์ได้เต็มที่

สำหรับใครที่ทำงานในสายนี้แล้วกำลังน้อยใจอยู่ ว่าทำไมที่บริษัทไม่ค่อยได้ส่งไป Training เลย ก็อย่าเพิ่งเสียใจไปนะครับ

ผู้บริหารหลาย ๆ ท่านเองก็มักจะเห็นปัญหานี้เช่นกัน ดังนั้นบางท่านจึงเลือกใช้วิธีการรวมงบสำหรับ Training เข้ากับงบ Solution โดยจะให้ Vendor จากบริษัทต่าง ๆ นำเสนอ Solution เข้ามาพร้อมกับหลักสูตร Security ที่ไม่อิงกับ Product เข้ามาด้วย

หากใครที่รอให้องค์กรส่งไป Training ไม่ไหว และเลือกที่จะลงทุนให้กับตัวเองนั้น มีข้อเสนอแนะดังนี้ครับ

1. เลือกหลักสูตร Training ที่มี Discount หรือ Special Offer ต่าง ๆ เช่น หลักสูตรของ EC-Council ที่สนับสนุนผู้ที่เป็นนักเรียน นักศึกษา โดยจะมีส่วนลดพิเศษให้มากกว่า 50%  แต่เงื่อนไขคือผู้สมัครจะต้องมีบัตรนักเรียน นักศึกษาด้วย ซึ่งการหาบัตรนักศึกษานี่คงไม่ยากเกินไปนะครับ หากใครสนใจลองเข้าไปติดตามกันได้ที่ Facebook ของศูนย์ Training ของบริษัท ACinfotec ที่ http://www.facebook.com/ACTCThailand ครับ

ราคาสำหรับนักเรียน นักศึกษา

1926787_1414196952171780_1299415941_n

2. หาเพื่อนที่สนใจในหลักสูตรเดียวกัน หรือหลักสูตรที่คล้ายกัน แล้วหาผู้เชี่ยวชาญที่มีความรู้ความสามารถมาสอนเป็นกลุ่มย่อย ซึ่งราคามักจะคุยกันได้ แล้วแต่ Deal ที่ตกลงกัน

3. การเลือกบริษัท Training ก็ลองสอบถามจากผู้ที่เคยไปเรียนมาก่อนว่าความรู้ที่ได้รับเป็นอย่างไร คนสอนมีความเชี่ยวชาญจริงหรือไม่ เพราะจากประสบการณ์ของเรา เคยเจออาจารย์ที่ไม่เคยทำงานนั้น ๆ แต่มาสอนเพราะเพียงแค่สอบ Certificate เกี่ยวกับคอร์สนั้นผ่าน นอกจากนี้ยังเคยเจออาจารย์ที่มาสายทุกวัน แถมยังเลิกก่อนเวลาเสียอีก ถ้าคุณเป็นหนึ่งในคนที่ออกมา Training ภายนอกองค์กรเพื่อที่ต้องการโดดงาน คุณคงชอบอาจารย์แบบนี้ แต่สำหรับคนที่อยากมาเรียนจริง ๆ จัง ๆ คงเซ็งน่าดูครับ

สุดท้ายนี้ ขอให้ทุกคนสนุกกับเรื่อง Security ต่อไปเรื่อย ๆ นะครับ ถึงแม้ในบางครั้งอาจจะมีปัจจัยเรื่อง Financial เข้ามาเกี่ยวข้องบ้าง แต่เชื่อเถอะครับว่ามันไม่ใช่ปัญหาเลย ถ้าเราสนใจที่จะเรียนรู้ มีวิธีหรือหลักสูตรที่ดีราคาเหมาะสม ให้เราเลือกอยู่เสมอ การลงทุนในการเรียนรู้นั้นมีความสำคัญมาก

Benjamin Franklin กล่าวว่า “An investment in knowledge pays the best interest.”

แต่สำหรับใครยังไม่พร้อมด้าน Financial ขอแนะนำให้ไปอ่านเนื้อหาจาก http://incognitolab.com/2013/11/03/from-pentesters-with-love-mut/ ครับ ซึ่งเป็น Slide ที่เรารวบรวม Resources ต่าง ๆ ที่น่าใจเกี่ยวกับ Security และเราได้มีโอกาสนำ Slide นี้ไปบรรยายแนวทางในการพัฒนาตัวเองให้กับนักศึกษาปริญญาโทที่มหาวิทยาลัยเทคโนโลยีมหานครครับ

Information Security Training for Bhutan’s MOIC officers

สัปดาห์ที่ผ่านมาพวกเรารู้สึกเป็นเกียรติและยินดีเป็นอย่างยิ่งที่ทางกระทรวงเทคโนโลยีสารสนเทศและการสื่อสาร (ICT) ได้ให้โอกาสกับพวกเราไปบรรยายให้กับเจ้าที่ด้าน ICT จาก Ministry of Information and Communication หรือ MOIC จากราชอาณาจักรภูฏานในหัวข้อดังต่อไปนี้

1. พื้นฐานเทคโนโลยี Remote Access
2. พื้นฐานเทคโนโลยี Web Filtering
3. Penetration testing/Ethical Hacking
4. Basic Network Security Monitoring
5. Malicious PDF Analysis
6. Wanna Learn Kung fu?

Bhutan1
หลังจากสิ้นสุดการบรรยายทางผู้เข้ารับการอบรมก็ได้ชื่นชมและให้คำขอบคุณกับความรู้, วิธีการและเทคนิคต่างๆที่จะนำไปประยุกต์ใช้ได้จริงในการทำงาน

พวกเราจะ Deliver ผลงานดีๆออกมาอย่างต่อเนื่องครับ และหวังว่าจะมีโอกาสเปิด class ให้กับคนไทยได้เรียนรู้เรื่อง Security อย่างจริงจังในรูปแบบที่เป็นแบบฉบับของเรา ซึ่งพวกเรามั่นใจว่าหลังจากเรียนจบจะต้องเอาไปต่อยอดได้ต่อไปอย่างแน่นอน

อยากเรียนกังฟูกันบ้างรึยังครับ!
bhutan pentest cover

IncognitoLab Case : Attack by advertisement

สถานการณ์ล่าสุด

2:20PM 26 Sep 2013 script หยุดการ redirect

สำหรับท่านที่มีปัญหาเรื่องการ redirect อัตโนมัติ ให้ลองตรวจสอบว่า Java ที่ติดตั้งอยู่ในเครื่องคือ version 1.7 ใช่หรือไม่ ซึ่งสามารถตรวจสอบได้ที่ BrowserScan by Rapid7 โดยที่การวิเคราะห์ล่าสุดนั้นพบว่าเครื่องที่เกิดปัญหาจะมีการใช้งาน java 1.7.x อยู่ และ website ที่เข้าไปใช้งานมี script การติดตามผู้ใช้งานอยู่ตามรูป
Screen Shot 2556-09-26 at 2.13.18 PM
ซึ่งตัวการที่ทำให้การใช้งานของเรามีปัญหาคือ scorecardresearch.com

วิธีการแก้ไข

ต้อง Block มันครับ บน chrome และ firefox มี plugin ชื่อ collusion ที่สามารถ block การติดตามการใช้งานได้ ซึ่งมันจะ block website พวก tracer ที่คอยติดตามการท่องเว็บของเราอยู่ตลอด


หลังจากที่ห่างหายไปนานเมื่อวานพวกเราพึ่งจะเผยแพร่บทความไป ตั้งใจว่าจะทิ้งช่วงไว้สักนิดค่อยเขียนบทความใหม่ แต่เราก็ทำไม่ได้ครับเนื่องจากมีเหตุการณ์บางอย่างเกิดขึ้นกับการใช้งาน Internet ของพวกเรา นั่นคือบาง Website ที่เราเข้าไปใช้งาน เกิดอาการแปลกๆขึ้น โดยหลังจากเข้าไปบาง website มันมักจะ redirect ไปที่ http://www.forex-prices.com

forex_redir1

หลังจากที่พวกเราสังเกตดูหลายๆ website* ได้แก่ bloomberg, posttoday และ stock2morrow ก็พบว่าภายใน website มีการใช้งาน service ของ scorecardresearch.com อยู่ ซึ่ง scorecardresearch.com นั้น claim ตัวเองว่าเป็น service ด้านการตลาดอย่างหนึ่ง

*ขออนุญาตกล่าวอ้างอิงถึงเพื่อเป็นประโยชน์กับผู้อ่านครับ จริงๆแล้วมีหลายเว็บแต่ขอยกเฉพาะ website ที่คนไทยน่าจะรู้จักกันมากพอสมควร นอกจากนี้เราพบว่าปัญหานี้เกิดขึ้นกับ ISP บางเจ้าเท่านั้นครับ

พอเราสังเกตให้ละเอียดขึ้นพบว่าหลังจากที่เข้า website ดังกล่าวจะมี request ไปที่ b.scorecardresearch.com เกิดขึ้นเสมอตามรูป
forex_redir2

หลังจากนั้นก็จะมี script ดังกล่าวขึ้นมาทำงาน
forex_redir3

ถ้าวิเคราะห์แบบเร็วๆดูก็จะพบว่ามี keyword เหล่านี้อยู่ใน sourcecode

self","top","href","location","http://goo.gl/voNi7T","script",
"createElement","type","text/javascript","async","src",
"http://fxpr.com//api.js","getElementsByTagName","authID","",
"body","p","div","h1","header","html","insertBefore","parentNode

ใน keyword ดังกล่าวมีการอ้างอิงถึง http://goo.gl/voNi7T ถ้าหากลองเรียกดูก็จะพบว่ามันคือ short URL ของ forex-prices.com

ถามว่าจะแก้ไขอย่างไร

คำตอบนี้จะต้องให้ webmaster ของ website ที่ใช้บริการ advertisement หรือ banner ต่างๆ มาช่วยจัดการครับ เนื่องจากวิธีนี้เป็นการโจมตีผ่านการใช้งาน ads และ banner กลุ่มผู้ร้าย (cyber criminal) อยากจะ enable หรือ disable การโจมตีเมื่อไรก็ได้ที่อยากจะทำ ทำให้เรา trace ไปหาตัวผู้ร้ายได้ยาก

ส่วนฝั่งผู้ใช้งานก็ต้องดูแลตัวเองด้วยการ update patch ทั้ง OS, Browser และ Plugin ต่างๆ ลองไปตรวจสอบว่า Browser ที่ใช้งานปลอดภัยหรือไม่ ผ่าน service ชื่อ BrowserScan ของ rapid7 ดูนะครับ (ฟรีและดีมาก)

ถ้าหากใครเข้า website แล้วเกิดอาการแบบนี้ก็ต้องระมัดระวังตัวกันด้วยนะครับ ครั้งนี้พวก cyber criminal ทำแค่ redirect เราไปสักที่หนึ่งเพื่อจุดประสงค์อะไรก็แล้วแต่ คราวหน้ามันอาจจะ redirect เราไป landing page เพื่อโจมตีเราก็เป็นได้

นอกจากนี้ผู้ใช้งานทั่วๆไปอย่างเราๆ อาจจะสามารถป้องกันด้วยวิธีการติดตั้ง Add-on ของ Web Browser ที่ช่วย Block Ads ต่างๆ ได้ แต่ผมคิดว่า Solution นี้เป็นแค่วิธีการป้องกันชั่วคราวเท่านั้น เพราะวิธีการโจมตีแบบนี้ถือว่า Stealth มากๆ การ Update ของ Add-on อาจจะมาไม่ทันทำให้เราอาจตกเป็นเหยื่อได้อีก อย่างไรก็ตามวิธีการป้องกันที่ดีที่สุดก็คือการสร้าง Security Awareness ให้กับตัวเราเองครับ

Be Prepared!!!

เรื่องบล็อคเว็บไซด์น่ะหรือ คุณหยุดผมไม่ได้หรอก (ฉบับง่าย)

คุณเคยรู้สึกแบบนี้บ้างไหม?

อยู่ออฟฟิศ เข้า Web ไม่ได้อีกแล้ว จะบล็อคอะไรกันนักหนา Web ที่จะเข้าก็ใช้เกี่ยวกับงานทั้งนั้นแหละ ขอเข้าแค่ Web เดียว นี่จะต้องไป Process กันนานขนาดนี้เลยเหรอ เออเดี๋ยวเปิดดูผ่านจอเล็ก ๆ ในมือถือก็ได้

วันนี้เรามีวิธีการที่จะมาช่วยคุณได้ เตรียมพบกับวิธีจัดการกับเจ้า Web Filter หรือเจ้าอุปกรณ์ที่ใช้ควบคุมการเข้า Website ในองค์กรกันนะครับ

เริ่มจากทำความเข้าใจก้บ Web Filter ก่อนว่าทำงานอย่างไร

ในบางครั้ง Web Filter ก็ถูกเรียกว่า Web Proxy ซึ่งในองค์กรมักจะวางเจ้าอุปกรณ์ตัวนี้ในลักษณะที่เป็น Proxy Server

จากรูปด้านบนจะเห็นว่า Proxy Server เป็นตัวกลางที่ใช้รับส่งข้อมูลระหว่าง Alice และ Bob เปรียบเสมือน Proxy Server เป็นตัวกลางระหว่าง User ในองค์กร และ Website ต่าง ๆ ดังนั้น Request จาก User จะถูกส่งมาที่ Proxy ก่อนที่จะส่งจาก Proxy ไปหา Website ทำให้ Proxy นั้นสามารถตัดสินใจได้ว่าจะอนุญาตให้ User เข้าใช้งาน Website ต่าง ๆ ได้หรือไม่ ซึ่งความเก่งในการตัดสินใจนี้ขึ้นอยู่กับอุปกรณ์ว่าฉลาดแค่ไหนด้วยครับ

Web Filter

เพิ่มเติม Function ของ Web Proxy นั้นนอกจากจะทำ Web Filter แล้วมักจะใช้คู่กับการทำ Caching ด้วย เพื่อเพิ่มความเร็วและช่วยประหยัด Bandwidth ให้กับองค์กรในกรณีที่มีหลาย ๆ User ต้องการเข้าใช้งาน Web Site เดียวกัน ก็สามารถดึงข้อมูลจากใน Cache ส่งให้ได้ทันที ไม่ต้องเสียเวลาไป Request จาก Server หลาย ๆ ครั้ง

สำหรับการ  Bypass Web Filter หรือการแอบเล่น Internet นั้นสามารถทำได้หลายวิธี แต่บทความนี้จะยกตัวอย่างมา 3 วิธี ดังต่อไปนี้

วิธีที่ 1 ใช้ HTTPS แทน HTTP

การวาง Web Proxy นั้นหากไม่ได้มีการเปิด Feature ที่เรียกว่า SSL Interception ไว้ Admin ของระบบมักจะมีการปล่อยให้ทุก Request ที่เป็น HTTPS วิ่งออกสู่ Internet ได้เลย

SSL Interception คือ วิธีการ Decrypt ข้อมูลของ SSL Tunnel เพื่อวิเคราะห์ดูถึง Content หรือ URL ใน Request ซึ่งหากไม่ทำการ Decrypt ข้อมูลก่อน Web Proxy ก็จะไม่สามารถตัดสินใจได้ว่าควรอนุญาตให้ Request นั้นผ่านไปหรือไม่ ซึ่งจะกลายเป็นว่าจะปล่อยผ่านทุก ๆ Request ที่เป็น HTTPS (เข้าได้ทุก HTTPS website) หรือ ไม่ปล่อย HTTPS เลย (Website ที่เป็น HTTPS จะเข้าไม่ได้เลย)

หากองค์กรไหนที่ต้องการจะทำ SSL Interception นั้นจะต้องมีความเข้าใจในเรื่อง Digital Certificate พอสมควร ไม่อย่างนั้น User จะพบกับปัญหาการแจ้งเตือน “SSL Certificate Untrusted” ได้ เนื่องจากว่าการทำ SSL Interception เปรียบเสมือนกับการทำ Man-in-the-middle attack รูปแบบนึง

วิธีที่ 2 ใช้ Google Cache

ถ้าเคยสังเกตจะเห็นว่าส่วนใหญ่ใน Search Result ของ Google มักจะมีให้กด Cached ดูได้ ซึ่ง Cache ก็คือข้อมูลเก่าที่มีการเก็บไว้ที่ Google ตอนที่ Google ทำการ Crawling Web Site นั้น ๆ นั่นเอง

incognitolab search

การใช้งาน Cached นั้นจะช่วยให้สามารถอ่านข้อมูลบนหน้า Web Site ได้เนื่องจากว่า Request ที่มีการส่งไปนั้นจะเป็นการส่งไปหา Google ซึ่งปกติแล้วไม่มีใครเค้า Block Google Website กันครับ แต่ว่าจะมีข้อเสียคือ ข้อมูลใน Cache ของ Google นั้นอาจจะเป็นข้อมูลที่ไม่ใช่ข้อมูล update ล่าสุด และการใช้งานนั้นมักจะเป็นการเข้าใช้งานได้ทีละหน้าเท่านั้น เนื่องจาก Link ต่าง ๆ จาก Cache จะ Link ไปหา Website จริง ซึ่งอาจจะถูก Block อยู่

วิธีที่ 3 ใช้ Google Translate

สำหรับวิธีนี้โดยส่วนตัวชอบมากครับ เราสามารถใช้ Google Translate เพื่อ Bypass Web Filter ได้โดยการใช้การแปลภาษา ซึ่งปกติเรามักจะใช้ Google Translate แค่แปลประโยคเท่านั้น แต่หากเราต้องการแปลทั้ง Website เราสามารถพิมพ์ชื่อ Website นั้น ๆ ที่กล่องด้านซ้ายมือได้เลย

google translate

หากอยากดู Website ที่ต้องการโดยภาษาไม่เปลี่ยน (หรือเปลี่ยนน้อยที่สุด) นั้น จะต้องเลือกต้องเลือกภาษา (output language) ที่ต้องการแปลให้ตรงกับ Website นั้น ๆ เช่น เลือกภาษาไทย สำหรับ Website Pantip.com ครับ จากนั้นก็ Click ไปที่ URL ในกล่องด้านขวามือได้เลย

google translate 2

จากรูปด้านบนจะเห็นว่าถึงแม้ Content ของ Website จะเป็นของ Website Pantip.com แต่ URL ที่ทำการ Request ไปนั้นเป็นของ Google ซึ่งปกติจะไม่ถูก Block อยู่แล้วครับ

สรุป

ทั้ง 3 วิธีนี้เป็นเพียงวิธีการง่าย ๆ เพื่อให้ User ทั่วไปเข้าใจและสามารถนำไปใช้ได้อย่างง่าย ๆ เท่านั้นครับ ซึ่ง 3 วิธีการนี้อาจจะใช้ผ่านบ้าง ไม่ผ่านบ้าง ก็ลองนำไปใช้ดู หากมีใครมีวิธีง่าย ๆ น่าสนใจก็แนะนำกันได้ครับ และหากมีใครสนใจเรื่อง Security เรื่องไหนเป็นพิเศษก็แจ้งเราได้เช่นกันนะครับ แล้วพบกันใหม่ครับ

Extra: HTTPS Insecurity with SSLstrip

SSLstrip เป็น 1 ในเทคนิคที่นิยมใช้กันในการทำ Man-in-the-middle เพื่อดักข้อมูล ซึ่งถูกคิดค้นโดย Moxie Marlinspike (คุณพี่ Deadlock นั่นเอง) และได้ถูกนำมา present ในงาน Black Hat DC 2009

ทำไมต้อง SSLstrip

โดยปกติการทำ Man-in-the-middle กับ Encrypted Traffic (HTTPS) นั้น Attacker จะติดปัญหาคือไม่สามารถ Decrypt Data ได้ ทำให้ไม่สามารถอ่านข้อมูลได้นั่นเอง หากต้องการจะอ่านข้อมูลก็มักจะใช้วิธีการทำ SSLsniff ซึ่งวิธีจะเป็นการ Decrypt HTTPS Traffic ระหว่างทางโดยการสร้าง SSL Tunnel 2 อัน เพื่อคุยระหว่างกับ User กับ Attacker และระหว่าง Attacker กับ Server

SSLsniff

SSLsniff

ซึ่งวิธีการทำ SSLsniff นี้มักจะเป็นปัญหาเนื่องจาก Certificate ที่ใช้ระหว่างเครื่อง User และ Attacker จะไม่ถูก Trust โดย Web Browser ทำให้ขึ้นหน้า Certificate Error ที่ฝั่ง User (Client) ดังนั้น User ที่มี Awareness ดีหน่อยก็อาจจะรอดพ้นจากวิธีการทำ SSLsniff ได้ [รายละเอียดการ Trust กันของ PKI อ่านได้จาก HTTPS Insecurity Part 1] ทำให้โอกาสประสบความสำเร็จของ Attacker นั้นลดลง แต่หากใช้ SSLstrip ปัญหา Certificate Error จะหมดไปทันที

SSLstrip ทำงานอย่างไร

SSLstrip ทำงานบนสมมติฐานว่าโดยปกติ User ไม่ได้เข้า Website ที่เป็น HTTPS โดยตรงแต่มักจะถูก Redirect ให้เข้า ตัวอย่างเช่น เราพิมพ์ URL http://www.twitter.com จะโดน Server จะทำการ Redirect ให้เราไปที่ https://www.twitter.com แทน

Trick ของ SSLstrip คือการโจมตีไปที่ HTTP (ข้อมูลจะไม่ถูกเข้ารหัส) แทนที่จะโจมตี HTTPS ซึ่งทำโดยวิธีการใช้ Man-in-the-middle บวกกับการบังคับไม่ให้ User คุยกับ Server ผ่าน HTTPS แต่จะเป็นการคุยโดย

  1. เครื่อง Attacker คุย HTTPS กับ Server
  2. เครื่อง User (Client) คุย HTTP กับ Attacker

SSLstrip

ขั้นตอนการใช้งาน SSLstrip

ขั้นตอนที่ 1 (เหมือนกับการทำ Man-in-the-middle ทั่วไป)

  • ตั้ง Forward Packet
  • ทำ ARP Spoofing เพื่อ Redirect ข้อมูลจากเครื่อง User มาที่ Attacker

ขั้นตอนที่ 2

  • ทำ Routing traffic เพื่อให้ข้อมูลวิ่งเข้าที่ port ของ SSLStrip ที่เปิดไว้ ตัวอย่างบนเวปทั่วไปจะใช้คำสั่ง
    “iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port <listenPort>”
  • Run SSLStrip

แค่เพียงเท่านี้ Attacker จะสามารถดัก Traffic ของ User ได้ทั้งหมดทันที

วิธีการป้องกัน SSLstrip

  1. Implement HTTP Strict Transport Security (HSTS) ที่ฝั่ง Server ซึ่งเป็นวิธีการบังคับให้ Web Browser คุยผ่าน HTTPS เท่านั้น แต่การทำด้วยเทคนิคนี้จะยากมากเพราะว่า Developer แต่ละ Web จะต้องมีความรู้ความเข้าใจในการทำให้ Web ตัวเองปลอดภัย
  2. User จะต้องมี Awareness มากขึ้น

เอ๊ะ!!

อ่านถึงตรงนี้หลายๆคนคงอาจสงสัยว่า Mobile Application ที่นิยมใช้ในตลาดบ้านเราที่เรียกว่า SSLSTRIPguard นั้นทาง Incognito Lab ไม่รู้จักเหรอ เพราะ Application นี้มักมีการพูดถึงในงาน Security Conference ของเมืองไทยเป็นประจำ แม้ว่าจะผ่านมาหลายปีแล้วก็ตาม (จะไม่ขอพูดถึงว่า Security Conference นั้นชื่ออะไรและจัดโดยบริษัทไหนนะครับ แต่เชื่อว่าทุกท่านคงทราบดี ^_^)

SSLSTRIPguard เป็น Application บน Smart Phone ที่ “Claim” ว่าสามารถช่วยให้สามารถทราบได้ว่าเรากำลังถูกโจมตี SSLstrip อยู่หรือไม่ ซึ่งจากการลองใช้แล้วพบประเด็นที่น่าสนใจพอสมควรครับ

ประเด็นที่ 1: Marketing Strategy ???

SSLStripGuard นี้ทำหน้าที่แค่เรียก Web page อยู่ 1 URL หลักๆนั่นคือ “http://guarded-wave-5813.herokuapp.com/StripGuard/acis2.html” ซึ่งจากการลองใช้พบว่าสามารถทำงานได้บนอุปกรณ์อื่นๆ ไม่ว่าจะเป็น PC หรือ Laptop

แต่ Application นี้กลับถูก Promote ว่าเป็น Smart Phone Application ซึ่งแน่นอนคงหนีไม่พ้นเรื่องการทำ Marketing แหละ เพราะอย่างน้อยการทำ Mobile Application ก็ช่วยสร้างภาพลักษณ์ได้ดี และสามารถใส่โฆษณาต่างๆเข้าไปได้ด้วย แต่เพราะการทำ Marketing แบบนี้เลยทำให้สังคมไม่ได้รับประโยชน์อย่างเต็มที่

ทาง Incognito Lab เราไม่อยากให้วงการ Security บ้านเราทำเพื่อผลประโยชน์อย่างเดียวครับ แต่เราอยากทำให้วงการ Security ในเมืองไทยนั้นสนุกและได้ประโยชน์ให้สมกับวลีเด็ดของ Paul Asadoorian และ John Strand ที่ว่า “Bring Sexy Back” ให้สมกับ mission ของเรา “We secure the nation”

ประเด็นที่ 2: Reliability ???

Result ของ SSLSTRIPguard นั้นน่าเชื่อถือแค่ไหน จะเป็นอย่างไรหาก SSLSTRIPGuard บอกว่า User ไม่ได้โดน SSLstrip แต่ที่จริงแล้วกำลังโดนอยู่??

การทำงานของ SSLSTRIPguard นั้นคือการตรวจสอบว่า Traffic ของ HTTPS request ที่เรียกไปที่ guarded-wave-5813.herokuapp.com ถูก Strip ออกหรือไม่ ซึ่งหากมีการทำ Routing Traffic ของ guarded-wave-5813.herokuapp.com เข้าไปที่ port ของ SSLstrip (ดูขั้นตอนที่ 2 ในการทำ SSLstrip ด้านบน) ก็จะถูกตรวจสอบได้ทันที หากเป็น Attacker ทั่วๆไปมักจะ copy&paste command ในการทำ SSLstrip ตาม Website ต่างๆบน Internet ซึ่งจะใช้คำสั่ง “iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port <listenPort>” เพื่อ Route ทุก Traffic ที่เป็น HTTP เข้าไปที่ port ของ SSLStrip ซึ่งแน่นอนว่า SSLSTRIPguard จะสามารถตรวจสอบได้

ดังนั้น

การ Bypass SSLSTRIPguard นั้นทำได้ง่ายมาก เพียงแค่ไม่ต้อง Route Traffic ของ guarded-wave-5813.herokuapp.com เข้า SSLstrip ก็พอแล้ว

ในขั้นตอนที่ 2 ก่อนที่จะ Routing ทุก Traffic ไปที่ SSLstrip ใช้คำสั่ง
“iptables -t nat -A PREROUTING -p tcp -d guarded-wave-5813.herokuapp.com –destination-port 80 -j REDIRECT –to-port <non SSLstrip port>”
เพื่อ Route Traffic ของ SSLSTRIPguard ไปที่ port อื่นที่ไม่ใช่ของ SSLSTRIP

จากนั้นเมื่อลองเข้าใช้งาน SSLSTRIPguard ผ่าน “http://guarded-wave-5813.herokuapp.com/StripGuard/acis2.html” จะพบว่าเราไม่ได้ถูก Strip อยู่ แต่หากลองเข้า http://www.twitter.com จะพบว่า Twitter ก็ไม่ได้ถูก Redirect ไปที่ https://www.twitter.com และ Traffic ทั้งหมดจะถูก Capture ไว้โดย Attacker

ปล. หวังว่าทุกคนที่ได้อ่านบทความนี้จะมี Awareness เพิ่มขึ้นนะครับ เราควรจะป้องกันที่ตัวเราเองเป็นลำดับแรก ไม่ใช่ไปหวังพึ่ง Tool ต่างๆอย่างเดียว
Ref: http://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf