มัลแวร์ Gootloader ซึ่งเป็น Loader สำหรับการเข้าถึงระบบเริ่มต้น ได้นำเทคนิคใหม่มาใช้เพื่อหลีกเลี่ยงการตรวจจับ โดยใช้ไฟล์ ZIP ที่มีรูปแบบผิดปกติซึ่งเกิดจากการนำไฟล์ ZIP ย่อยหลายร้อยถึงหนึ่งพันไฟล์มารวมกัน ไฟล์ ZIP ที่มีการดัดแปลงเหล่านี้ทำให้เครื่องมือวิเคราะห์หลายชนิด เช่น 7-Zip และ WinRAR ไม่สามารถประมวลผลได้ แต่โปรแกรมบีบอัดไฟล์เริ่มต้นของ Windows กลับสามารถแตกไฟล์ได้สำเร็จ เทคนิคนี้ยังรวมถึงการใช้ End of Central Directory (EOCD) ที่ถูกตัดขาด, การสุ่มค่าฟิลด์หมายเลขดิสก์ และความไม่ตรงกันของข้อมูลเมตา เพื่อเพิ่มความสามารถในการหลบเลี่ยงการวิเคราะห์ หลังจากที่มัลแวร์ถูกรันบนเครื่องเป้าหมาย มัลแวร์จะสร้างความคงทน (persistence) โดยใช้ Windows Script Host และ PowerShell เพื่อรัน payload ต่อไป Gootloader ถูกใช้โดยผู้โจมตีหลากหลายกลุ่ม รวมถึงการนำไปสู่การติดตั้งแรนซัมแวร์
Severity: สูง
System Impact:
- ระบบปฏิบัติการ Windows
- เครื่องมือบีบอัดไฟล์ 7-Zip (การตรวจจับถูกหลบเลี่ยง)
- เครื่องมือบีบอัดไฟล์ WinRAR (การตรวจจับถูกหลบเลี่ยง)
- Windows Script Host (WScript)
- CScript
- PowerShell
Technical Attack Steps:
- ผู้โจมตีใช้ไฟล์ ZIP ที่มี JScript มัลแวร์แฝงอยู่เป็นตัวส่งมอบเบื้องต้น
- ไฟล์ ZIP ถูกสร้างขึ้นอย่างผิดปกติด้วยการนำไฟล์ ZIP ย่อย 500 ถึง 1,000 ไฟล์มารวมกัน (concatenation) เพื่อเพิ่มความซับซ้อนในการวิเคราะห์
- ไฟล์ ZIP มีส่วนท้าย End of Central Directory (EOCD) ที่ขาดข้อมูลสำคัญ 2 ไบต์ ทำให้เครื่องมือส่วนใหญ่ล้มเหลวในการแยกวิเคราะห์
- มีการสุ่มค่าฟิลด์หมายเลขดิสก์ (disk number fields) ทำให้เครื่องมือวิเคราะห์เข้าใจผิดว่าเป็นไฟล์ ZIP แบบหลายดิสก์ที่ไม่ใช่ของจริง
- ข้อมูลเมตา (metadata) ระหว่าง Local File Headers และ Central Directory entries ไม่ตรงกัน
- ไฟล์ ZIP และ JScript ที่ถูกดาวน์โหลดจะถูกสร้างขึ้นมาใหม่แบบเฉพาะสำหรับแต่ละการดาวน์โหลด เพื่อหลีกเลี่ยงการตรวจจับแบบ static
- ไฟล์ ZIP อาจถูกส่งมาในรูปแบบ XOR-encoded blob ซึ่งจะถูกถอดรหัสและต่อท้ายฝั่งไคลเอนต์จนได้ขนาดที่ต้องการ เพื่อหลีกเลี่ยงการตรวจจับระดับเครือข่าย
- เมื่อไฟล์ JScript ทำงานบนโฮสต์ผ่าน Windows Script Host (WScript) จากไดเรกทอรีชั่วคราว
- มัลแวร์จะสร้างความคงทน (persistence) โดยการเพิ่มไฟล์ Shortcut (.LNK) ไปยังโฟลเดอร์ Startup ที่ชี้ไปยังไฟล์ JScript ไฟล์ที่สอง
- payload จะถูกเรียกใช้เมื่อเปิดเครื่องครั้งแรกและทุกครั้งที่ระบบบูต โดยเรียกใช้ CScript ด้วย NTFS shortnames ตามด้วย PowerShell ที่เรียก PowerShell อีกครั้ง
Recommendations:
Short Term:
- เปลี่ยนแอปพลิเคชันเริ่มต้นสำหรับเปิดไฟล์ JScript เป็น Notepad แทน Windows Script Host เพื่อป้องกันการรันโดยอัตโนมัติ
- บล็อกการทำงานของ wscript.exe และ cscript.exe สำหรับเนื้อหาที่ดาวน์โหลดมา หากไม่มีความจำเป็นต้องใช้ในสภาพแวดล้อมของคุณ
Long Term:
- ใช้ YARA rule ที่ Expel จัดหาให้ เพื่อตรวจจับไฟล์ ZIP ที่มีโครงสร้างผิดปกติเหล่านี้ (YARA rule ที่ระบุในบทความ)
- นำโซลูชัน Endpoint Detection and Response (EDR) มาใช้เพื่อตรวจจับกิจกรรมหลังการโจมตีและการสร้างความคงทนของมัลแวร์
- ให้ความรู้แก่ผู้ใช้เกี่ยวกับอีเมลฟิชชิ่ง ไฟล์แนบที่น่าสงสัย และเทคนิควิศวกรรมสังคมอื่นๆ ที่มักใช้เป็นจุดเริ่มต้นของการโจมตี
- อัปเดตระบบปฏิบัติการและซอฟต์แวร์รักษาความปลอดภัย (Antivirus, EDR) อย่างสม่ำเสมอ เพื่อให้แน่ใจว่ามีการป้องกันล่าสุด
- พิจารณาใช้ Application Whitelisting เพื่อป้องกันการรันสคริปต์ที่ไม่ได้รับอนุญาต หรือโปรแกรมที่ไม่รู้จัก
Share this content: