เครื่องมือถูกใช้เพื่อแพร่กระจายไปยังคอมพิวเตอร์เครื่องอื่นในเครือข่ายของเหยื่อ
ไซแมนเทค ซึ่งเป็นแผนกหนึ่งของ 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 ที่ไม่รู้จัก ไม่พบกิจกรรมเพิ่มเติมในคอมพิวเตอร์เครื่องนี้
รูปที่ 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
การป้องกันตามเครือข่าย:
- ระบบติดไวรัส: กิจกรรมมัลแวร์ Sunburst
ตัวชี้วัดของการประนีประนอม
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 |