Gootloader ใช้เทคนิคแบ่งไฟล์ ZIP เป็น 1,000 ส่วน เพื่อหลบเลี่ยงการตรวจจับ

 

มัลแวร์ Gootloader ซึ่งปกติใช้เป็นเครื่องมือสำหรับการเข้าถึงระบบในเบื้องต้น ได้พัฒนาเทคนิคใหม่ในการหลบเลี่ยงการตรวจจับ โดยใช้ไฟล์ ZIP ที่มีโครงสร้างผิดปกติ ซึ่งเกิดจากการรวมไฟล์ archives เข้าด้วยกันสูงสุดถึง 1,000 ไฟล์

วิธีการนี้ทำให้ไฟล์ JScript มัลแวร์ที่ถูก archives สามารถหลีกเลี่ยงการตรวจจับได้ โดยทำให้เครื่องมือวิเคราะห์จำนวนมากเกิด error ในการตรวจสอบไฟล์ดังกล่าว

นักวิจัยระบุว่า ไฟล์อันตรายนี้สามารถถูกแตกไฟล์ได้สำเร็จด้วยยูทิลิตีเริ่มต้นของระบบ Windows แต่เครื่องมือที่อาศัย 7-Zip และ WinRAR กลับไม่สามารถทำงานได้

กลุ่มผู้ไม่ประสงค์ดีเบื้องหลังมัลแวร์ Gootloader ซึ่งมีการใช้งานมาตั้งแต่ปี 2020 และเคยเชื่อมโยงกับการโจมตีด้วยแรนซัมแวร์ในปฏิบัติการไซเบอร์หลายครั้ง ได้นำเทคนิคใหม่มาใช้ในการส่งมัลแวร์อย่างแนบเนียน โดยการเรียงต่อกันของไฟล์ ZIP จำนวนมากถึง 500 ถึง 1,000 ไฟล์ พร้อมกับเทคนิคอื่น ๆ เพื่อทำให้เครื่องมือวิเคราะห์ข้อมูลได้ยากยิ่งขึ้น

ปฏิบัติการนี้กลับมาอีกครั้งในเดือนพฤศจิกายนที่ผ่านมา หลังจากหยุดไปนานถึงเจ็ดเดือน ตามรายงานของนักวิจัยด้านความปลอดภัยจาก Huntress Labs และ The DFIR Report

ก่อนหน้านี้ มีการใช้ไฟล์ ZIP ที่มีโครงสร้างผิดปกติอยู่แล้ว แต่เป็นการดัดแปลงเพียงเล็กน้อย และยังพบปัญหาความไม่สอดคล้องของชื่อไฟล์ในขั้นตอนการ extract ข้อมูล

ล่าสุด เพื่อเสริมความสามารถในการหลบเลี่ยงการวิเคราะห์ในขั้นตอนนี้ให้แข็งแกร่งยิ่งขึ้น Gootloader ได้นำกลไกการทำให้โค้ดซับซ้อน (obfuscation) ที่เข้มข้น และครอบคลุมกว่าที่ผ่านมามาใช้งาน ตามผลการวิเคราะห์ตัวอย่างรุ่นใหม่ของนักวิจัยจาก Expel

โดยเฉพาะอย่างยิ่ง ปัจจุบันได้มีการนำกลไกต่อไปนี้มาใช้เพื่อหลบเลี่ยงการตรวจจับ และการวิเคราะห์ ได้แก่

  • เชื่อมต่อไฟล์ ZIP เข้าด้วยกันได้สูงสุดถึงหนึ่งพันไฟล์ โดยอาศัยข้อเท็จจริงที่ว่าโปรแกรมแยกวิเคราะห์มักอ่านข้อมูลจากส่วนท้ายของไฟล์
  • ใช้ค่า End of Central Directory (EOCD) ที่ถูกตัดทอน และขาดข้อมูล mandatory bytes ไปสองไบต์ ส่งผลให้เครื่องมือส่วนใหญ่ไม่สามารถแยกวิเคราะห์ไฟล์ได้
  • การสุ่มค่าในฟิลด์ disk number ทำให้เครื่องมือเข้าใจผิดว่าคือไฟล์ archives แบบ multi-disk ที่ไม่มีอยู่จริง
  • แทรก metadata mismatches ระหว่าง Local File Header และรายการใน Central Directory
  • สร้างไฟล์ตัวอย่าง ZIP และ JScript ที่ไม่ซ้ำกันสำหรับการดาวน์โหลดแต่ละครั้ง เพื่อหลบเลี่ยงการตรวจจับแบบ static
  • ส่งไฟล์ ZIP ในรูปแบบข้อมูลที่ถูกเข้ารหัสด้วย XOR ซึ่งจะถูกถอดรหัส และนำมาต่อเพิ่มซ้ำ ๆ ฝั่งไคลเอนต์จนได้ขนาดตามต้องการ เพื่อหลบเลี่ยงการตรวจจับในระดับ network-based

 

เมื่อมัลแวร์ถูกเรียกใช้งานบนเครื่องเป้าหมาย โค้ด JScript จะทำงานผ่าน Windows Script Host (WScript) จากไดเรกทอรีชั่วคราว จากนั้นจะสร้างการแฝงตัวในระบบโดยการเพิ่มไฟล์ shortcut (.LNK) ลงในโฟลเดอร์ Startup โดยไฟล์ shortcut นี้จะชี้ไปยังไฟล์ JScript ตัวที่สอง

เพย์โหลดนี้จะถูกเรียกใช้งานตั้งแต่การเปิดครั้งแรก และจะทำงานซ้ำทุกครั้งที่ระบบบูต โดยทำให้ CScript ทำงานผ่านชื่อไฟล์แบบสั้นของ NTFS จากนั้นจึงเกิดกระบวนการที่ PowerShell เรียก PowerShell ต่อกันเป็นลำดับ

แม้ว่าผู้พัฒนา Gootloader จะได้เพิ่มเทคนิคหลายอย่างในการทำให้ไฟล์ corrupt เพื่อหลบเลี่ยงการตรวจจับโดยไม่ส่งผลกระทบต่อการทำงานของมัลแวร์ แต่นักวิจัยจาก Expel ก็สามารถใช้ความผิดปกติของโครงสร้างเหล่านี้เป็นสัญญาณที่ช่วยให้ทีมป้องกันสามารถตรวจจับภัยคุกคามได้ นอกจากนี้ ทีมวิจัยยังได้เผยแพร่ YARA Rules ซึ่งสามารถระบุไฟล์ ZIP เวอร์ชันปัจจุบันเหล่านี้ได้อย่างแม่นยำ

กลไกการตรวจจับอาศัยการระบุชุดลักษณะเฉพาะของส่วน ZIP header การพบ Local File Header ที่ซ้ำกันหลายร้อยรายการ และ EOCD records

นักวิจัยแนะนำให้ผู้ดูแลระบบเปลี่ยนแอปพลิเคชันเริ่มต้นสำหรับการเปิดไฟล์ JScript ให้เป็น Notepad แทน Windows Script Host เพื่อป้องกันไม่ให้ไฟล์ถูกเรียกใช้งาน

นอกจากนี้ เพื่อจำกัดความเสี่ยงต่อการโจมตี Expel ยังแนะนำให้บล็อกการทำงานของ wscript.exe และ cscript.exe เมื่อเป็นการเรียกใช้งานเนื้อหาที่ดาวน์โหลดมา หากไม่มีความจำเป็นต้องใช้ไฟล์ JScript

ที่มาbleepingcomputer