Stealth Falcon ล่าเหนือท้องฟ้าตะวันออกกลางด้วย Deadglyph

Stealth Falcon ล่าเหนือท้องฟ้าตะวันออกกลางด้วย Deadglyph

โหนดต้นทาง: 2899203

หลายปีที่ผ่านมา ตะวันออกกลางยังคงรักษาชื่อเสียงของตนในฐานะแหล่งอุดมสมบูรณ์สำหรับภัยคุกคามขั้นสูงแบบถาวร (APT) ท่ามกลางการตรวจสอบกิจกรรมที่น่าสงสัยเป็นประจำบนระบบของลูกค้าที่มีชื่อเสียงซึ่งบางส่วนอยู่ในภูมิภาคนี้ ESET Research บังเอิญพบกับแบ็คดอร์ที่ซับซ้อนและไม่รู้จักซึ่งเราตั้งชื่อว่า Deadglyph เราได้ชื่อมาจากสิ่งประดิษฐ์ที่พบในประตูหลัง (เช่น 0xตายB001แสดงในด้วย REF _Ref111452440 ชม ตาราง 1
) ควบคู่ไปกับการปรากฏตัวของโฮโมสัญลักษณ์ จู่โจม. เท่าที่เราทราบ นี่คือการวิเคราะห์สาธารณะครั้งแรกเกี่ยวกับแบ็คดอร์ที่ไม่มีเอกสารก่อนหน้านี้ ซึ่งใช้โดยกลุ่มที่แสดงให้เห็นถึงความซับซ้อนและความเชี่ยวชาญที่โดดเด่น จากการกำหนดเป้าหมายและหลักฐานเพิ่มเติม เราถือว่า Deadglyph เป็นกลุ่ม Stealth Falcon APT ที่มีความมั่นใจสูง

สถาปัตยกรรมของ Deadglyph นั้นไม่ธรรมดาเนื่องจากประกอบด้วย ส่วนประกอบการทำงานร่วมกัน - หนึ่งรายการเป็นไบนารี x64 ดั้งเดิม และอีกรายการหนึ่งเป็นแอสเซมบลี .NET การรวมกันนี้ถือว่าผิดปกติเนื่องจากโดยทั่วไปแล้วมัลแวร์จะใช้ภาษาการเขียนโปรแกรมเพียงภาษาเดียวสำหรับส่วนประกอบต่างๆ ความแตกต่างนี้อาจบ่งบอกถึงการพัฒนาองค์ประกอบทั้งสองแยกจากกัน ในขณะเดียวกันก็ใช้ประโยชน์จากคุณสมบัติเฉพาะของภาษาการเขียนโปรแกรมที่แตกต่างกันที่พวกเขาใช้ ภาษาที่แตกต่างกันยังสามารถนำมาใช้เพื่อขัดขวางการวิเคราะห์ได้ เนื่องจากโค้ดแบบผสมนั้นยากต่อการนำทางและแก้ไขข้อบกพร่อง

คำสั่งแบ็คดอร์แบบดั้งเดิมไม่ได้ถูกนำมาใช้ในไบนารีแบ็คดอร์ แต่จะได้รับแบบไดนามิกจากเซิร์ฟเวอร์คำสั่งและการควบคุม (C&C) ในรูปแบบของโมดูลเพิ่มเติม ประตูหลังนี้ยังมีความสามารถหลายอย่างเพื่อหลีกเลี่ยงไม่ให้ถูกตรวจพบ

ในบล็อกโพสต์นี้ เราจะเจาะลึก Deadglyph อย่างละเอียดยิ่งขึ้น และให้การวิเคราะห์ทางเทคนิคของประตูหลังนี้ วัตถุประสงค์ และส่วนประกอบเพิ่มเติมบางส่วนที่เราได้รับ เรายังนำเสนอการค้นพบของเราเกี่ยวกับ Deadglyph ที่ แล็บคอน 2023 การประชุม

ประเด็นสำคัญของบล็อกโพสต์:

  • การวิจัยของ ESET ค้นพบประตูหลังที่ซับซ้อนด้วยสถาปัตยกรรมที่ไม่ธรรมดาซึ่งเราตั้งชื่อว่า Deadglyph
  • ส่วนประกอบหลักได้รับการเข้ารหัสโดยใช้คีย์เฉพาะเครื่อง
  • คำสั่งลับๆ แบบดั้งเดิมถูกใช้งานผ่านโมดูลเพิ่มเติมที่ได้รับจากเซิร์ฟเวอร์ C&C
  • เราได้รับสามโมดูลจากหลายโมดูล ได้แก่ ผู้สร้างกระบวนการ โปรแกรมอ่านไฟล์ และผู้รวบรวมข้อมูล
  • เราถือว่า Deadglyph เป็นกลุ่ม Stealth Falcon
  • นอกจากนี้เรายังพบตัวดาวน์โหลดเชลล์โค้ดที่เกี่ยวข้อง เรายืนยันว่าอาจใช้สำหรับการติดตั้ง Deadglyph ได้

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

เดดกลิฟ รูปที่_01
รูปที่ 1 เหยื่อวิทยาของ Deadglyph; ตัวอย่างที่เกี่ยวข้องถูกอัปโหลดไปยัง VirusTotal จากกาตาร์ (สีเข้มกว่า)

Stealth Falcon (หรือที่รู้จักในชื่อ Project Raven หรือ FruityArmor) เป็นกลุ่มภัยคุกคามที่เชื่อมโยงกับสหรัฐอาหรับเอมิเรตส์ ตาม MITER. Stealth Falcon ใช้งานมาตั้งแต่ปี 2012 เป็นที่รู้จักโดยมุ่งเป้าไปที่นักเคลื่อนไหวทางการเมือง นักข่าว และผู้เห็นต่างในตะวันออกกลาง มันถูกค้นพบครั้งแรกและบรรยายโดย Lab พลเมืองซึ่งตีพิมพ์ การวิเคราะห์ ของการรณรงค์โจมตีสปายแวร์ในปี 2016

ในเดือนมกราคม 2019 สำนักข่าวรอยเตอร์เผยแพร่ รายงานการสอบสวน ใน Project Raven ซึ่งเป็นความคิดริเริ่มที่ถูกกล่าวหาว่าจ้างอดีตเจ้าหน้าที่ NSA และมุ่งเป้าไปที่เป้าหมายประเภทเดียวกันกับ Stealth Falcon จากรายงานทั้งสองฉบับนี้ที่อ้างถึงเป้าหมายและการโจมตีเดียวกัน แอมเนสตี้ อินเตอร์เนชั่นแนล ได้ข้อสรุป (แสดงใน REF _Ref144978712 ชม รูป 2
) ว่าจริงๆ แล้ว Stealth Falcon และ Project Raven เป็นกลุ่มเดียวกัน

เดดกลิฟ รูปที่ 2
รูปที่ 2 Claudio Guarnieri เชื่อมต่อ Stealth Falcon กับ Project Raven

ในเดือนกันยายน 2019 เรา งานวิจัยที่ตีพิมพ์ บนประตูหลังซึ่งเป็นของ Stealth Falcon ที่ใช้เทคนิคที่ไม่ธรรมดา พื้นหลังการบริการโอนย้ายพอสำหรับการสื่อสารของ C&C ตอนนี้เราเปิดเผยผลลัพธ์ของการวิเคราะห์เชิงลึกเกี่ยวกับสิ่งที่น่าจะเป็นส่วนเสริมใหม่ล่าสุดของชุดเครื่องมือจารกรรมของ Stealth Falcon

ประตูหลัง Deadglyph

ห่วงโซ่การบรรทุกของ Deadglyph ประกอบด้วยส่วนประกอบหลายส่วน ดังภาพประกอบ REF _Ref144978760 ชม รูป 3
. ส่วนประกอบเริ่มต้นคือตัวโหลดเชลล์โค้ดของรีจิสทรี ซึ่งโหลดเชลล์โค้ดจากรีจิสทรี ในทางกลับกัน เชลล์โค้ดที่แตกออกมานี้จะโหลดส่วน x64 ดั้งเดิมของประตูหลัง นั่นก็คือ Executor ต่อมาผู้ดำเนินการจะโหลดส่วน .NET ของประตูหลัง – Orchestrator โดยเฉพาะอย่างยิ่ง ส่วนประกอบเดียวบนดิสก์ของระบบในรูปแบบไฟล์คือส่วนประกอบเริ่มต้น ซึ่งอยู่ในรูปแบบของ Dynamic Link Library (DLL) ส่วนประกอบที่เหลือจะถูกเข้ารหัสและจัดเก็บภายในค่ารีจิสทรีไบนารี

เดดกลิฟ รูปที่_02
รูปที่ 3 ส่วนประกอบของห่วงโซ่การโหลด Deadglyph

แม้ว่าวิธีการที่แม่นยำของเวคเตอร์การประนีประนอมเริ่มต้นยังไม่ถูกกำหนด แต่ข้อสงสัยของเราก็คือส่วนประกอบของตัวติดตั้งเกี่ยวข้องกับการปรับใช้ส่วนประกอบเพิ่มเติมและสร้างความคงอยู่ภายในระบบ

ในส่วนที่เหลือของส่วนนี้ เราจะวิเคราะห์แต่ละองค์ประกอบ

ตัวโหลดเชลล์โค้ดของรีจิสทรี

องค์ประกอบเริ่มต้นของ Deadglyph คือ DLL ขนาดเล็กที่มีการส่งออกเพียงครั้งเดียวซึ่งมีชื่อว่า 1. ส่วนประกอบนี้ยังคงใช้อยู่ การสมัครรับเหตุการณ์ Windows Management Instrumentation (WMI) และทำหน้าที่เป็นตัวโหลดเชลล์โค้ดของรีจิสทรี มันถูกดำเนินการผ่านทางบรรทัดคำสั่ง rundll32 C:WINDOWSSystem32pbrtl.dll,#1.

ตัวโหลดเชลล์โค้ดของรีจิสทรีเริ่มต้นการดำเนินการโดยการถอดรหัสเส้นทางไปยังเชลล์โค้ดที่เข้ารหัสซึ่งจัดเก็บไว้ในรีจิสทรีของ Windows โดยใช้ RC4 เราสงสัยว่าเส้นทางนั้นไม่ซ้ำกันสำหรับเหยื่อแต่ละคน ในกรณีที่วิเคราะห์ที่นี่ เส้นทางรีจิสทรีคือ:

SoftwareClassesCLSID{5abc7f42-1112-5099-b082-ce8d65ba0c47}cAbRGHLg

คีย์รีจิสทรีรูทเป็นอย่างใดอย่างหนึ่ง hkl or มคอขึ้นอยู่กับว่ากระบวนการปัจจุบันกำลังทำงานด้วยสิทธิ์ระดับสูงหรือไม่ ตรรกะเดียวกันนี้สามารถพบได้ในส่วนประกอบเพิ่มเติม

ต่อจากนี้ ตัวโหลดจะได้รับคีย์ RC4 เฉพาะเครื่องโดยใช้ UUID ของระบบที่ดึงมาจาก ตารางเฟิร์มแวร์ SMBIOS แบบดิบ. เมื่อใช้คีย์นี้ ระบบจะโหลด ถอดรหัส จากนั้นเรียกใช้งานเชลล์โค้ด สิ่งสำคัญคือต้องเน้นว่าแนวทางการรับคีย์นี้ช่วยให้แน่ใจว่าการถอดรหัสที่เหมาะสมจะไม่เกิดขึ้นหากตัวโหลดถูกดำเนินการบนคอมพิวเตอร์เครื่องอื่น

สิ่งที่น่าสนใจคือตัวโหลดสามารถกำหนดค่าได้ด้วยแฟล็กในตัว .ข้อมูล เพื่อใช้คีย์ฮาร์ดโค้ดเพื่อถอดรหัสเชลล์โค้ด แทนที่จะเป็นคีย์เฉพาะเครื่อง

เราพบการโจมตีแบบโฮโมกลิฟที่เลียนแบบ Microsoft Corporation ใน ข้อมูลเวอร์ชัน ทรัพยากรของสิ่งนี้และส่วนประกอบ PE อื่นๆ วิธีการนี้ใช้อักขระ Unicode ที่แตกต่างกันซึ่งมีลักษณะคล้ายกัน แต่ในกรณีนี้ไม่เหมือนกัน กับอักขระดั้งเดิม โดยเฉพาะอักษรกรีกตัวพิมพ์ใหญ่ San (U+03FA, Ϻ) และอักษรซีริลลิกตัวเล็ก O (U+043E, о) ใน Ϻไอซีอาร์оsоฟุตคอร์ปоราตีоn.

เชลล์โค้ดของรีจิสทรี

ประกอบด้วยสองส่วน เชลล์โค้ดของรีจิสทรีประกอบด้วยรูทีนการถอดรหัสและเนื้อหาที่เข้ารหัส ขั้นแรก รูทีนการถอดรหัสจะหมุนแต่ละไบต์ของเนื้อหาที่เข้ารหัสไปทางซ้ายทีละไบต์ (ROL 0x01). ต่อจากนั้น การควบคุมจะถูกถ่ายโอนไปยังเนื้อหาที่ถอดรหัสนี้ เนื้อความที่ถูกถอดรหัสประกอบด้วยตัวโหลด PE และไฟล์ PE ซึ่งส่วนหลังคือ Executor ซึ่งแสดงถึงส่วนดั้งเดิมของประตูหลัง ตัวโหลดนี้มีหน้าที่แยกวิเคราะห์และโหลดไฟล์ PE ที่เกี่ยวข้อง

ผู้ปฏิบัติการ

Executor เป็นส่วน x64 ดั้งเดิมของประตูหลัง Deadglyph ซึ่งทำหน้าที่ดังต่อไปนี้:

  • โหลดการกำหนดค่า
  • เริ่มต้นรันไทม์. NET
  • โหลดส่วน .NET ที่ฝังไว้ของประตูหลัง (Orchestrator) และ
  • ทำหน้าที่เป็นห้องสมุดสำหรับ Orchestrator

ขั้นแรก การกำหนดค่าเริ่มต้นสองรายการที่ฝังอยู่ใน .ข้อมูล ส่วนถูกถอดรหัส AES การกำหนดค่าครอบคลุมพารามิเตอร์ต่างๆ รวมถึงคีย์เข้ารหัส การตั้งค่าความปลอดภัยและการหลีกเลี่ยง และจุดเริ่มต้นของส่วนประกอบที่ตามมา

ในระหว่างการดำเนินการครั้งแรก การกำหนดค่าเริ่มต้นทั้งสองนั้นจะถูกจัดเก็บไว้ในรีจิสทรีของ Windows จากที่ซึ่งจะถูกโหลดในการเรียกใช้ครั้งต่อๆ ไป ทำให้สามารถใช้งานการอัปเดตได้ เส้นทางรีจิสทรีสำหรับการกำหนดค่าแต่ละรายการจะถูกสร้างขึ้นด้วยรูปแบบต่อไปนี้:

{HKCU|HKLM}SoftwareClassesCLSID{ }(ค่าเริ่มต้น)

เป็น GUID ที่สร้างขึ้นซึ่งเป็นเอกลักษณ์เฉพาะสำหรับเหยื่อแต่ละราย

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

หลังจากเปิดตัว Orchestrator แล้ว Executor จะทำหน้าที่เป็นไลบรารีสนับสนุนสำหรับ Orchestrator Executor มีฟังก์ชันที่น่าสนใจมากมาย เราจะอธิบายบางส่วนไว้ในส่วนต่อไปนี้ ในบริบทของการใช้งานโดย Orchestrator และโมดูลที่โหลดเพิ่มเติม

Orchestrator

Orchestrator เป็นองค์ประกอบหลักของประตูหลัง Deadglyph ซึ่งเขียนด้วย .NET บทบาทหลักของส่วนประกอบนี้เกี่ยวข้องกับการสร้างการสื่อสารกับเซิร์ฟเวอร์ C&C และการดำเนินการคำสั่ง ซึ่งมักจะอำนวยความสะดวกผ่านบทบาทตัวกลางของผู้ดำเนินการ ตรงกันข้ามกับส่วนประกอบก่อนหน้านี้ Orchestrator มีความซับซ้อน โดยใช้ .NET Reactor ภายในประตูหลังจะเรียกว่า ตัวแทนซึ่งเป็นชื่อทั่วไปสำหรับส่วนของไคลเอ็นต์ในเฟรมเวิร์กหลังการเอารัดเอาเปรียบต่างๆ

การเขียนอักษรย่อ

ขั้นแรก Orchestrator จะโหลดการกำหนดค่าและโมดูลแบบฝังสองตัว โดยแต่ละโมดูลจะมาพร้อมกับชุดการกำหนดค่าของตัวเองจากทรัพยากร ทรัพยากรเหล่านี้ได้แก่ ยุบ บีบอัดและ AES เข้ารหัส อ้างอิงโดยรหัสที่แฮช SHA-1 ลงในชื่อทรัพยากร ภาพรวมของทรัพยากรเหล่านี้มีอยู่ใน REF _Ref111452440 ชม ตาราง 1
.

ตารางที่ 1. รีซอร์ส Orchestrator

 

ชื่อทรัพยากร

รหัส (ทศนิยม)

รหัส (ฐานสิบหก)

รายละเอียด

43ed9a3ad74ed7ab74c345a876b6be19039d4c8c

2570286865

0x99337711

การกำหนดค่าออร์เคสตรา

3a215912708eab6f56af953d748fbfc38e3bb468

3740250113

0xDEEFB001

โมดูลเครือข่าย

42fb165bc9cf614996027a9fcb261d65fd513527

3740250369

0xDEEFB101

การกำหนดค่าโมดูลเครือข่าย

e204cdcf96d9f94f9c19dbe385e635d00caaf49d

3735924737

0xDEADB001

โมดูลจับเวลา

abd2db754795272c21407efd5080c8a705a7d151

3735924993

0xDEADB101

การกำหนดค่าโมดูลตัวจับเวลา

การกำหนดค่าของ Orchestrator และโมดูลแบบฝังจะถูกจัดเก็บในรูปแบบ XML ตัวอย่างของการกำหนดค่า Orchestrator แสดงอยู่ใน REF _Ref111452611 ชม
รูป 4
.

เดดกลิฟ รูปที่_04
รูปที่ 4 การกำหนดค่า Orchestrator

คำอธิบายของรายการการกำหนดค่า Orchestrator จะแสดงอยู่ใน REF _Ref111452782 ชม ตาราง 2
.

ตารางที่ 2. รายการคอนฟิกูเรชัน Orchestrator

คีย์

รายละเอียด

k


คีย์ AES ที่ใช้สำหรับการกำหนดค่าโมดูลที่มีอยู่

a


ชื่อวิธีการเริ่มต้นโมดูลเครือข่าย

b


แฟล็กที่เกี่ยวข้องกับโมดูลเครือข่ายที่ไม่รู้จัก

c


ชื่อวิธีการเริ่มต้นโมดูลจับเวลา

d


ตั้งค่าสถานะการเปิดใช้งานคีย์ AES เฉพาะเครื่อง (UUID ระบบ) สำหรับทรัพยากร

p


