Zig Strike เป็นชุดเครื่องมือโจมตีที่มีประสิทธิภาพสูง (offensive toolkit) ซึ่งถูกออกแบบมาเพื่อหลบเลี่ยงระบบรักษาความปลอดภัยขั้นสูง ไม่ว่าจะเป็นโปรแกรมแอนตี้ไวรัสทั่วไป (AV), แอนตี้ไวรัสรุ่นใหม่ (NGAV), ไปจนถึงระบบป้องกัน และวิเคราะห์ภัยคุกคามแบบเรียลไทม์ (XDR/EDR)
ชุดเครื่องมือแบบ open-source นี้ แสดงให้เห็นถึงวิวัฒนาการที่สำคัญในความสามารถของ Red Team โดยใช้ภาษาโปรแกรม Zig ที่ทันสมัย เพื่อสร้าง payloads ที่สามารถหลบเลี่ยงการตรวจจับได้ แม้แต่ระบบป้องกันอย่าง Microsoft Defender for Endpoint (MDE) ยังก็ตรวจจับไม่ได้
เทคนิค Payload Injection และหลบเลี่ยงการตรวจจับ
Zig Strike ใช้เทคนิคการ injection ทั้งหมด 4 รูปแบบ โดยแต่ละแบบถูกออกแบบมาเพื่อโจมตีในสถานการณ์ที่เฉพาะเจาะจง
ชุดเครื่องมือนี้ใช้เทคนิค Local Thread Injection โดยแย่งควบคุม threads ที่ถูกสร้างขึ้นมาใหม่ แล้วเปลี่ยนทิศทางการทำงานไปยัง payload ให้ไปทำงานผ่านฟังก์ชัน Dummy Callback พร้อมกับใช้เทคนิค Function Stomping บนตำแหน่งหน่วยความจำของ Windows API เพื่อปกปิดร่องรอย
ส่วนเทคนิค Remote thread hijacking เป็นเทคนิคที่ยกระดับขึ้นไปอีกขั้น โดยจะโจมตีไปยัง threads ที่มีอยู่ในโปรเซสอื่น และใช้ API ที่ชื่อว่า GetThreadContext และ SetThreadContext เพื่อเข้าไปแก้ไขค่าของ Instruction Pointer - RIP ให้ชี้ไปยัง Shellcode โดยตรง
KPMG ระบุว่า ชุดเครื่องมือนี้ยังได้รวมเอา เทคนิค Local Mapping โดยอาศัยการใช้ประโยชน์จาก Windows API ที่เกี่ยวกับ file mapping เช่น CreateFileMappingW และ MapViewOfFile เพื่อจัดสรรหน่วยความจำที่สามารถเรียกใช้โค้ดได้ ซึ่งเทคนิคนี้จะช่วยลดรูปแบบการใช้หน่วยความจำที่น่าสงสัย ที่มักจะถูกตรวจจับโดยระบบ EDR
สำหรับเทคนิค Remote Mapping เป็นการต่อยอดแนวคิดนี้ไปสู่การ injection โค้ดแบบข้ามโปรเซส (Cross-process Injection) โดยใช้ API MapViewOfFileNuma2 เพื่อนำ Shellcode ไปวางไว้ในพื้นที่หน่วยความจำของโปรเซสเป้าหมาย
นอกจากนี้ ความสามารถในการหลบเลี่ยงการตรวจจับของชุดเครื่องมือนี้ยังถูกเสริมความแข็งแกร่งขึ้นไปอีกขั้นด้วย ฟังก์ชัน 'comptime' ของภาษา Zig ซึ่งจะช่วยให้สามารถเรียกใช้โค้ดบางส่วนได้ตั้งแต่ขั้นตอนการ compile time เพื่อเพิ่มทั้งประสิทธิภาพ และความสามารถในการซ่อนตัว
Zig Strike จะทำการแบ่ง Shellcode ออกเป็นส่วนเล็ก ๆ จากนั้นจะจัดเก็บแต่ละส่วนในรูปแบบตัวแปร UTF-16 Wide-String ที่ encoded ด้วย Base64 แล้วนำไปซ่อนไว้ภายในโซน .rdata ของไฟล์ PE (Portable Executable) ซึ่งทำให้ระบบวิเคราะห์แบบ Static Analysis ตรวจจับได้ยากยิ่งขึ้น
ระบบนี้ยังได้ติดตั้งกลไก Anti-sandbox เช่น การตรวจสอบ Trusted Platform Module (TPM) และการตรวจสอบว่าเครื่องอยู่ในโดเมนองค์กร (Domain-Joined) หรือไม่ เพื่อป้องกันไม่ให้ payload ถูกเรียกใช้ใน Virtualized Environments
เทคนิคเหล่านี้ช่วยให้มั่นใจได้ว่า payloads จะทำงานเฉพาะในสภาพแวดล้อมขององค์กรที่ตกเป็นเป้าหมายจริงเท่านั้น และเป็นการหลบเลี่ยงระบบวิเคราะห์ภัยคุกคามแบบอัตโนมัติได้อย่างมีประสิทธิภาพ
Zig Strike สามารถสร้าง payloads ได้หลากหลายรูปแบบ รวมถึงไฟล์ Dynamic Link Libraries (DLL) ที่รองรับทั้งสถาปัตยกรรมแบบ 32-bit และ 64-bit และไฟล์ Excel Add-ins (XLL) สำหรับการนำไปใช้ร่วมกับโปรแกรม Microsoft Office
รูปแบบไฟล์ XLL นี้ ได้รับการพิสูจน์แล้วว่ามีประสิทธิภาพอย่างยิ่ง เนื่องจากเป็นการใช้ประโยชน์จากฟังก์ชัน Add-in ของ Excel ที่มีความน่าเชื่อถือ เพื่อ bypass Attack Surface Reduction (ASR) rules ได้
นอกจากนี้ ชุดเครื่องมือนี้ยังมีเว็บอินเทอร์เฟซที่พัฒนาด้วยภาษา Python ที่ช่วยให้สามารถปรับแต่ง payload ได้แบบ dynamic พร้อมแสดงสถานะการ compilation ให้เห็นเป็นแบบภาพ และยังรองรับการ export ไฟล์ได้อย่างสะดวก
การอัปเดตในอนาคตจะมีการเพิ่มเทคนิค Direct และ Indirect Syscalls, เทคนิคการแทรกโค้ดรูปแบบอื่น ๆ เพิ่มเติม และวิธีการอำพรางตัวเองขณะที่ payload หยุดทำงานชั่วคราว เพื่อเพิ่มขีดความสามารถในการหลบเลี่ยงการตรวจจับให้ดียิ่งขึ้นไปอีก
การพัฒนาเหล่านี้ตอกย้ำถึงความจำเป็นอย่างยิ่งที่องค์กรต่าง ๆ จะต้องใช้กลยุทธ์การป้องกันแบบหลายชั้น (Layered Defense Strategies) และต้องอัปเดตระบบความปลอดภัยอย่างสม่ำเสมอ เพื่อรับมือกับภัยคุกคามที่มีการพัฒนาอยู่ตลอดเวลาในยุคสมัยใหม่
ที่มา : cybersecuritynews
You must be logged in to post a comment.