Mustang Panda เจ้าเก่า อวดเทคนิค DLL-Sideloading แบบใหม่เพื่อฝังมัลแวร์ลงระบบอย่างแนบเนียน
ชื่อ Mustang Panda อาจจะเป็นชื่อกลุ่มแฮกเกอร์ที่คุ้นเคยกันดีจากวีรกรรมครั้งล่าสุดในการปล่อยมัลแวร์แบบ USB Worm เพื่อเข้าโจมตีหน่วยงานราชการไทย และในครั้งนี้แฮกเกอร์กลุ่มนี้ก็ได้กลับมาอีกครั้ง กับเทคนิคการแฮกแบบใหม่ที่อาจนำไปสู่อันตรายที่ร้ายแรงในวงกว้าง
จากรายงานโดยเว็บไซต์ GB Hackers กล่าวถึงการที่ทางกลุ่มแฮกเกอร์ Mustang Panda จากประเทศจีนที่มีชื่อเสียงโด่งดังจากผลงานการแฮกที่มากมายหลากหลาย โดยได้กลับมาอีกครั้งกับการนำเอาเทคนิค DLL Sideloading ซึ่งเป็นเทคนิคในการลอบดาวน์โหลดไฟล์ DLL เพื่อฝังมัลแวร์ลงบนระบบของเหยื่อ โดยการใช้เทคนิคใหม่ดังกล่าวนั้นถูกตรวจพบโดยทีมวิจัย X-Force ซึ่งเป็นหน่วยงานย่อยที่เชี่ยวชาญด้านการตรวจหาภัยไซเบอร์ของทาง IBM บริษัทด้านคอมพิวเตอร์ยักษ์ใหญ่เก่าแก่ ซึ่งทางทีมวิจัยได้ระบุว่า ทางทีมตรวจพบช่วงเดือนมิถุนายนที่ผ่านมา โดยการใช้วิธีการโจมตีแบบดังกล่าวนั้นพุ่งเป้าไปยังกลุ่มเป้าหมายที่มีส่วนเกี่ยวข้องทางการเมืองกับทางธิเบตเป็นหลัก
แต่ที่สำคัญไปกว่านั้นคือ ในเชิงด้านการทำงานของเทคนิคใหม่นี้ที่ทางทีมวิจัยระบุว่า ทำให้ตัวมัลแวร์สามารถตีรวนระบบของเหยื่อ (Obfuscation) ทำให้ฝ่าระบบรักษาความปลอดภัย (Bypass) ทั้งยังสามารถคงตัวอยู่ได้บนระบบ (Persistence) ได้อย่างแนบเนียนกว่าที่ผ่านมา ซึ่งการหลอกลวงให้สับสนนั้นได้เริ่มต้นตั้งแต่ขั้นตอนแรกในการหลอกลวงเหยื่อด้วยการส่งไฟล์บีบอัดในรูปแบบนามสกุล .Zip ให้กับเหยื่อ (แหล่งข่าวไม่ได้ระบุว่าใช้วิธีการใดส่งให้เหยื่อ ทำให้คาดการณ์ได้ว่า อาจจะใช้การส่งด้วยการหลอกลวงเหยื่อผ่านทางช่องทางติดต่อต่าง ๆ ในรูปแบบ Phishing) ซึ่งหลังจากคลายไฟล์ออกมาก็จะพบไฟล์สำหรับรัน (Executable File) ที่มีชื่อว่า Voice for the Voiceless Photos.exe โดยชื่อไฟล์นั้นตั้งชื่อคล้ายกับหนังสือชื่อเดียวกันที่เขียนโดยทะไลลามะ
แต่สิ่งที่นอกเหนือจากไฟล์สำหรับรันดังกล่าวที่หลอกลวงให้เหยื่อกดรันผ่านการตั้งชื่อแล้ว ภายในไฟล์ Zip ดังกล่าวยังมีการซ่อนเร้นไฟล์ .DLL ซึ่งเป็นไฟล์สำคัญตัวหนึ่งของมัลแวร์ที่มีชื่อว่า libjyy.dll ซึ่งไฟล์ดังกล่าวนั้นสามารถซ่อนเร้นโดยที่เหยื่อไม่ทราบว่ามีไฟล์ดังกล่าวอยู่ เนื่องมาจากตัวไฟล์ได้ถูกเพิ่ม Attributions ที่เกี่ยวข้องกับการซ่อนตัวไฟล์ผ่านทางการใช้งาน –arhs– เพื่อรวม Attributions เหล่านี้เข้าด้วยกัน นั่นคือ
- a (Archive): ไฟล์ที่ใช้ Attribution ตัวนี้จะเป็นการระบุว่าเป็นไฟล์สำรอง (Backup)
- r (Read-only): ใช้เพื่อป้องกันการแก้ไข
- h (Hidden): ใช้ในการปิดบังไฟล์ ป้องกันการถูกมองเห็นเมื่อใช้งาน Windows Explorer
- s (System File): การใช้งานตัวนี้จะทำให้มองไม่เห็นไฟล์ถึงมาจะมีการทำการเปิดใช้งาน “Show hidden files” เปิดมองไฟล์ที่ซ่อนอยู่ เนื่องจากตัว Windows เข้าใจว่าไฟล์ดังกล่าวเกี่ยวข้องกับการทำงานของระบบ (System)
ด้วยการซ่อนไฟล์อย่างชาญฉลาดดังกล่าวนี้ ทำให้การที่เหยื่อจะมองเห็นไฟล์ดังกล่าว จำเป็นต้องทำการเปิดใช้งานฟีเจอร์ที่มักถูกมองข้ามโดยผู้ใช้งานทั่วไปอย่าง “Hide protected operating system files” ขึ้นมาใช้งานเท่านั้น
ทางทีมวิจัยยังได้ทำการวิเคราะห์ส่วนของไฟล์ .Exe ดังกล่าวได้พบว่าในส่วนของข้อมูลบริษัทผู้พัฒนา หรือผู้ถือลิขสิทธิ์ของไฟล์นั้นมีการแอบอ้างว่าเป็นบริษัทชื่อ “Hefei Nora Network Technology Co., Ltd.” และในส่วนของชื่อผลิตภัณฑ์ (Product Name) ซึ่งตามปกติจะเป็นการระบุชื่อของซอฟต์แวร์นั้นก็ระบุว่าเป็น “FFWallpaper Widgets Jyy.” โดยก็แน่นอนว่าหลังจากตรวจสอบแล้ว ชื่อบริษัทดังกล่าวนั้นไม่ได้มีอยู่จริงแต่อย่างใด และชื่อซอฟต์แวร์ดังกล่าวก็ไม่ใช่ของจริงเช่นเดียวกัน โดยพฤติการณ์ดังกล่าวนั้นคล้ายคลึงกับแคมเปญของมัลแวร์ตัวอื่น ๆ ที่มีความเกี่ยวข้องกับแฮกเกอร์จากจีนเป็นอย่างมาก เพราะแคมเปญเหล่านั้นก็มักจะนิยมแอบอ้างชื่อบริษัทที่ไม่มีอยู่จริงเช่นกัน
ซึ่งไฟล์ Exe ตัวดังกล่าวนั้นจะทำหน้าที่เป็นมัลแวร์นกต่อ (Loader) ชื่อว่า Claimloader ที่มีจุดประสงค์ในการใช้งานอย่างเดียวคือ ทำงานร่วมกับไฟล์ libjyy.dll (ซึ่งไฟล์นี้ได้แอบอ้างว่าเป็นไฟล์ซอฟต์แวร์จากเว็บไซต์ Wargaming.net Game Center ที่มีอยู่จริง เพื่อหลบเลี่ยงการถูกสงสัย) โดยตัว Loader จะทำการโหลดไฟล์ DLL ดังกล่าวด้วยการใช้งานฟังก์ชัน ProcessMain บน LoadLibraryW API ซึ่งมัลแวร์ Loader ตัวนี้เรียกได้ว่า สามารถทำงานได้หลายอย่างไม่ว่าจะเป็น การถอดรหัสไฟล์มัลแวร์ (Decryption), การทำการยืนยัน (Verifying) Arguement, การสร้างความคงทนในระบบ (Persistence), และสำคัญสุดคือการฝังมัลแวร์ (Payload) ลงบนระบบ โดยมัลแวร์ตัวนี้จะถูกเข้ารหัสในด้วยการเข้ารหัสแบบ XOR อย่างง่าย ๆ ด้วยการใช้กุญแจแบบไบต์เดียว(Single-Byte Key) คือ 0x19 เพื่อปิดบังค่าสตริงและการใช้งาน API Call หลบเลี่ยงการถูกตรวจจับด้วยเครื่องมือตรวจจับมัลแวร์ด้วยค่าคงที่ (Static Analysis)
นอกจากนั้นแล้ว มัลแวร์ตัวนี้ยังมีการตรวจ Argument ในส่วนของ “ลิขสิทธิ์” (Licensing) ระหว่างการรันอีกด้วย ซึ่งถ้าตรวจไม่พบ ก็จะนำไปสู่การสร้าง Persistence แบบควบคู่ 2 ตัวบนระบบของเครื่องของเหยื่อ ซึ่งหลังจากที่ทีมวิจัยได้ใช้งานเครื่องมือวิเคราะห์มัลแวร์อย่าง Malcat เพื่อตรวจสอบมัลแวร์ Claimloader แล้วก็ได้พบว่า ตัวมัลแวร์จะคัดลอกไฟล์ .Exe และ .DLL ตัวหลอกล่อ (Decoy) ไปยังโฟลเดอร์ Adobe ปลอม ที่มีชื่อว่า **C:ProgramDataAdobeLicensingPlugin** โดยจะทำการเปลี่ยนชื่อไฟล์ทั้ง 2 จากชื่อเดิมที่กล่าวไว้ข้างต้น เป็นชื่อ WF_Adobe_licensing_helper.exe และ NewUI.dll ตามลำดับ หลังจากนั้นตัวมัลแวร์ก็จะทำการแก้ Registry ในส่วนของ SoftwareMicrosoftWindowsCurrentVersionRun key เพื่อสร้างความมั่นใจว่าการตรวจสอบ Argument ในส่วนของ Licensing จะถูกต้อง อันจะนำไปสู่การรันไฟล์มัลแวร์จากโฟลเดอร์ที่วางไฟล์ทั้ง 2 เอาไว้
ภาพจาก : https://gbhackers.com/mustang-panda/
การสร้าง Persistence ยังไม่จบเพียงเท่านี้ ตัวมัลแวร์ยังได้ทำการตั้งเวลาการทำงาน (Task Scheduling) ผ่านทางเครื่องมืออย่าง Task Scheduler โดยตัวมัลแวร์จะทำการถอดรหัสคำสั่งที่ได้รับ และตั้งชื่อ Task ว่า “AdobeExperienceManager” ที่จะเป็นการสั่งการให้เกิดการรันมัลแวร์ขึ้นมาใหม่ทุก 2 นาที โดยการตั้งค่าการทำงานของ Task นั้นจะเป็นไปตามนี้
Text schtasks /F /Create /TN "AdobeExperienceManager" /SC minute /MO 2 /TR "C:ProgramDataAdobeLicensingPluginWF_Adobe_licensing_helper.exe Licensing"
หลังจากที่การตรวจสอบ Argument ต่าง ๆ สิ้นสุดลง ตัวมัลแวร์ Claimloader ก็จะทำการรัน Payload ตัวหลักขึ้นมา ด้วยเริ่มจากการจับจองพื้นที่หน่วยความจำ (Memory Allocation) ด้วยการใช้คำสั่ง PAGE_EXECUTE_READWRITE ผ่านทาง VirtualAlloc แล้วจึงทำการคัดลอก Shellcode ของมัลแวร์แบบ Loader อีกตัวหนึ่งที่มีชื่อว่า Publoader ไปยังพื้นที่หน่วยความจำที่ถูกจับจองไว้ข้างต้น และแทนที่จะทำการรันโค้ดดังกล่าวโดยตรง ตัวมัลแวร์กลับใช้ฟังก์ชัน Callback ของ EnumFontsW API เพื่อเปลี่ยนให้โค้ดดังกล่าวเป็น Callback Function Pointer เพื่อหลบเลี่ยงระบบการตรวจจับ
สำหรับมัลแวร์ Publoader นั้นจะมีการใช้งาน API Hashing ด้วยอัลกอริทึม ROR13 ทำให้สามารถเลือกใช้งาน Windows API ตามความเหมาะสมได้ โดยจะนำมาใช้ในการทำ Process Environment Block (PEB) เพื่อดาวน์โหลดโมดูลที่ต้องการลงมา แล้วทำการติดต่อกับเซิร์ฟเวอร์ควบคุม (C2 หรือ Command and Control) เพื่อที่จะทำการลักลอบส่งข้อมูลระบบ (Exfiltration) กลับไปยังเซิร์ฟเวอร์ของแฮกเกอร์
จะเห็นได้ว่าการโจมตีครั้งนี้เป็นการโจมตีที่มีหลากขั้นตอน และมีการทำงานอันซับซ้อนมาก แต่กระนั้นทางแหล่งข่าวก็ไม่ได้มีการระบุว่า ท้ายสุดมัลแวร์ Loader ตัวสุดท้ายจะนำไปสู่การฝังมัลแวร์ที่มีฟังก์ชันที่ร้ายแรงกว่าตัวใดแต่อย่างใด