New Malware

พบมัลแวร์ใหม่ในการสืบสวนของ SolarWinds

เครื่องมือถูกใช้เพื่อแพร่กระจายไปยังคอมพิวเตอร์เครื่องอื่นในเครือข่ายของเหยื่อ

ไซแมนเทค ซึ่งเป็นแผนกหนึ่งของ Broadcom (NASDAQ: AVGO) ได้เปิดเผยมัลแวร์เพิ่มเติมที่ใช้ในการโจมตี SolarWinds ซึ่งใช้กับเหยื่อจำนวนหนึ่งซึ่งเป็นที่สนใจของผู้โจมตี

Raindrop (Backdoor.Raindrop) เป็นตัวโหลดที่ส่งโคบอลต์สไตรค์ Raindrop คล้ายกับเครื่องมือ Teardrop ที่บันทึกไว้แล้ว แต่มีความแตกต่างที่สำคัญระหว่างทั้งสอง ในขณะที่ Teardrop ถูกส่งโดยแบ็คดอร์ Sunburst เริ่มต้น (Backdoor.Sunburst) ดูเหมือนว่า Raindrop จะถูกใช้เพื่อกระจายไปทั่วเครือข่ายของเหยื่อ ไซแมนเทคไม่พบหลักฐานว่า Sunburst ส่งมอบ Raindrop โดยตรง แต่ปรากฏที่อื่นบนเครือข่ายที่มีคอมพิวเตอร์อย่างน้อยหนึ่งเครื่องถูกโจมตีโดย Sunburst

การโจมตีของ Raindrop

ในเหยื่อรายหนึ่ง เมื่อต้นเดือนกรกฎาคม 2020 Sunburst ได้รับการติดตั้งผ่านการอัพเดท SolarWinds Orion ตามที่ได้รับการบันทึกไว้อย่างดี คอมพิวเตอร์สองเครื่องถูกบุกรุก

วันรุ่งขึ้น Teardrop ได้รับการติดตั้งบนคอมพิวเตอร์เครื่องใดเครื่องหนึ่งเหล่านี้ พบว่าคอมพิวเตอร์เครื่องนั้นมีเครื่องมือสืบค้นไดเรกทอรีที่ใช้งานอยู่ เช่นเดียวกับรถดัมเปอร์ข้อมูลประจำตัวที่ออกแบบมาโดยเฉพาะสำหรับฐานข้อมูล SolarWinds Orion เครื่องมือดัมเปอร์ข้อมูลรับรองคล้ายกับเครื่องมือ Solarflare แบบโอเพ่นซอร์ส แต่ไม่เหมือนกับเครื่องมือ Solarflare แบบโอเพ่นซอร์ส

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

หนึ่งชั่วโมงต่อมา มัลแวร์ Raindrop ได้ติดตั้งไฟล์เพิ่มเติมชื่อ “7z.dll” เราไม่สามารถเรียกไฟล์นี้ได้ อย่างไรก็ตาม ภายในไม่กี่ชั่วโมง เวอร์ชันที่ถูกต้องของ 7zip ถูกใช้เพื่อแยกสำเนาของสิ่งที่ดูเหมือนจะเป็น Directory Services Internals (DSInternals) ลงในคอมพิวเตอร์ DSInternals เป็นเครื่องมือที่ถูกต้องตามกฎหมายซึ่งสามารถใช้ในการสืบค้นเซิร์ฟเวอร์ Active Directory และดึงข้อมูล โดยทั่วไปคือรหัสผ่าน คีย์ หรือแฮชรหัสผ่าน

เครื่องมือเพิ่มเติมที่เรียกว่า mc_store.exe ถูกติดตั้งโดยผู้โจมตีบนคอมพิวเตอร์เครื่องนี้ในภายหลัง เครื่องมือนี้เป็นแอปพลิเคชันแพ็คเกจ PyInstaller ที่ไม่รู้จัก ไม่พบกิจกรรมเพิ่มเติมในคอมพิวเตอร์เครื่องนี้

Figure 1. Example of Raindrop victim timeline

รูปที่ 1 ตัวอย่างไทม์ไลน์เหยื่อ Raindrop