ID ทรัพยากรโมดูลเครือข่าย

t


ID ทรัพยากรโมดูลตัวจับเวลา

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

เธรดการตรวจสอบสภาพแวดล้อมจะตรวจสอบกระบวนการที่ทำงานอยู่เพื่อระบุกระบวนการที่ไม่ต้องการ เธรดนี้ทำงานกับรายการชื่อกระบวนการที่แตกต่างกันสองรายการ หากตรวจพบกระบวนการในรายการแรก การสื่อสาร C&C และการดำเนินการคำสั่งจะถูกหยุดชั่วคราวจนกว่ากระบวนการที่ไม่ต้องการจะไม่มีอยู่อีกต่อไป หากกระบวนการใดๆ ในรายการที่สองตรงกัน แบ็คดอร์จะปิดและถอนการติดตั้งตัวเองทันที

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

การสื่อสาร

Orchestrator ใช้โมดูลแบบฝังสองตัวสำหรับการสื่อสาร C&C - ตัวจับเวลาและเครือข่าย เช่นเดียวกับ Orchestrator โมดูลเหล่านี้ถูกทำให้สับสนด้วย .NET Reactor การกำหนดค่าสำหรับทั้งสองโมดูลจัดทำโดย Orchestrator ภายใน Orchestrator จะมีการกำหนดค่าที่กำหนดไว้ล่วงหน้าสำหรับโมดูลรวมอยู่ด้วย นอกจากนี้ Orchestrator ยังสามารถโหลดเวอร์ชันการกำหนดค่าที่อัปเดตจากรีจิสทรีได้:

{HKCU|HKLM}SoftwareClassesCLSID{ }

ประตูหลังมีมาตรการความปลอดภัยที่น่าสนใจเกี่ยวกับการสื่อสาร หากประตูหลังไม่สามารถสร้างการสื่อสารกับเซิร์ฟเวอร์ C&C เป็นระยะเวลาเกินกว่าเกณฑ์ที่กำหนดไว้ล่วงหน้า ซึ่งกำหนดค่าไว้ภายใน Executor กลไกการถอนการติดตั้งด้วยตนเองจะถูกทริกเกอร์ เกณฑ์เวลานี้ระบุเป็นชั่วโมงและกำหนดไว้ที่หนึ่งชั่วโมงในกรณีที่ตรวจสอบ

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

โมดูลจับเวลา

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

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

โมดูลเครือข่าย

โมดูลเครือข่ายใช้การสื่อสารกับเซิร์ฟเวอร์ C&C ที่ระบุในการกำหนดค่า สามารถส่งข้อมูลไปยังเซิร์ฟเวอร์ C&C โดยใช้คำขอ HTTP(S) POST โดยเฉพาะอย่างยิ่ง มันมีกลไกหลายอย่างในการรับรายละเอียดการกำหนดค่าพร็อกซี คุณลักษณะนี้ชี้ให้เห็นถึงการมุ่งเน้นไปที่สภาพแวดล้อมที่ไม่สามารถเข้าถึงอินเทอร์เน็ตโดยตรงได้

ตัวอย่างของการกำหนดค่าแบบถอดรหัส (และสวยงาม) แสดงอยู่ใน REF _Ref144978805 ชม รูป 5
.

เดดกลิฟ รูปที่_06
รูปที่ 5. การกำหนดค่าโมดูลเครือข่าย

รายการการกำหนดค่าประกอบด้วยรายละเอียดที่เกี่ยวข้องกับการสื่อสารเครือข่าย - C&C URL, ตัวแทนผู้ใช้ HTTP และการกำหนดค่าพร็อกซี (ไม่บังคับ)

เมื่อสื่อสารกับเซิร์ฟเวอร์ C&C จะใช้โปรโตคอลไบนารีแบบกำหนดเองพร้อมเนื้อหาที่เข้ารหัสภายใต้ HTTPS

คำสั่ง

Orchestrator รับคำสั่งจากเซิร์ฟเวอร์ C&C ในรูปแบบของงาน ซึ่งอยู่ในคิวเพื่อดำเนินการ มีงานสามประเภทที่ประมวลผล:

  • งานออร์เคสตรา
  • งานของผู้ดำเนินการและ
  • อัพโหลดงาน

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

งานออเคสตรา

งาน Orchestrator ช่วยให้สามารถจัดการการกำหนดค่าโมดูลเครือข่ายและตัวจับเวลาได้ และยังช่วยยกเลิกงานที่ค้างอยู่ได้อีกด้วย ภาพรวมของงาน Orchestrator แสดงอยู่ใน REF _Ref111101783 ชม ตาราง 3
.

ตารางที่ 3. ภารกิจ Orchestrator

ชนิดภาพเขียน

รายละเอียด

0x80


ตั้งค่าการกำหนดค่าโมดูลเครือข่ายและตัวจับเวลา

0x81


รับการกำหนดค่าโมดูลเครือข่ายและตัวจับเวลา

0x82


ยกเลิกงาน

0x83


ยกเลิกงานทั้งหมด

งานของผู้ปฏิบัติงาน

งานของผู้บริหารมีความสามารถในการจัดการประตูหลังและดำเนินการโมดูลเพิ่มเติม เป็นที่น่าสังเกตว่าฟังก์ชันแบ็คดอร์แบบดั้งเดิมนั้นไม่มีอยู่ในไบนารี่โดยธรรมชาติ แต่ฟังก์ชันเหล่านี้ได้มาจากเซิร์ฟเวอร์ C&C ในรูปแบบของไฟล์ PE หรือเชลล์โค้ด ขอบเขตเต็มของศักยภาพของประตูหลังยังคงไม่ทราบแน่ชัดหากไม่มีโมดูลเพิ่มเติมเหล่านี้ ซึ่งจะช่วยปลดล็อกความสามารถที่แท้จริงของประตูหลังได้อย่างมีประสิทธิภาพ ภาพรวมของงานโมดูลแสดงอยู่ใน REF _Ref117677179 ชม ตาราง 4
ซึ่งรวมถึงรายละเอียดเกี่ยวกับโมดูลที่ระบุบางส่วน ในทำนองเดียวกัน REF _Ref117677188 ชม ตาราง 5
ให้ภาพรวมของงานการจัดการที่เกี่ยวข้องกับผู้ดำเนินการ

ตารางที่ 4. ภารกิจของผู้บริหาร – โมดูล

ชนิดภาพเขียน

รายละเอียด

0x??–0x63


ไม่ทราบ

0x64


โปรแกรมอ่านไฟล์

