Ransomware ตัวใหม่ชื่อ Nemty ปรากฏบนเครือข่าย ซึ่งคาดว่าจะเป็นตัวตายตัวแทนของ GrandCrab หรือ Buran มัลแวร์ส่วนใหญ่แพร่กระจายจากเว็บไซต์ PayPal ปลอม และมีคุณสมบัติที่น่าสนใจมากมาย รายละเอียดเกี่ยวกับวิธีการทำงานของแรนซัมแวร์นี้ยังอยู่ระหว่างการปรับปรุง
มัลแวร์เรียกค่าไถ่ Nemty ตัวใหม่ถูกค้นพบโดยผู้ใช้
ข้อเท็จจริงที่น่าสนใจหลายประการเกี่ยวกับ Nemty ชี้ให้เห็นว่ามันถูกพัฒนาโดยคนกลุ่มเดียวกันหรือโดยอาชญากรไซเบอร์ที่เกี่ยวข้องกับ Buran และ GrandCrab
- เช่นเดียวกับ GandCrab เนมตีมีไข่อีสเตอร์ ซึ่งเป็นลิงก์ไปยังรูปถ่ายของประธานาธิบดีวลาดิมีร์ ปูตินแห่งรัสเซียพร้อมเรื่องตลกลามกอนาจาร แรนซั่มแวร์ GandCrab รุ่นเก่ามีรูปภาพที่มีข้อความเหมือนกัน
- สิ่งประดิษฐ์ทางภาษาของทั้งสองโปรแกรมชี้ไปที่ผู้เขียนที่พูดภาษารัสเซียคนเดียวกัน
- นี่เป็นแรนซัมแวร์ตัวแรกที่ใช้คีย์ RSA 8092 บิต แม้ว่าจะไม่มีประโยชน์ในเรื่องนี้ แต่คีย์ 1024 บิตก็เพียงพอที่จะป้องกันการแฮ็กได้
- เช่นเดียวกับ Buran แรนซัมแวร์เขียนด้วย Object Pascal และคอมไพล์ใน Borland Delphi
การวิเคราะห์แบบคงที่
การเรียกใช้โค้ดที่เป็นอันตรายเกิดขึ้นในสี่ขั้นตอน ขั้นตอนแรกคือการเรียกใช้ cashback.exe ซึ่งเป็นไฟล์ปฏิบัติการ PE32 ภายใต้ MS Windows ซึ่งมีขนาด 1198936 ไบต์ รหัสของมันเขียนด้วย Visual C++ และรวบรวมเมื่อวันที่ 14 ตุลาคม 2013 มันมีไฟล์เก็บถาวรที่จะแตกไฟล์โดยอัตโนมัติเมื่อคุณเรียกใช้ cashback.exe ซอฟต์แวร์ใช้ไลบรารี Cabinet.dll และฟังก์ชัน FDICreate(), FDIDestroy() และอื่นๆ เพื่อรับไฟล์จากไฟล์เก็บถาวร .cab
SHA-256: A127323192ABED93AED53648D03CA84DE3B5B006B641033EB46A520B7A3C16FC
หลังจากคลายไฟล์เก็บถาวรแล้วจะมีไฟล์สามไฟล์ปรากฏขึ้น
จากนั้น temp.exe จะเปิดตัว ซึ่งเป็นไฟล์ปฏิบัติการ PE32 ภายใต้ MS Windows ที่มีขนาด 307200 ไบต์ โค้ดนี้เขียนด้วย Visual C++ และบรรจุด้วย MPRESS Packer ซึ่งเป็น Packer ที่คล้ายกับ UPX
SHA-256: EBDBA4B1D1DE65A1C6B14012B674E7FA7F8C5F5A8A5A2A9C3C338F02DD726AAD
ขั้นตอนต่อไปคือ ironman.exe เมื่อเปิดตัวแล้ว temp.exe จะถอดรหัสข้อมูลที่ฝังอยู่ใน temp และเปลี่ยนชื่อเป็น ironman.exe ซึ่งเป็นไฟล์ปฏิบัติการ PE32 ขนาด 544768 ไบต์ รหัสถูกรวบรวมใน Borland Delphi
SHA-256: 2C41B93ADD9AC5080A12BF93966470F8AB3BDE003001492A10F63758867F2A88
ขั้นตอนสุดท้ายคือการรีสตาร์ทไฟล์ ironman.exe เมื่อรันไทม์ มันจะแปลงโค้ดและรันตัวเองจากหน่วยความจำ ironman.exe เวอร์ชันนี้เป็นอันตรายและมีหน้าที่รับผิดชอบในการเข้ารหัส
เวกเตอร์โจมตี
ปัจจุบัน Nemty ransomware ได้รับการเผยแพร่ผ่านเว็บไซต์ pp-back.info
สามารถดูห่วงโซ่การติดเชื้อทั้งหมดได้ที่
การติดตั้ง
Cashback.exe - จุดเริ่มต้นของการโจมตี ดังที่ได้กล่าวไปแล้ว cashback.exe จะแตกไฟล์ .cab ที่บรรจุอยู่ จากนั้นจะสร้างโฟลเดอร์ TMP4351$.TMP ในรูปแบบ %TEMP%IXxxx.TMP โดยที่ xxx คือตัวเลขตั้งแต่ 001 ถึง 999
จากนั้นจะมีการติดตั้งคีย์รีจิสทรีซึ่งมีลักษณะดังนี้:
“rundll32.exe” “C:Windowssystem32advpack.dll,DelNodeRunDLL32 “C:UsersMALWAR~1AppDataLocalTempIXPxxx.TMP”
ใช้สำหรับลบไฟล์ที่แตกไฟล์แล้ว สุดท้าย cashback.exe จะเริ่มกระบวนการ temp.exe
Temp.exe เป็นระยะที่สองในห่วงโซ่การติดไวรัส
นี่เป็นกระบวนการที่เรียกใช้โดยไฟล์ cashback.exe ซึ่งเป็นขั้นตอนที่สองของการโจมตีด้วยไวรัส มันพยายามดาวน์โหลด AutoHotKey ซึ่งเป็นเครื่องมือสำหรับการเรียกใช้สคริปต์บน Windows และเรียกใช้สคริปต์ WindowSpy.ahk ที่อยู่ในส่วนทรัพยากรของไฟล์ PE
สคริปต์ WindowSpy.ahk ถอดรหัสไฟล์ชั่วคราวใน ironman.exe โดยใช้อัลกอริทึม RC4 และรหัสผ่าน IwantAcake ได้รับคีย์จากรหัสผ่านโดยใช้อัลกอริธึมการแฮช MD5
temp.exe จะเรียกกระบวนการ ironman.exe
Ironman.exe - ขั้นตอนที่สาม
Ironman.exe อ่านเนื้อหาของไฟล์ iron.bmp และสร้างไฟล์ iron.txt พร้อมด้วย cryptolocker ที่จะเปิดตัวถัดไป
หลังจากนั้น ไวรัสจะโหลด iron.txt ลงในหน่วยความจำ และรีสตาร์ทเป็น ironman.exe หลังจากนี้ iron.txt จะถูกลบ
ironman.exe เป็นส่วนหลักของแรนซัมแวร์ NEMTY ซึ่งเข้ารหัสไฟล์บนคอมพิวเตอร์ที่ได้รับผลกระทบ มัลแวร์สร้าง mutex ที่เรียกว่าความเกลียดชัง
สิ่งแรกที่ทำคือกำหนดตำแหน่งทางภูมิศาสตร์ของคอมพิวเตอร์ Nemty เปิดเบราว์เซอร์และค้นหา IP ที่เปิดอยู่
- รัสเซีย
- ประเทศเบละรูเซีย
- ยูเครน
- คาซัคสถาน
- ทาจิกิสถาน
เป็นไปได้มากว่านักพัฒนาไม่ต้องการดึงดูดความสนใจของหน่วยงานบังคับใช้กฎหมายในประเทศที่ตนอาศัยอยู่ ดังนั้นจึงไม่เข้ารหัสไฟล์ในเขตอำนาจศาล "บ้าน" ของตน
หากที่อยู่ IP ของเหยื่อไม่อยู่ในรายการด้านบน ไวรัสจะเข้ารหัสข้อมูลของผู้ใช้
เพื่อป้องกันการกู้คืนไฟล์ Shadow Copy จะถูกลบ:
จากนั้นจะสร้างรายการไฟล์และโฟลเดอร์ที่จะไม่ได้รับการเข้ารหัส รวมถึงรายการนามสกุลไฟล์
- หน้าต่าง
- $ RECYCLE.BIN
- อาร์เอส
- NTDTECT.COM
- Ntldr
- MSDOS.SYS
- ไอโอ.ซิส
- boot.ini AUTOEXEC.BAT ntuser.dat
- Desktop.ini
- CONFIG.SYS
- BOOTSECT.BAK
- Bootmgr ซึ่ง
- ข้อมูลโปรแกรม
- appdata
- ซอฟท์
- ไฟล์ทั่วไป
log LOG CAB cab CMD cmd COM com cpl
CPL exe EXE ini INI dll DDL lnk LNK url
URL ttf TTF DECRYPT.txt NEMTY
การทำให้งงงวย
ในการซ่อน URL และข้อมูลการกำหนดค่าที่ฝังไว้ Nemty ใช้อัลกอริธึมการเข้ารหัส base64 และ RC4 พร้อมคีย์เวิร์ด fuckav
กระบวนการถอดรหัสโดยใช้ CryptStringToBinary มีดังต่อไปนี้
การเข้ารหัส
Nemty ใช้การเข้ารหัสสามชั้น:
- AES-128-CBC สำหรับไฟล์ คีย์ AES 128 บิตถูกสร้างขึ้นแบบสุ่ม และใช้คีย์เดียวกันสำหรับไฟล์ทั้งหมด มันถูกเก็บไว้ในไฟล์กำหนดค่าบนคอมพิวเตอร์ของผู้ใช้ IV ถูกสร้างขึ้นแบบสุ่มสำหรับแต่ละไฟล์และจัดเก็บไว้ในไฟล์ที่เข้ารหัส
- RSA-2048 สำหรับการเข้ารหัสไฟล์ IV คู่คีย์สำหรับเซสชันจะถูกสร้างขึ้น คีย์ส่วนตัวสำหรับเซสชันจะถูกจัดเก็บไว้ในไฟล์การกำหนดค่าบนคอมพิวเตอร์ของผู้ใช้
- อาร์เอสเอ-8192. คีย์สาธารณะหลักถูกสร้างขึ้นในโปรแกรมและใช้ในการเข้ารหัสไฟล์การกำหนดค่า ซึ่งจัดเก็บคีย์ AES และคีย์ลับสำหรับเซสชัน RSA-2048
- Nemty สร้างข้อมูลสุ่ม 32 ไบต์ก่อน 16 ไบต์แรกใช้เป็นคีย์ AES-128-CBC
อัลกอริธึมการเข้ารหัสที่สองคือ RSA-2048 คู่คีย์ถูกสร้างขึ้นโดยฟังก์ชัน CryptGenKey() และนำเข้าโดยฟังก์ชัน CryptImportKey()
เมื่อคู่คีย์สำหรับเซสชันถูกสร้างขึ้นแล้ว คีย์สาธารณะจะถูกนำเข้าไปยังผู้ให้บริการการเข้ารหัสลับ MS
ตัวอย่างของพับลิกคีย์ที่สร้างขึ้นสำหรับเซสชัน:
จากนั้นคีย์ส่วนตัวจะถูกนำเข้าไปยัง CSP
ตัวอย่างของคีย์ส่วนตัวที่สร้างขึ้นสำหรับเซสชัน:
และสุดท้ายคือ RSA-8192 คีย์สาธารณะหลักจะถูกจัดเก็บในรูปแบบที่เข้ารหัส (Base64 + RC4) ในส่วน .data ของไฟล์ PE
คีย์ RSA-8192 หลังจากการถอดรหัส base64 และการถอดรหัส RC4 ด้วยรหัสผ่าน fuckav มีลักษณะเช่นนี้
ด้วยเหตุนี้ กระบวนการเข้ารหัสทั้งหมดจึงมีลักษณะดังนี้:
- สร้างคีย์ AES 128 บิตที่จะใช้ในการเข้ารหัสไฟล์ทั้งหมด
- สร้าง IV สำหรับแต่ละไฟล์
- การสร้างคู่คีย์สำหรับเซสชัน RSA-2048
- การถอดรหัสคีย์ RSA-8192 ที่มีอยู่โดยใช้ base64 และ RC4
- เข้ารหัสเนื้อหาไฟล์โดยใช้อัลกอริทึม AES-128-CBC ตั้งแต่ขั้นตอนแรก
- การเข้ารหัส IV โดยใช้คีย์สาธารณะ RSA-2048 และการเข้ารหัส base64
- การเพิ่ม IV ที่เข้ารหัสต่อท้ายไฟล์ที่เข้ารหัสแต่ละไฟล์
- การเพิ่มคีย์ AES และคีย์ส่วนตัวของเซสชัน RSA-2048 ให้กับการกำหนดค่า
- ข้อมูลการกำหนดค่าที่อธิบายไว้ในส่วน
การรวบรวมข้อมูล เกี่ยวกับคอมพิวเตอร์ที่ติดไวรัสจะถูกเข้ารหัสโดยใช้กุญแจสาธารณะหลัก RSA-8192 - ไฟล์ที่เข้ารหัสมีลักษณะดังนี้:
ตัวอย่างไฟล์ที่เข้ารหัส:
รวบรวมข้อมูลเกี่ยวกับคอมพิวเตอร์ที่ติดไวรัส
แรนซัมแวร์รวบรวมคีย์เพื่อถอดรหัสไฟล์ที่ติดไวรัส ดังนั้นผู้โจมตีจึงสามารถสร้างตัวถอดรหัสได้จริง นอกจากนี้ Nemty ยังรวบรวมข้อมูลผู้ใช้ เช่น ชื่อผู้ใช้ ชื่อคอมพิวเตอร์ โปรไฟล์ฮาร์ดแวร์
โดยเรียกฟังก์ชัน GetLogicalDrives(), GetFreeSpace(), GetDriveType() เพื่อรวบรวมข้อมูลเกี่ยวกับไดรฟ์ของคอมพิวเตอร์ที่ติดไวรัส
ข้อมูลที่รวบรวมจะถูกจัดเก็บไว้ในไฟล์กำหนดค่า หลังจากถอดรหัสสตริงแล้ว เราได้รับรายการพารามิเตอร์ในไฟล์คอนฟิกูเรชัน:
ตัวอย่างการกำหนดค่าคอมพิวเตอร์ที่ติดไวรัส:
เทมเพลตการกำหนดค่าสามารถแสดงได้ดังนี้:
{"ทั่วไป": {"IP":"[IP]", "ประเทศ":"[ประเทศ]", "ชื่อคอมพิวเตอร์": "[ชื่อคอมพิวเตอร์]", "ชื่อผู้ใช้": "[ชื่อผู้ใช้]", "ระบบปฏิบัติการ": "[OS]", "isRU":false, "version": "1.4", "CompID: {[CompID]}", "FileID":_NEMTY_[FileID]_", "UserID":"[ ID ผู้ใช้]", "คีย์": "[คีย์]", "pr_key": "[pr_key]
Nemty จัดเก็บข้อมูลที่รวบรวมไว้ในรูปแบบ JSON ในไฟล์ %USER%/_NEMTY_.nemty FileID มีความยาว 7 ตัวอักษรและสร้างแบบสุ่ม ตัวอย่างเช่น: _NEMTY_tgdLYrd_.nemty FileID จะถูกต่อท้ายไฟล์ที่เข้ารหัสด้วย
ข้อความเรียกค่าไถ่
หลังจากเข้ารหัสไฟล์แล้ว ไฟล์ _NEMTY_[FileID]-DECRYPT.txt จะปรากฏบนเดสก์ท็อปโดยมีเนื้อหาดังต่อไปนี้:
ในตอนท้ายของไฟล์จะมีข้อมูลที่เข้ารหัสเกี่ยวกับคอมพิวเตอร์ที่ติดไวรัส
การสื่อสารผ่านเครือข่าย
กระบวนการ ironman.exe ดาวน์โหลดการแจกจ่ายเบราว์เซอร์ Tor จากที่อยู่
จากนั้น Nemty จะพยายามส่งข้อมูลการกำหนดค่าไปที่ 127.0.0.1:9050 โดยคาดว่าจะพบพร็อกซีเบราว์เซอร์ Tor ที่ใช้งานได้ อย่างไรก็ตาม ตามค่าเริ่มต้น พร็อกซีของ Tor จะรับฟังบนพอร์ต 9150 และพอร์ต 9050 จะถูกใช้โดย Tor daemon บน Linux หรือ Expert Bundle บน Windows ดังนั้นจึงไม่มีการส่งข้อมูลไปยังเซิร์ฟเวอร์ของผู้โจมตี แต่ผู้ใช้สามารถดาวน์โหลดไฟล์การกำหนดค่าได้ด้วยตนเองโดยไปที่บริการถอดรหัส Tor ผ่านลิงก์ที่ให้ไว้ในข้อความเรียกค่าไถ่
กำลังเชื่อมต่อกับพร็อกซี Tor:
HTTP GET สร้างคำขอไปที่ 127.0.0.1:9050/public/gate?data=
ที่นี่คุณสามารถดูพอร์ต TCP ที่เปิดซึ่งใช้โดยพร็อกซี TORlocal:
บริการถอดรหัส Nemty บนเครือข่าย Tor:
คุณสามารถอัปโหลดภาพถ่ายที่เข้ารหัส (jpg, png, bmp) เพื่อทดสอบบริการถอดรหัส
หลังจากนี้ผู้โจมตีขอให้จ่ายค่าไถ่ ในกรณีที่ไม่ชำระเงินราคาจะเพิ่มเป็นสองเท่า
ข้อสรุป
ในขณะนี้ ไม่สามารถถอดรหัสไฟล์ที่เข้ารหัสโดย Nemty โดยไม่ต้องจ่ายค่าไถ่ได้ แรนซัมแวร์เวอร์ชันนี้มีคุณสมบัติทั่วไปกับแรนซัมแวร์ Buran และ GandCrab ที่ล้าสมัย: การรวบรวมใน Borland Delphi และรูปภาพที่มีข้อความเดียวกัน นอกจากนี้ นี่เป็นตัวเข้ารหัสตัวแรกที่ใช้คีย์ RSA 8092 บิต ซึ่งไม่สมเหตุสมผลเลย เนื่องจากคีย์ 1024 บิตก็เพียงพอสำหรับการป้องกัน สุดท้ายนี้และน่าสนใจก็คือ มันพยายามใช้พอร์ตที่ไม่ถูกต้องสำหรับบริการพร็อกซี Tor ในเครื่อง
อย่างไรก็ตามแนวทางแก้ไข
ที่มา: will.com