ในเหยื่อรายที่ 2 ที่เห็น Raindrop loader มันถูกติดตั้งในไฟล์ชื่อ astdrvx64.dll เมื่อปลายเดือนพฤษภาคม หลายวันต่อมา ในต้นเดือนมิถุนายน คำสั่ง PowerShell ถูกดำเนินการบนคอมพิวเตอร์เครื่องนั้น โดยพยายามดำเนินการอินสแตนซ์เพิ่มเติมของ Raindrop บนคอมพิวเตอร์เพิ่มเติมในองค์กร

“Invoke-Command -ComputerName REDACTED -ScriptBlock { rundll32 c:\Packages\Plugins\Microsoft.Powershell.DSC\2.77.0.0\bin\TelemetryStatus.dll Tk_CreateItemType}”

“Invoke-WMIMethod win32_process -name create -argumentlist ‘rundll32 c:\windows\Speech_OneCore\Engines\TTS\en-US\enUS.Media.dll TkChangeEventWindow’ -ComputerName REDACTED”

ในเหยื่อรายที่ 3 ที่ Raindrop ถูกพบ อินสแตนซ์ของ Cobalt Strike ที่แตกออกมาไม่มีคำสั่ง HTTP และเซิร์ฟเวอร์ควบคุม แต่ได้รับการกำหนดค่าให้ใช้ไพพ์เครือข่ายบน SMB(\\.\pipe\protected_storage[REDACTED]).  เป็นไปได้ว่าในกรณีนี้ คอมพิวเตอร์ของเหยื่อไม่มีการเข้าถึงอินเทอร์เน็ตโดยตรง ดังนั้นคำสั่งและการควบคุมจึงถูกกำหนดเส้นทางผ่านคอมพิวเตอร์เครื่องอื่นในเครือข่ายท้องถิ่น

การวิเคราะห์ทางเทคนิคของ Raindrop

Raindrop นั้นคล้ายกับ Teardrop โดยที่มัลแวร์ทั้งสองชิ้นทำหน้าที่เป็นตัวโหลดสำหรับ Cobalt Strike Beacon Raindrop ใช้เครื่องแพ็คแบบกำหนดเองเพื่อบรรจุ Cobalt Strike เครื่องบรรจุหีบห่อนี้แตกต่างจากเครื่องที่ใช้โดย Teardrop

Raindrop ถูกคอมไพล์เป็น DLL ซึ่งสร้างจากซอร์สโค้ด 7-Zip เวอร์ชันดัดแปลง ไม่ได้ใช้รหัส 7-Zip และออกแบบมาเพื่อซ่อนฟังก์ชันที่เป็นอันตรายที่ผู้โจมตีเพิ่มเข้ามา DLL ถูกคอมไพล์โดยที่ไฟล์ Name ของ Export Directory Table คือ “”7-zip.dll” และ Export Names คือ:

  • DllCanUnloadNow
  • DllGetClassObject
  • DllRegisterServer
  • DllUnregisterServer

และหนึ่งในรายการต่อไปนี้ สุ่มเลือก:

  • Tk_DistanceToTextLayout
  • Tk_GetScrollInfoObj
  • Tk_MainLoop
  • XGetGeometry

ชื่อการส่งออกที่ใช้ดูเหมือนจะทับซ้อนกับชื่อที่ใช้โดยโครงการ Tcl/Tk (ดูที่นี่และที่นี่)

เครื่องแพ็คแบบกำหนดเอง

เมื่อใดก็ตามที่โหลด DLL จะเริ่มเธรดใหม่จากรูทีนย่อย DllMain ที่รันโค้ดที่เป็นอันตราย เธรดที่เป็นอันตรายนี้ดำเนินการดังต่อไปนี้:

  • ดำเนินการคำนวณบางอย่างเพื่อชะลอการดำเนินการ สิ่งนี้ไม่ส่งผลต่อการทำงาน
  • ค้นหาจุดเริ่มต้นของเพย์โหลดที่เข้ารหัสซึ่งฝังอยู่ภายในรหัสเครื่อง 7-Zip ที่ถูกต้อง

เพื่อระบุตำแหน่งเริ่มต้นของเพย์โหลดที่เข้ารหัส ผู้บรรจุหีบห่อใช้ steganography โดยการสแกนไบต์ที่เริ่มต้นจากจุดเริ่มต้นของรูทีนย่อยและข้ามไบต์ใดๆ จนกว่าจะมีการเกิดครั้งแรกของไบต์ต่อไปนี้ที่แสดงโค้ดการดำเนินการ (opcodes) ที่น่าสนใจ:

.data:0000000180053008 opcodes         db 5, 0Dh, 15h, 1Dh, 25h, 2Dh, 35h, 3Dh, 0B8h

มัลแวร์จะดำเนินการดังต่อไปนี้:

  • แยกข้อมูลเพย์โหลดที่เข้ารหัส สิ่งนี้เกี่ยวข้องกับการคัดลอกข้อมูลจากตำแหน่งที่กำหนดไว้ล่วงหน้าซึ่งเกิดขึ้นกับค่าทันทีของคำสั่งเครื่องที่เกี่ยวข้อง
  • ถอดรหัสเพย์โหลดที่แยกออกมา สิ่งนี้ใช้อัลกอริทึม AES ในโหมด CBC
  • ขยายขนาดเพย์โหลดที่ถอดรหัสแล้ว สิ่งนี้ใช้อัลกอริทึม LZMA
  • ถอดรหัสเพย์โหลดที่คลายการบีบอัด นี่เป็น XOR อย่างง่ายพร้อมคีย์ไบต์และไม่ส่งผลต่ออัตราส่วนการบีบอัด
  • ดำเนินการเพย์โหลดที่ถอดรหัสเป็นเชลล์โค้ด

การเปรียบเทียบ Raindrop และ Teardrop

แม้ว่า Raindrop จะคล้ายกับ Teardrop มาก แต่ก็มีความแตกต่างที่สำคัญระหว่างเครื่องมือ ดังที่ได้กล่าวไว้ก่อนหน้านี้ Raindrop ใช้เครื่องแพ็คที่แตกต่างกัน เครื่องบรรจุหีบห่อแตกต่างกันในลักษณะต่อไปนี้:

TEARDROP RAINDROP
PAYLOAD FORMAT กำหนดเอง ใช้คุณสมบัติซ้ำจากรูปแบบ PE อาจเป็นไปได้ที่จะนำตัวบรรจุหีบห่อกลับมาใช้ใหม่ด้วยช่วงของเพย์โหลดต่างๆ ที่จัดให้เป็น PE DLL พร้อมการแปลงอัตโนมัติ shellcode เท่านั้น
PAYLOAD EMBEDDING Binary blob ในส่วนข้อมูล Steganography เก็บไว้ในตำแหน่งที่กำหนดไว้ล่วงหน้าภายในรหัสเครื่อง
PAYLOAD ENCRYPTION visualDecrypt รวมกับ XOR โดยใช้คีย์แบบยาว เลเยอร์ AES ก่อนคลายการบีบอัด แยกเลเยอร์ XOR โดยใช้คีย์ไบต์เดียวหลังจากคลายการบีบอัด
PAYLOAD COMPRESSION ไม่มี. LZMA.
OBFUSCATION การอ่านไฟล์ JPEG บล็อกโค้ดขยะที่แทรก บางอันสามารถสร้างขึ้นโดยใช้เอ็นจิ้น polymorphic รหัสที่ไม่ทำงานเพื่อชะลอการดำเนินการ
EXPORT NAMES ชื่อการส่งออกแตกต่างกันไป ในบางกรณีชื่อทับซ้อนกับโครงการ Tcl/Tk ส่งออกชื่อทับซ้อนกับโครงการ Tcl/Tk
STOLEN CODE สำเนาไบต์ของรหัสเครื่องจากส่วนประกอบบุคคลที่สามที่มีอยู่ก่อน รหัสต้นฉบับถูกแจกจ่ายในรูปแบบที่คอมไพล์เท่านั้น คอมไพล์ซอร์สโค้ดของบุคคลที่สามอีกครั้ง

แม้ว่ามัลแวร์ทั้งสองตระกูลได้รับการออกแบบมาเพื่อปรับใช้ Cobalt Strike Beacon แต่การกำหนดค่า Cobalt Strike ก็มีความแตกต่างกัน จนถึงปัจจุบัน ไซแมนเทคได้ดูตัวอย่าง Raindrop สี่ตัวอย่าง ในสามกรณี Cobalt Strike ได้รับการกำหนดค่าให้ใช้ HTTPS เป็นโปรโตคอลการสื่อสาร ในครั้งที่สี่ ได้รับการกำหนดค่าให้ใช้ SMB Named Pipe เป็นโปรโตคอลการสื่อสาร