0x65


ไม่ทราบ

0x66


ไม่ทราบ

0x67


ไม่ทราบ

0x68


ไม่ทราบ

0x69


ผู้สร้างกระบวนการ

0x6A


ไม่ทราบ

0x6B


ไม่ทราบ

0x6C


นักรวบรวมข้อมูล

0x6D


ไม่ทราบ

0x6E


ไม่ทราบ

ตารางที่ 5. ภารกิจของผู้ดำเนินการ – การจัดการ

ชนิดภาพเขียน

รายละเอียด

0x6F-0x76

ไม่ได้ดำเนินการ

0x77

ตั้งค่าคอนฟิกูเรชันผู้ดำเนินการ

0x78

รับการกำหนดค่าผู้ดำเนินการ

0x79-0x7C

ไม่ได้ดำเนินการ

0x7D

บันทึก

0x7E

เลิก

0x7F

ถอนการติดตั้ง

คำสั่งที่ตั้งค่าคอนฟิกูเรชันของ Executor สามารถเปลี่ยน:

  • รายการกระบวนการที่ไม่ต้องการ
  • เกณฑ์เวลาของความล้มเหลวในการสื่อสารของ C&C และ
  • กำหนดเวลาสำหรับการดำเนินการโมดูลเพิ่มเติม
โมดูล

เราจัดการเพื่อรับโมดูลที่ไม่ซ้ำกันสามโมดูลจากเซิร์ฟเวอร์ C&C ซึ่งแต่ละโมดูลสอดคล้องกับประเภทงาน Executor ที่แตกต่างกัน ดังที่แสดงใน REF _Ref117677179 ชม ตาราง 4 08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F005200650066003100310037003600370037003100370039000000
. จากข้อมูลที่มีอยู่ เราประมาณการว่ามีทั้งหมดเก้าถึงสิบสี่โมดูล เนื่องจากโมดูลเป็นคำสั่งลับๆ จริงๆ จึงมีการดำเนินการพื้นฐานเพียงครั้งเดียวในการดำเนินการ จากนั้นจึงเลือกที่จะส่งคืนเอาต์พุตได้ โมดูลที่เราได้รับคือ DLL ที่มีการส่งออกที่ไม่มีชื่อหนึ่งครั้ง (ordinal 1) ซึ่งแก้ไขฟังก์ชัน API ที่จำเป็นและเรียกใช้ฟังก์ชันหลัก

เมื่อดำเนินการ โมดูลจะได้รับฟังก์ชันการแก้ไข API ซึ่งสามารถแก้ไข Windows API และ Executor API แบบกำหนดเองได้ Windows API ได้รับการอ้างอิงโดยแฮช DWORD ซึ่งคำนวณจากชื่อของ API และ DLL ค่าแฮชขนาดเล็ก (<41) จะได้รับการปฏิบัติเป็นพิเศษ โดยอ้างอิงถึงฟังก์ชัน Executor API Executor API ประกอบด้วยฟังก์ชันทั้งหมด 39 ฟังก์ชันที่โมดูลสามารถเข้าถึงได้ ฟังก์ชันเหล่านี้เกี่ยวข้องกับการดำเนินการที่หลากหลาย รวมไปถึง:

  • การทำงานของไฟล์
  • การเข้ารหัสและการแฮช
  • การบีบอัด
  • กำลังโหลดพีอี
  • เข้าถึงการเลียนแบบโทเค็น และ
  • ประโยชน์

ในส่วนที่เหลือของส่วนนี้ เราจะอธิบายโมดูลที่เราได้รับ

ผู้สร้างกระบวนการ

โมดูล 0x69 ดำเนินการบรรทัดคำสั่งที่ระบุเป็นกระบวนการใหม่และจัดเตรียมเอาต์พุตผลลัพธ์กลับไปยัง Orchestrator สามารถสร้างกระบวนการได้ภายใต้ผู้ใช้รายอื่น และเวลาดำเนินการสามารถจำกัดได้ โดยเฉพาะอย่างยิ่ง เป็นเรื่องไม่ธรรมดา API งาน ใช้ในการทำงานของโมดูลนี้

โมดูลนี้ให้บริการพร้อมกับบรรทัดคำสั่ง cmd.exe /c รายการงาน /v.

เราถือว่ามันทำหน้าที่เป็นคำสั่งว่างที่ออกโดยอัตโนมัติ ในขณะที่ผู้ปฏิบัติงานรอให้สิ่งที่น่าสนใจเกิดขึ้นบนคอมพิวเตอร์ที่ถูกบุกรุก

นักรวบรวมข้อมูล

โมดูล 0x6C รวบรวมข้อมูลมากมายเกี่ยวกับคอมพิวเตอร์ผ่านการสืบค้น WMI และส่งกลับไปยัง Orchestrator ข้อมูลเกี่ยวกับสิ่งต่อไปนี้จะถูกรวบรวม:

  • ระบบปฏิบัติการ,
  • อะแดปเตอร์เครือข่าย,
  • ซอฟต์แวร์ที่ติดตั้ง
  • ไดรฟ์
  • บริการ
  • ไดรเวอร์
  • กระบวนการ
  • ผู้ใช้
  • ตัวแปรสภาพแวดล้อมและ
  • ซอฟต์แวร์รักษาความปลอดภัย
โปรแกรมอ่านไฟล์

โมดูล 0x64 อ่านไฟล์ที่ระบุและส่งเนื้อหากลับไปยัง Orchestrator อีกทางเลือกหนึ่งคือสามารถลบไฟล์หลังจากอ่านได้

เราเห็นโมดูลนี้ใช้เพื่อดึงไฟล์ข้อมูล Outlook ของเหยื่อ

ค:ผู้ใช้ AppDataLocalMicrosoftOutlookoutlook.ost.

เชนพร้อมตัวดาวน์โหลดเชลล์โค้ด

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

เดดกลิฟ รูปที่_03
รูปที่ 6 ห่วงโซ่การโหลดตัวดาวน์โหลด Shellcode

ในรูปแบบเริ่มต้น ซึ่งทำหน้าที่เป็นระยะแรก ไฟล์นี้คาดว่าจะมี .cpl (ไฟล์แผงควบคุม) และมีไว้เพื่อดำเนินการผ่านการดับเบิลคลิก เมื่อดำเนินการในลักษณะนี้ เชลล์โค้ดที่ฝังไว้จะได้รับการถอดรหัส XOR และกระบวนการที่ทำงานอยู่จะได้รับการตรวจสอบเพื่อระบุกระบวนการโฮสต์ที่เหมาะสมสำหรับการแทรกครั้งต่อไป

