Фальшиве програмне забезпечення на GitHub та SourceForge поширює Deno RAT, автор: Габріеле Оріні
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Актори загроз розповсюджують фальшиві інсталятори та плагіни для широко використовуваного програмного забезпечення через GitHub і SourceForge, щоб доставити бекдор на базі Deno, відомий як DinDoor. Шкідливе програмне забезпечення встановлює середовище виконання Deno через Scoop або WinGet, після чого запускає JavaScript RAT, здатний красти дані, виконувати віддалені команди та дозволяти потокове відео peer-to-peer. Шкідливі MSI пакети і скрипти PowerShell використовуються для початку ланцюга інфекції, тоді як трафік командного і керуючого центру передається через HTTP або WebSocket. Кампанія також зловживає скомпрометованими каналами YouTube для переміщення жертв до шкідливих репозиторіїв.
Розслідування
Дослідники реконструювали повну послідовність зараження, починаючи з curl команд, які завантажують MSI файл, потім слідують інсталяторні скрипти, які розгортають Scoop, WinGet і Deno перед виконанням JavaScript завантажувача DinDoor. Їх аналіз задокументував можливості RAT, включаючи розвідку системи, крадіжку браузера та криптовалютного гаманця, VNC через WebSocket та засноване на Edge peer-to-peer потокове відео. Команда також вилучила індикатори, такі як домени, URL-адреси, IP-адреси та артефакти командного рядка для підтримки виявлення і полювання за загрозами.
Пом’якшення
Організації повинні завантажувати програмне забезпечення тільки з офіційних вебсайтів продавця і перевіряти цифрові підписи перед запуском будь-якого інсталятора. Сек’юріті-команди повинні стежити за незвичним використанням Scoop і WinGet для встановлення Deno, а також за несподіваним розгортанням програми на базі MSI. Вихідний трафік до ідентифікованих шкідливих доменів і IP-адрес слід блокувати, а активність PowerShell чи curl активність, що завантажує та запускає файли з недовірених джерел, слід уважно перевіряти.
Відповідь
Захисники повинні сигналізувати про msiexec запуск файлів, отриманих з підозрілих URL-адрес GitHub або SourceForge, у ключах реєстру Run, що запускають deno.exe, та мережеве спілкування з відомою інфраструктурою командного і контролюючого центру. Уражені хости повинні пройти судову експертизу для виявлення скинутих скриптів, середовища виконання Deno та будь-яких механізмів збереження. Скомпрометовані системи слід негайно ізолювати, і всі несанкціоновані встановлення Deno слід видалити.
"graph TB %% Class definitions classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef operator fill:#ff9900 %% Attack steps as technique nodes step1_malicious_link["<b>Техніка</b> – <b>T1204.001 Виконання користувача: Шкідливе посилання</b><br/>Жертва клікає на шкідливе посилання на YouTube, яке перенаправляє на фальшивий проект на GitHub або SourceForge"] class step1_malicious_link technique step1_content_injection["<b>Техніка</b> – <b>T1659 Ін’єкція контенту</b><br/>Скомпрометовані канали YouTube впроваджують шкідливі URL в описи відео або коментарі"] class step1_content_injection technique step2_msiexec["<b>Техніка</b> – <b>T1218.007 Виконання системного бінарного проксі: Msiexec</b><br/>Команда завантажує MSI файл і виконує його через msiexec"] class step2_msiexec technique step3_installer_pkg["<b>Техніка</b> – <b>T1546.016 Виконання за тригером подій: Пакети встановлення</b><br/>Скрипт PowerShell використовує Scoop або WinGet для встановлення середовища виконання Deno"] class step3_installer_pkg technique step4_logon_script["<b>Техніка</b> – <b>T1037.001 Скрипти ініціалізації під час запуску або входу: Сценарій входу</b><br/>Створює ключ реєстру Run, який запускає бекдор Deno під час входу"] class step4_logon_script technique step5_reflective_load["<b>Техніка</b> – <b>T1620 Відбиване завантаження коду</b><br/>Бекдор запускає цикл evalu2011loop, який завантажує і виконує JavaScript код повністю в пам’яті"] class step5_reflective_load technique step6_c2["<b>Техніка</b> – <b>T1102 Веб-сервіс</b> та <b>T1102.002 Двостороннє спілкування</b><br/>Використовує HTTP-ендоінти та користувацький канал WebSocket VNC для командного і контролюючого спілкування"] class step6_c2 technique step7_browser_creds["<b>Техніка</b> – <b>T1555.003 Облікові дані з збережених паролів: Веб-браузери</b><br/>Крадій вилучає збережені паролі браузера"] class step7_browser_creds technique step7_input_capture["<b>Техніка</b> – <b>T1056 Захоплення введення</b><br/>Кейлогінг та захоплення форми, щоб отримати облікові дані"] class step7_input_capture technique step7_clipboard["<b>Техніка</b> – <b>T1115 Дані в буфері обміну</b><br/>Збирає вміст буфера, що може містити конфіденційні дані"] class step7_clipboard technique step8_browser_discovery["<b>Техніка</b> – <b>T1217 Виявлення інформації браузера</b><br/>Збирає файли криптовалютних гаманців, дані браузера та знімки екрану"] class step8_browser_discovery technique step9_exfil["<b>Техніка</b> – <b>T1011 Експільтрація через інше мережеве середовище</b><br/>Передає зібрані дані через ті ж канали HTTP/WebSocket"] class step9_exfil technique step10_process_injection["<b>Техніка</b> – <b>T1055.005 Ін’єкція в процес: Локальне сховище потоку</b><br/>Вводить шкідливий код до законних процесів, використовуючи TLS"] class step10_process_injection technique step11_indirect_exec["<b>Техніка</b> – <b>T1202 Непряме виконання команд</b><br/>Використовує msiexec для проксі виконання додаткових завантажень"] class step11_indirect_exec technique %% Optional tool nodes tool_msiexec["<b>Інструмент</b> – <b>Назва</b>: msiexec<br/><b>Опис</b>: Виконавчий файл встановлювача Windows, використовуваний для проксі виконання"] class tool_msiexec tool tool_powershell["<b>Інструмент</b> – <b>Назва</b>: PowerShell<br/><b>Опис</b>: Середовище скриптів, яке використовується для керування пакетами встановлення"] class tool_powershell tool tool_deno["<b>Інструмент</b> – <b>Назва</b>: Deno<br/><b>Опис</b>: Середовище виконання, яке розміщує JavaScript бекдор"] class tool_deno tool %% Connections showing the attack flow step1_malicious_link –>|призводить до| step2_msiexec step1_content_injection –>|підтримує| step2_msiexec step2_msiexec –>|використовує| tool_msiexec step2_msiexec –>|ініціює| step3_installer_pkg step3_installer_pkg –>|використовує| tool_powershell step3_installer_pkg –>|встановлює| tool_deno step3_installer_pkg –>|забезпечує можливість| step4_logon_script step4_logon_script –>|встановлює| step5_reflective_load step5_reflective_load –>|надає| step6_c2 step6_c2 –>|полегшує| step7_browser_creds step6_c2 –>|полегшує| step7_input_capture step6_c2 –>|полегшує| step7_clipboard step7_browser_creds –>|постачається в| step8_browser_discovery step7_input_capture –>|постачається в| step8_browser_discovery step7_clipboard –>|постачається в| step8_browser_discovery step8_browser_discovery –>|відправляється через| step9_exfil step9_exfil –>|використовує канал з| step6_c2 step5_reflective_load –>|забезпечує можливість| step10_process_injection step10_process_injection –>|підвищує привілеї для| step11_indirect_exec step11_indirect_exec –>|виконує| step2_msiexec class step1_malicious_link,step1_content_injection,step2_msiexec,step3_installer_pkg,step4_logon_script,step5_reflective_load,step6_c2,step7_browser_creds,step7_input_capture,step7_clipboard,step8_browser_discovery,step9_exfil,step10_process_injection,step11_indirect_exec technique class tool_msiexec,tool_powershell,tool_deno tool "
Потік атаки
Виявлення
LOLBAS Conhost (через cmdline)
Перегляд
Підозріла Команда і Керування через Незвичне Верхньорівневе Доменне Ім’я (TLD) DNS Запит (через dns)
Перегляд
IOC-и (SourceIP) для виявлення: Фальшиве програмне забезпечення на GitHub і SourceForge розповсюджує Deno RAT, автор Габріеле Оріні
Перегляд
IOC-и (DestinationIP) для виявлення: Фальшиве програмне забезпечення на GitHub і SourceForge розповсюджує Deno RAT, автор Габріеле Оріні
Перегляд
Виявлення комунікації C2 DinDoor RAT [Підключення до мережі Windows]
Перегляд
Виявлення розповсюдження Deno RAT через фальшиві інсталятори [Creation Підпроцесу Windows]
Перегляд
Виконання PowerShell із прихованим вікном і обхідною політикою виконання [PowerShell Windows]
Перегляд
Виконання симуляції
Попередня умова: Перевірка перед запуском Телеметрії та Базової Лінії повинна пройти успішно.
Обґрунтування: Цей розділ детально описує точне виконання техніки супротивника (TTP), що розроблена для запуску правила виявлення. Команди та наратив ПОВИННІ безпосередньо відображати ідентифіковані TTP та мають на меті створити точну телеметрію, очікувану логікою виявлення.
-
Нападницький сценарій і команди:
Зловмисник отримав початкову точку доступу за допомогою шкідливого сценарію CMD, доставленого в фішинговому вкладенні. Щоб зберегти прихованість, скрипт запускає PowerShell з прихованим вікном, відключає політику виконання і запускає base64-кодований завантажувальний модуль, який завантажує і виконує другий етап завантаження. Точна командний рядок збігається з трьома позначеними підрядками правила, забезпечуючи виявлення.-
Етап 1 – запуск через CMD (симульовано тестувальником):
@echo off start "" powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -EncodedCommand %payload% -
Етап 2 – завантажувальний модуль PowerShell (base64-кодований, нешкідливий для тесту):
$cmd = 'Write-Output "Malicious simulation executed"' $bytes = [System.Text.Encoding]::Unicode.GetBytes($cmd) $b64 = [Convert]::ToBase64String($bytes) echo $b64 # Вставте це значення як %payload% в пакетному файлі
-
-
Регресійний тестовий сценарій: Сценарій нижче автоматизує весь потік, генеруючи закодовану команду, запускає PowerShell із необхідним набором прапорів, а потім робить коротку паузу, щоб коректно зареєструвати подію в SIEM.
# ------------------------------------------------- # Регресійний тест – PowerShell з прихованим + обійдовим виконанням EP # ------------------------------------------------- # 1) Створіть нешкідливий завантажувальний модуль (Write‑Output) $payload = 'Write-Output "Malicious simulation executed"' # 2) Закодуйте завантажувальний модуль у base64 (кодування Unicode, якого очікує PowerShell) $bytes = [System.Text.Encoding]::Unicode.GetBytes($payload) $b64 = [Convert]::ToBase64String($bytes) # 3) Запустіть PowerShell з точним набором прапорів, потрібним правилом Sigma $psCmd = @( 'powershell.exe', '-NoProfile', '-ExecutionPolicy', 'Bypass', '-WindowStyle', 'Hidden', '-EncodedCommand', $b64 ) -join ' ' Write-Host "Виконання:`n$psCmd" Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile","-ExecutionPolicy","Bypass","-WindowStyle","Hidden","-EncodedCommand",$b64 -WindowStyle Hidden # 4) Зачекайте, поки журнали поширяться (відрегулюйте за потреби) Start-Sleep -Seconds 10 Write-Host "Симуляцію завершено – перевірте SIEM для виявлення." -
Команди очистки: Видаліть будь-які тимчасові файли (жоден не створюється тут) і переконайтеся, що не залишилось жодних процесів PowerShell.
# Завершіть будь-які марні процеси PowerShell, створені тестом (крім поточної сесії) Get-Process -Name powershell | Where-Object { $_.Id -ne $PID } | Stop-Process -Force Write-Host "Очищення завершено."