ตัวอย่าง Raindrop ทั้งสามที่ใช้การสื่อสาร HTTPS เป็นไปตามรูปแบบการกำหนดค่าที่คล้ายกันมากดังที่เห็นในตัวอย่าง Teardrop หนึ่งตัวอย่าง (b820e8a2057112d0ed73bd7995201dbed79a79e13c79d4bdad81a22f12387e07)

ความคล้ายคลึงกันที่สำคัญที่สุดถูกเน้นไว้ด้านล่าง

TEARDROP
SHA256 b820e8a2057112d0ed73bd7995201dbed79a79e13c79d4bdad81a22f12387e07
URLs https(://)infinitysoftwares(.)com/files/information_055.pdf
https(://)infinitysoftwares(.)com/wp-admin/new_file.php
POST FORM name=”uploaded_1″;filename=”33139.pdf” Content-Type: text/plain
RAINDROP
SHA256 be9dbbec6937dfe0a652c0603d4972ba354e83c06b8397d6555fd1847da36725
URLs https(://)bigtopweb(.)com/files/page_306.pdf
https(://)bigtopweb(.)com/wp-admin/admin-ajax.php
POST FORM name=”uploaded_1″;filename=”84921.pdf” Content-Type: text/plain
RAINDROP
SHA256 f2d38a29f6727f4ade62d88d8a68de0d52a0695930b8c92437a2f9e4de92e418
URLs https(://)panhardware(.)com/files/documentation_076.pdf
https(://)panhardware(.)com/wp-admin/new_file.php
POST FORM name=”uploaded_1″;filename=”18824.pdf” Content-Type: text/plain

โดเมนที่กล่าวมาทั้งหมดใช้ Registrar ทั่วไป NameSilo, LLC และยกเว้น panhardware[.]com ซึ่งปัจจุบันถูกทำให้ล่ม มีเนมเซิร์ฟเวอร์ทั่วไป:

  • ns1.dnsowl.com
  • ns2.dnsowl.com
  • ns3.dnsowl.com

ภาพที่ชัดเจนขึ้น

การค้นพบ Raindrop เป็นขั้นตอนสำคัญในการสืบสวนการโจมตีของ SolarWinds เนื่องจากจะให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับกิจกรรมหลังการประนีประนอมในองค์กรที่สนใจของผู้โจมตี ในขณะที่ใช้ Teardrop บนคอมพิวเตอร์ที่ติดไวรัส Sunburst Trojan ดั้งเดิม Raindrop ก็ปรากฏขึ้นที่อื่นในเครือข่าย โดยถูกใช้โดยผู้โจมตีเพื่อย้ายด้านข้างและปรับใช้ payloads บนคอมพิวเตอร์เครื่องอื่น

การป้องกัน/บรรเทาสาธารณภัย

เครื่องมือที่เกี่ยวข้องกับการโจมตีเหล่านี้จะถูกตรวจจับและบล็อกในเครื่องที่ใช้งานผลิตภัณฑ์ Symantec Endpoint

การป้องกันตามไฟล์:

  • Backdoor.Raindrop
  • Backdoor.Teardrop
  • Backdoor.Sunburst
  • Backdoor.Sunburst!gen1
  • Backdoor.SuperNova

การป้องกันตามเครือข่าย:

ตัวชี้วัดของการประนีประนอม

SHA256 DESCRIPTION
f2d38a29f6727f4ade62d88d8a68de0d52a0695930b8c92437a2f9e4de92e418 astdrvx64.dll & sddc.dll (Raindrop)
be9dbbec6937dfe0a652c0603d4972ba354e83c06b8397d6555fd1847da36725 bproxy.dll (Raindrop)
955609cf0b4ea38b409d523a0f675d8404fee55c458ad079b4031e02433fdbf3 cbs.dll (Raindrop)
N/A Telemetry.Settings.dll (Likely Raindrop)
N/A enUS.Media.dll (Likely Raindrop)
N/A TelemetryStatus.dll (Likely Raindrop)
240ef5b8392b8c7a5a025c36a7e5b0e03e5bb0d0d1a28703bb22e6159a4fd10e mc_store.exe (Unknown)
f2d38a29f6727f4ade62d88d8a68de0d52a0695930b8c92437a2f9e4de92e418 panhardware[.]com
955609cf0b4ea38b409d523a0f675d8404fee55c458ad079b4031e02433fdbf3 \\.\pipe\protected_storage[REDACTED]
be9dbbec6937dfe0a652c0603d4972ba354e83c06b8397d6555fd1847da36725 bigtopweb[.]com