If avp.exe (กระบวนการรักษาความปลอดภัยปลายทางของ Kaspersky) กำลังทำงานอยู่ %windir%system32UserAccountBroker.exe ถูกนำมาใช้. มิฉะนั้น จะใช้เบราว์เซอร์เริ่มต้น จากนั้นจะสร้างกระบวนการโฮสต์ในสถานะที่ถูกระงับ แทรกเชลล์โค้ดโดยการไฮแจ็กเธรดหลัก และดำเนินการเธรดต่อ

ขั้นที่สองคือเชลล์โค้ดประกอบด้วยสองส่วน ส่วนแรกของเชลล์โค้ดแก้ไขแฮช API โดยใช้เทคนิคการคำนวณแฮชเฉพาะแบบเดียวกับที่ใช้ใน Deadglyph และถอดรหัสสตริงด้วยชื่อกระบวนการ มันเริ่มเธรดการลบตัวเองโดยมอบหมายให้เขียนทับและลบไฟล์ขั้นแรกในเวลาต่อมา ต่อไปนี้ เชลล์โค้ดจะดำเนินการตรวจสอบกระบวนการที่ใช้งานอยู่ในปัจจุบัน โดยกำหนดเป้าหมายไปที่โซลูชันความปลอดภัย

หากตรวจพบกระบวนการใด ๆ ที่ระบุเชลล์โค้ดจะสร้างเธรดสลีปเปอร์ที่มีลำดับความสำคัญต่ำสุด (THREAD_PRIORITY_IDLE) และปล่อยให้ยังคงทำงานอยู่เป็นเวลา 60 วินาทีก่อนที่จะยุติการทำงาน ช่วงเวลานี้น่าจะถูกนำมาใช้เป็นมาตรการป้องกันเพื่อหลีกเลี่ยงกลไกการตรวจจับบางอย่างที่ใช้โดยโซลูชั่นรักษาความปลอดภัย ในที่สุด เชลล์โค้ดจะดำเนินการเรียกใช้ส่วนที่สองของโค้ด

ส่วนที่สองของเชลล์โค้ดจะโหลดไฟล์ PE ที่ฝังอยู่ในขั้นตอนที่สามและเรียกการส่งออกด้วยหมายเลขลำดับ 1.

ขั้นตอนที่สาม DLL ทำหน้าที่เป็นตัวโหลด .NET และมีเพย์โหลดอยู่ในนั้น .rsrc มาตรา.

หากต้องการโหลดเพย์โหลด รันไทม์ .NET จะถูกเตรียมใช้งาน ในระหว่างการเริ่มต้น .NET จะมีการใช้เทคนิคที่น่าสนใจสองประการ ซึ่งดูเหมือนว่าจะมีจุดประสงค์เพื่อหลบเลี่ยง Windows การสแกนอินเทอร์เฟซการสแกนมัลแวร์ (AMSI):

  • ตัวโหลด. NET จะเชื่อมต่อ รับ ModuleHandleW นำเข้าในโหลด clr.dllขณะโทร ICorRuntimeHost::เริ่มต้น. เบ็ดยุ่งกับค่าส่งคืนเมื่อ รับ ModuleHandleW เรียกว่าด้วย NULL. มันจะคืนค่าตัวชี้ไปที่ PE จำลองโดยไม่มีส่วนต่างๆ
  • จากนั้นจะทำการแก้ไขอย่างละเอียด AmsiInitialize นำเข้าสตริงชื่อใน .rdata ส่วนของการโหลด clr.dll ไปยัง aMSIiทำให้เป็นข้อมูลดิจิทัล.

ขั้นตอนที่สี่คือแอสเซมบลี .NET ซึ่งสร้างความสับสนให้กับ ConfuserEx ซึ่งทำหน้าที่เป็นตัวดาวน์โหลดเชลล์โค้ด ขั้นแรก XOR ถอดรหัสการกำหนดค่าในรูปแบบ XML จากทรัพยากร มีการนำเสนอการกำหนดค่าที่แยกออกมาเวอร์ชันที่สวยงามแล้ว REF _Ref143695453 ชม รูป 7
. รายการการกำหนดค่าประกอบด้วยรายละเอียดที่เกี่ยวข้องกับการสื่อสารเครือข่ายและกระบวนการที่อยู่ในรายการบล็อก

เดดกลิฟ รูปที่_05
รูปที่ 7 การกำหนดค่าตัวดาวน์โหลด Shellcode

ก่อนที่จะดำเนินการต่อ ระบบจะตรวจสอบกระบวนการที่ทำงานอยู่กับรายการกระบวนการที่อยู่ในรายการบล็อกจากการกำหนดค่า หากตรวจพบการแข่งขัน การดำเนินการจะหยุดลง สิ่งสำคัญคือต้องทราบว่าในอินสแตนซ์ที่วิเคราะห์ ไม่ได้ตั้งค่ารายการบล็อกนี้

ถัดไป จะส่งคำขอ HTTP GET ไปยังเซิร์ฟเวอร์ C&C เพื่อดึงข้อมูลเชลล์โค้ดบางส่วน โดยใช้พารามิเตอร์ที่ระบุในการกำหนดค่า (URL, User-Agent และพร็อกซีเสริม) น่าเสียดายที่ในระหว่างการตรวจสอบของเรา เราไม่สามารถรับเชลล์โค้ดใดๆ จากเซิร์ฟเวอร์ C&C ได้ อย่างไรก็ตาม เราตั้งสมมติฐานว่าเนื้อหาที่ถูกดึงมาอาจทำหน้าที่เป็นตัวติดตั้งสำหรับ Deadglyph ได้

ต่อไปนี้ เชลล์โค้ดที่ดึงข้อมูลมาจะถูกดำเนินการภายในเธรดที่สร้างขึ้นใหม่ หลังจากรอจนกว่าเธรดเชลล์โค้ดดำเนินการเสร็จสิ้น ตัวดาวน์โหลดเชลล์โค้ดจะลบไฟล์ทั้งหมดที่อยู่ในไดเร็กทอรี % WINDIR% โปรไฟล์บริการ LocalServiceAppDataLocalTempTfsStoreTfs_DAV.

ในที่สุด มันพยายามที่จะลบตัวเองหลังจากช่วงเวลา 20 วินาที โดยใช้คำสั่งที่ตามมา ก่อนที่จะสรุปการดำเนินการและออกจากระบบ:

