Розширення ботнету JDY сприяє швидшій експлуатації вразливостей IoT та SOHO
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Black Lotus Labs виявила відновлену активність ботнету JDY, мережі, пов’язаної з Китаєм, яка налічує понад 1,500 компрометованих SOHO та IoT пристроїв і використовується для масштабного сканування та ідентифікації. Ботнет отримує інструкції з централізованої системи командного управління, виконує цільові багатопротокольні сканування та повертає структуровану телеметрію, що допомагає операторам швидко експлуатувати нововиявлені вразливості. Його інфраструктуру приховано через Tor, тоді як для керування інфікованими пристроями використовується платформа з відкритим кодом Platypus. Діяльність зосереджена на військових цілях США та критичній інфраструктурі.
Розслідування
Розслідування прослідкувало трафік JDY до сервера з шкідливими навантаженнями за адресою 149.248.3.38, який хостив сервіс Platypus на порту 13339, і викрило дроппер на базі bash, що витягує архітектурно-специфічні двійкові файли через busybox, curl, або wget. Зразки шкідливих програм були проаналізовані для виявлення командних опцій, поведінки маяків, отримання завдань через зашифровані кінцеві точки HTTPS та адаптивних методів сканування, таких як SYM-проба сирих пакетів. Звіт також пов’язує JDY з ранішим KV-ботнетом і асоціює активність з китайською групою APT Volt Typhoon.
Пом’якшення
Рекомендовані заходи захисту включають дотримання рекомендацій NCSC Великобританії та CISA щодо протидії прихованій інфраструктурі, пов’язаній з Китаєм, посилення прошивки маршрутизаторів і IoT, регулярного перезапуску та оновлення пристроїв, а також використання SASE або подібних контрольних механізмів для зменшення зовнішньої експозиції. Команди безпеки також повинні відстежувати незвичні вихідні TLS-сесії до незнайомих IP-адрес і неочікувану активність сканування від внутрішніх крайових пристроїв.
Відповідь
Якщо активність JDY виявлена, негайно ізолюйте уражений пристрій, заблокуйте вихідний трафік до виявленої IP-адреси та порту командного управління і видаліть шкідливі двійкові файли. Вміст детекції повинен включати назву процесу auditdy та сервіс Platypus, після чого слід провести більш широке мережеве сканування для інших IoT-пристроїв з таким самим шаблоном маякування. Після цього слід оновити прошивку та застосувати патчі до всіх вразливих продуктів, включно з пристроями Fortinet, згаданими в звіті.
"graph TB %% Class definitions classDef technique fill:#c2e0ff classDef tool fill:#d9d9d9 classDef process fill:#ffeb99 %% Nodes u2013 techniques ingress_tool_transfer["<b>Техніка</b> – <b>T1105 Передача інструментів через входження</b><br/>Завантаження двійкового файлу JDY на компрометовані пристрої з використанням wget, curl або busybox."] class ingress_tool_transfer technique system_info_discovery["<b>Техніка</b> – <b>T1082 Виявлення інформації про систему</b><br/>Збір інформації про ОС, версію ядра, архітектуру ЦП, час безперервної роботи та пам’ять."] class system_info_discovery technique firmware_software_gather["<b>Техніка</b> – <b>T1592.003 Прошивка</b> та <b>T1592.002 Програмне забезпечення</b><br/>Збирання версії прошивки та деталей встановленого програмного забезпечення для обчислення унікального probe_id."] class firmware_software_gather technique sandbox_evasion["<b>Техніка</b> – <b>T1497.001 Уникнення віртуалізації/пісочниці</b><br/>Виконання перевірок середовища для уникнення виконання всередині аналізаторів."] class sandbox_evasion technique indicator_removal["<b>Техніка</b> – <b>T1070.004 Видалення файлів</b><br/>Видалення дропперів після запуску навантаження для зменшення кількості судово-експертних доказів."] class indicator_removal technique hide_infra["<b>Техніка</b> – <b>T1665 Приховання інфраструктури</b><br/>Використання прихованих веб-сервісів на основі Tor для приховання кінцевих точок командного управління."] class hide_infra technique c2_web_service["<b>Техніка</b> – <b>T1102 Веб-сервіс</b><br/>Комунікація з C2 через HTTP(S) за допомогою прихованого сервісу Tor."] class c2_web_service technique active_scanning["<b>Техніка</b> – <b>T1595.002 Активне сканування u2013 Виявлення вразливостей</b><br/>Отримання завдань високоточного сканування і виконання багатопротокольних (TCP SYN, UDP, SSL, ICMP) сканувань."] class active_scanning technique network_discovery["<b>Техніка</b> – <b>T1016.001 Виявлення з’єднань Інтернету</b><br/>Перерахування відкритих портів, захоплення банерів, сертифікатів TLS та відбитків сервісів."] class network_discovery technique data_archiving["<b>Техніка</b> – <b>T1560 Архівація зібраних даних</b><br/>Стискання результатів і їх шифрування за допомогою жорстко заданого AES-ключа."] class data_archiving technique execution_guardrails["<b>Техніка</b> – <b>T1480.001 Виконання керування</b><br/>Використання ключів, специфічних для середовища, для забезпечення виконання навантаження лише на призначених хостах."] class execution_guardrails technique exfiltration["<b>Техніка</b> – <b>T1102 Веб-сервіс (експілтрування)</b><br/>Відправка зашифрованих результатів сканування до кінцевої точки C2 ‘/data/v2/pscan’."] class exfiltration technique %% Connections showing attack flow ingress_tool_transfer –>|веде до| system_info_discovery system_info_discovery –>|надає дані для| firmware_software_gather firmware_software_gather –>|подає у| sandbox_evasion sandbox_evasion –>|дозволяє продовження до| indicator_removal indicator_removal –>|очищує артефакти до| hide_infra hide_infra –>|встановлює прихований канал для| c2_web_service c2_web_service –>|надає завдання сканування до| active_scanning active_scanning –>|генерує мережеві дані для| network_discovery network_discovery –>|виводить дані до| data_archiving data_archiving –>|застосовує| execution_guardrails execution_guardrails –>|готує навантаження для| exfiltration exfiltration –>|зберігає результати на| c2_web_service %% Styling class ingress_tool_transfer,system_info_discovery,firmware_software_gather,sandbox_evasion,indicator_removal,hide_infra,c2_web_service,active_scanning,network_discovery,data_archiving,execution_guardrails,exfiltration technique "
Хід атаки
Виявлення
Підозріла Chmod-виконання, що вказує на підозрілі каталоги (через командний рядок)
Перегляд
Віддалене завантаження / вивантаження файлів через стандартні інструменти (через командний рядок)
Перегляд
IOC (HashMd5) для виявлення: розширений IoT і SOHO ботнет JDY, який дозволяє швидку експлуатацію вразливостей
Перегляд
IOC (SourceIP) для виявлення: розширений IoT і SOHO ботнет JDY, який дозволяє швидку експлуатацію вразливостей
Перегляд
IOC (DestinationIP) для виявлення: розширений IoT і SOHO ботнет JDY, який дозволяє швидку експлуатацію вразливостей
Перегляд
Виявлення підвищеного сканування для пристроїв Fortinet після розголошення CVE-2026-35616 [Міжмережевий екран]
Перегляд
Виявлення активності JDY ботнету за допомогою відомого сервера навантаження і вузлів Tor [Мережа Windows]
Перегляд
Виявлення скрипту-дроппера JDY ботнету [Створення процесу Linux]
Перегляд
Виконання симуляції
Передумова: Телеметрія та перевірка базових параметрів повинні бути успішно пройдені.
Обґрунтування: Цей розділ детально описує точне виконання техніки противника (TTP), призначеної для активації правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати ідентифіковані TTP та мають на меті згенерувати точну телеметрію, очікувану логікою виявлення.
-
Наратив атаки та команди:
Оператор JDY хоче отримати наступне навантаження зі свого жорстко зафіксованого сервера (149.248.3.38). Щоб приховати канал C2, оператор також намагається підключитися через мережу Tor, сподіваючись, що регулярний вираз “tor” це відзначить. На компрометованому хості Windows, зловмисник запускає одноразову команду PowerShell, що відкриває сокет TCP до сервера навантаження, потім використовує виконуваний файл Tor (tor.exe) для вирішення прихованого сервісу і підключення до нього. Обидві дії генерують вихідні події міжмережевого екрану, які мають задовольнити правило Sigma. -
Сценарій регресійного тестування:
# Симуляція активності JDY ботнету – тригер для правила Sigma # ------------------------------------------------------- # 1. Пряме підключення до відомого сервера навантаження $payloadIp = "149.248.3.38" $payloadPort = 80 try { $sock = New-Object System.Net.Sockets.TcpClient($payloadIp, $payloadPort) Write-Output "Підключено до сервера навантаження JDY ($payloadIp:$payloadPort)" $sock.Close() } catch { Write-Error "Не вдалося підключитися до сервера навантаження: $_" } # 2. Підключення через Tor (симульовано через hostname, що містить 'tor') # Припускається, що tor.exe знаходиться в шляху та SOCKS3-проксі TOR слухає на 127.0.0.1:9050 $torDest = "exampletorhiddenservice.onion" $torPort = 443 $torProxy = "127.0.0.1:9050" try { $script = @" $client = New-Object System.Net.Sockets.TcpClient $client.Connect("$torDest", $torPort) "@ # На практиці це вимагає резервера, що підтримує Tor; тут ми просто випускаємо подію, що може бути зафіксована Write-Output "Спроба підключення через Tor до $torDest:$torPort через $torProxy" } catch { Write-Error "Не вдалося підключитися через Tor: $_" } # Кінець симуляції – міжмережевий екран повинен зафіксувати два вихідних спроби -
Команди очистки:
# Видалення всіх лишкових з'єднань чи тимчасових файлів Get-NetTCPConnection -RemotePort 80,443 | Where-Object { $_.RemoteAddress -eq "149.248.3.38" } | Remove-NetTCPConnection -Force # (Якщо tor.exe був запущений, зупиніть його) Stop-Process -Name "tor" -ErrorAction SilentlyContinue