ตัวเลือก cmd.exe /CY /N /DY /T 20 & Del /f /q

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

สรุป

เราได้ค้นพบและวิเคราะห์ประตูหลังที่ซับซ้อนซึ่งใช้โดยกลุ่ม Stealth Falcon ซึ่งเราตั้งชื่อว่า Deadglyph มีสถาปัตยกรรมที่ไม่ธรรมดา และความสามารถของแบ็คดอร์นั้นจัดทำโดย C&C ในรูปแบบของโมดูลเพิ่มเติม เราจัดการเพื่อให้ได้มาสามโมดูลเหล่านี้ ซึ่งเผยให้เห็นเศษเสี้ยวของความสามารถทั้งหมดของ Deadglyph

โดยเฉพาะอย่างยิ่ง Deadglyph มีกลไกการตรวจจับตอบโต้มากมาย รวมถึงการตรวจสอบกระบวนการของระบบอย่างต่อเนื่องและการนำรูปแบบเครือข่ายแบบสุ่มไปใช้ นอกจากนี้ ประตูหลังยังสามารถถอนการติดตั้งตัวเองเพื่อลดโอกาสในการตรวจจับได้ในบางกรณี

นอกจากนี้ การตรวจสอบของเรายังนำเราไปสู่การค้นพบกลุ่มดาวน์โหลดเชลล์โค้ดแบบหลายขั้นตอนที่น่าสนใจบน VirusTotal เราสงสัยว่ากลุ่มดาวน์โหลดนี้น่าจะมีประโยชน์ในกระบวนการติดตั้ง Deadglyph

หากมีข้อสงสัยเกี่ยวกับงานวิจัยของเราที่เผยแพร่บน WeLiveSecurity โปรดติดต่อเราที่ Threatintel@eset.com.
ESET Research เสนอรายงานข่าวกรอง APT ส่วนตัวและฟีดข้อมูล หากต้องการสอบถามเกี่ยวกับบริการนี้ โปรดไปที่ ESET ภัยคุกคามอัจฉริยะ หน้า.

ไอโอซี

ไฟล์

SHA-1

ชื่อไฟล์

การตรวจพบ

รายละเอียด

C40F1F46D230A85F702DAA38CFA18D60481EA6C2

pbrtl.dll

Win64/Deadglyph.A

ตัวโหลด Shellcode ของรีจิสทรี

740D308565E215EB9B235CC5B720142428F540DB

N / A

Win64/Deadglyph.A

Deadglyph Backdoor – ผู้ดำเนินการ

1805568D8362A379AF09FD70D3406C6B654F189F

N / A

MSIL/Deadglyph.A

Deadglyph Backdoor – ออเคสตรา

9CB373B2643C2B7F93862D2682A0D2150C7AEC7E

N / A

MSIL/Deadglyph.A

โมดูลเครือข่ายออเคสตรา

F47CB40F6C2B303308D9D705F8CAD707B9C39FA5

N / A

MSIL/Deadglyph.A

โมดูลจับเวลาออร์เคสตรา

3D4D9C9F2A5ACEFF9E45538F5EBE723ACAF83E32

N / A

Win64/Deadglyph.A.gen

โมดูลผู้สร้างกระบวนการ

3D2ACCEA98DBDF95F0543B7C1E8A055020E74960

N / A

Win64/Deadglyph.A

โมดูลตัวอ่านไฟล์

4E3018E4FD27587BD1C566930AE24442769D16F0

N / A

Win64/Deadglyph.A

โมดูลตัวรวบรวมข้อมูล

7F728D490ED6EA64A7644049914A7F2A0E563969

N / A

Win64/Injector.MD

ขั้นตอนแรกของเชนการดาวน์โหลดเชลล์โค้ด

ใบรับรอง

หมายเลขซีเรียล

00F0FB1390F5340CD2572451D95DB1D92D

รหัสประจำตัว

DB3614DAF58D041F96A5B916281EA0DC97AA0C29

หัวเรื่อง ช.น

อาร์เอชเอ็ม จำกัด

เรื่อง อ

อาร์เอชเอ็ม จำกัด

เรื่อง L

เซนต์อัลบันส์

เรื่อง ส

Hertfordshire

เรื่อง ค

GB

อีเมลล์

rhm@rhmlimited[.]co.uk

มีผลตั้งแต่

2021-03-16 00:00:00

ใช้ได้กับ

2022-03-16 23:59:59

เซิร์ฟเวอร์ C&C

IP

โดเมน

เห็นครั้งแรก

Comment

185.25.50[.]60

chessandlinkss[.]com

2021-08-25

เซิร์ฟเวอร์ Deadglyph C&C

135.125.78[.]187

easymathpath[.]com

2021-09-11

เซิร์ฟเวอร์ Deadglyph C&C

45.14.227[.]55

joinushealth[.]com

2022-05-29

เซิร์ฟเวอร์ C&C ตัวดาวน์โหลด Shellcode

เทคนิค MITER ATT&CK

ตารางนี้ถูกสร้างขึ้นโดยใช้ 13 รุ่น ของกรอบงาน MITER ATT&CK

ชั้นเชิง

ID

Name

รายละเอียด

การพัฒนาทรัพยากร

T1583.001

รับโครงสร้างพื้นฐาน: โดเมน

Stealth Falcon ได้จดทะเบียนโดเมนสำหรับเซิร์ฟเวอร์ C&C และได้รับใบรับรองการลงนามรหัส

T1583.003

รับโครงสร้างพื้นฐาน: เซิร์ฟเวอร์ส่วนตัวเสมือน

Stealth Falcon ใช้ผู้ให้บริการโฮสติ้ง VPS สำหรับเซิร์ฟเวอร์ C&C

T1587.001

พัฒนาความสามารถ: มัลแวร์

Stealth Falcon ได้พัฒนามัลแวร์แบบกำหนดเอง รวมถึงตัวโหลดแบบกำหนดเองและประตูหลัง Deadglyph

T1588.003

รับความสามารถ: ใบรับรองการลงนามรหัส

Stealth Falcon ได้รับใบรับรองการลงนามโค้ด

การกระทำ

T1047

ของ Windows Management Instrumentation

Deadglyph ใช้ WMI เพื่อดำเนินการโหลดเชน

T1059.003

ล่ามคำสั่งและสคริปต์: Windows Command Shell

ใช้โปรแกรมดาวน์โหลด Shellcode cmd.exe เพื่อลบตัวเอง

T1106

API ดั้งเดิม

ใช้โมดูล Deadglyph สร้างกระบวนการW และ CreateProcessAsUserW ฟังก์ชัน API สำหรับการดำเนินการ

T1204.002

การดำเนินการของผู้ใช้: ไฟล์ที่เป็นอันตราย

ห่วงโซ่การดาวน์โหลด Shellcode ต้องการให้ผู้ใช้ดับเบิลคลิกและดำเนินการ

การติดตา

T1546.003

การดำเนินการที่ทริกเกอร์เหตุการณ์: การสมัครสมาชิกเหตุการณ์ Windows Management Instrumentation

ตัวโหลด Deadglyph เริ่มต้นยังคงอยู่โดยใช้การสมัครสมาชิกกิจกรรม WMI

การหลบหลีกการป้องกัน

T1027

ไฟล์หรือข้อมูลที่ทำให้สับสน

ส่วนประกอบ Deadglyph ได้รับการเข้ารหัส Deadglyph Orchestrator และโมดูลแบบฝังถูกทำให้สับสนด้วย .NET Reactor

ตัวดาวน์โหลดเชลล์โค้ดสับสนกับ ConfuserEx

T1070.004

การลบตัวบ่งชี้: การลบไฟล์

Deadglyph สามารถถอนการติดตั้งตัวเองได้

ห่วงโซ่การดาวน์โหลดเชลล์โค้ดจะลบตัวเองและลบไฟล์ในแคช WebDAV

T1112

แก้ไขรีจิสทรี

Deadglyph เก็บการกำหนดค่าและเพย์โหลดที่เข้ารหัสไว้ในรีจิสทรี

T1134

การจัดการโทเค็นการเข้าถึง

Deadglyph สามารถปลอมตัวเป็นผู้ใช้รายอื่นได้

T1140

ถอดรหัสซอร์สโค้ดที่สร้างความสับสน/ถอดรหัสไฟล์หรือข้อมูล

Deadglyph ถอดรหัสสตริงที่เข้ารหัส

ห่วงโซ่การดาวน์โหลด Shellcode ถอดรหัสส่วนประกอบและการกำหนดค่า

T1218.011

การดำเนินการพร็อกซีไบนารีของระบบ: Rundll32

ตัวโหลด Deadglyph เริ่มต้นถูกดำเนินการโดยใช้ rundll32.exe.

T1480.001

รั้วการดำเนินการ: การรักษาความปลอดภัยด้านสิ่งแวดล้อม

Deadglyph ได้รับการเข้ารหัสโดยใช้คีย์เฉพาะเครื่องที่ได้มาจาก UUID ของระบบ

T1562.001

การป้องกันที่บกพร่อง: ปิดใช้งานหรือแก้ไขเครื่องมือ

โปรแกรมดาวน์โหลดเชลล์โค้ดหลีกเลี่ยงการสแกน AMSI โดยการแพตช์ clr.dll ในความทรงจำ .

T1620

กำลังโหลดรหัสสะท้อนแสง

Deadglyph โหลดโมดูลอย่างสะท้อนกลับโดยใช้ตัวโหลด PE แบบกำหนดเอง

การค้นพบ

T1007

การค้นพบบริการระบบ

A โมดูล Deadglyph ค้นพบบริการโดยใช้แบบสอบถาม WMI เลือก * จาก Win32_Service

T1012

รีจิสทรีแบบสอบถาม

ห่วงโซ่การดาวน์โหลดเชลล์โค้ดสอบถามรีจิสทรีสำหรับเบราว์เซอร์เริ่มต้น

T1016

การค้นพบการกำหนดค่าเครือข่ายระบบ

โมดูล Deadglyph ค้นพบอะแดปเตอร์เครือข่ายโดยใช้คำสั่ง WMI เลือก * จาก Win32_NetworkAdapter และ SELECT * จาก Win32_NetworkAdapterConfiguration โดยที่ InterfaceIndex=%d.

T1033

เจ้าของระบบ/การค้นพบผู้ใช้

โมดูล Deadglyph ค้นพบผู้ใช้ที่มีการสืบค้น WMI เลือก * จาก Win32_UserAccount.

T1057

การค้นพบกระบวนการ

โมดูล Deadglyph ค้นพบกระบวนการโดยใช้แบบสอบถาม WMI เลือก * จาก Win32_Process.

T1082

การค้นพบข้อมูลระบบ

โมดูล Deadglyph จะค้นหาข้อมูลระบบ เช่น เวอร์ชันระบบปฏิบัติการ ไดรฟ์ ตัวแปรสภาพแวดล้อม และไดรเวอร์ที่ใช้คำสั่ง WMI

T1518

การค้นพบซอฟต์แวร์

โมดูล Deadglyph ค้นพบซอฟต์แวร์ที่ติดตั้งโดยใช้แบบสอบถาม WMI เลือก * จาก Win32_Product.

T1518.001

การค้นพบซอฟต์แวร์: การค้นพบซอฟต์แวร์ความปลอดภัย

โมดูล Deadglyph ค้นพบซอฟต์แวร์รักษาความปลอดภัยโดยใช้คำสั่ง WMI เลือก * จากผลิตภัณฑ์ป้องกันไวรัส, เลือก * จากผลิตภัณฑ์ป้องกันสปายแวร์ และ SELECT * จากผลิตภัณฑ์ไฟร์วอลล์.

ห่วงโซ่การดาวน์โหลดเชลล์โค้ดจะตรวจสอบกระบวนการที่ทำงานอยู่เพื่อหาโซลูชันด้านความปลอดภัย

ชุด

T1005

ข้อมูลจาก Local System

Deadglyph มีโมดูลสำหรับอ่านไฟล์

ควบคุมและสั่งการ

T1071.001

Application Layer Protocol: โปรโตคอลเว็บ

Deadglyph และตัวดาวน์โหลดเชลล์โค้ดสื่อสารกับเซิร์ฟเวอร์ C&C ผ่านโปรโตคอล HTTP

T1090

หนังสือมอบฉันทะ

Deadglyph และตัวดาวน์โหลดเชลล์โค้ดสามารถใช้พร็อกซี HTTP สำหรับการสื่อสาร C&C

T1573.001

ช่องที่เข้ารหัส: Symmetric Cryptography

Deadglyph ใช้ AES เพื่อเข้ารหัสการสื่อสาร C&C

การกรอง

T1041

การกรองผ่านช่อง C2

Deadglyph ใช้ช่อง C&C เพื่อการกรอง

ประทับเวลา:

เพิ่มเติมจาก เราอยู่การรักษาความปลอดภัย