C0XMO: Новий варіант Gafgyt з кросплатформовим розповсюдженням
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Laboratorії FortiGuard виявили новий штам ботнету Gafgyt під назвою C0XMO, який поширюється, експлуатуючи помилку переповнення буфера в маршрутизаторах DD-WRT, відомий як CVE-2021-27137. Шкідливе програмне забезпечення використовує окремий сканер на основі Python для розширення інфекцій через різні архітектури ЦП, покладаючись також на атаки зі слабкими обліковими даними, кілька можливостей DDoS та процедури видалення конкуруючого шкідливого ПЗ. Після інфекції, вона створює стійкість через приховані файли, завдання cron і зміну профілю оболонки перед тим, як зв’язатися з сервером управління і контролю. Звіт також містить індикатори та рекомендації щодо захисту для організацій, які експлуатують відкриті IoT-пристрої.
Розслідування
Аналіз показує, що C0XMO зловживає CVE-2021-27137 в службі UPnP DD-WRT для отримання початкового доступу, потім отримує сканер Python з 217.160.125.125:15527. Цей сканер здійснює атаки грубої сили для Telnet і SSH, запускає кілька запитів на експлуатацію на основі HTTP та розгортає двійкові файли на основі архітектури залежно від цільової середовища. Стійкість підтримується через приховані файли, розміщені на таких шляхах, як /tmp, /var/tmp, /dev/shm, та у домашніх каталогах користувачів, разом із записями cron-job і редагуванням профілю оболонки. Потім шкідливе ПЗ зв’язується з інфраструктурою C2 на 85.215.131.70 з використанням користувацької процедури рукостискання.
Пом’якшення
Організації повинні оновити прошивку DD-WRT до випуску, новішого за зміни 45723 і застосувати виправлення для всіх пов’язаних CVE. Необхідно вимкнути непотрібні віддалені служби, такі як UPnP, Telnet і SSH, на пристроях, звернених до інтернету, якщо це можливо. Повинні бути забезпечені сильні, унікальні облікові дані для всіх пристроїв переднього краю, і регулярний перегляд відкритих сервісів повинен бути регулярно виконуваним. Також слід розгорнути мережні детектори для виявлених IP-адрес, портів та зловмисних командних шаблонів, пов’язаних з кампанією.
Відповідь
Захисники повинні моніторити вихідний трафік для з’єднань із відомою інфраструктурою C2 та портом для завантаження сканера. Повідомлення повинні бути налаштовані для прихованих файлів з ім’ям .sys, змін cron, які виконуються кожні 15 хвилин, та виконання сценарію сканера. Виявлені зловмисні IP та домени повинні бути заблоковані на брандмауері, а будь-які скомпрометовані пристрої повинні бути ізольовані для судово-медичного огляду та повного очищення.
Потік атак
Виявлення
Можливе використання Crontab для прямого виконання (через командний рядок)
Перегляд
Віддалене завантаження / завантаження файлів за допомогою стандартних інструментів (через командний рядок)
Перегляд
Прихований файл створено на хості Linux (через file_event)
Перегляд
IOCs (HashSha256) для виявлення: Внутрішнє крос-платформне поширення нового варіанту Gafgyt C0XMO
Перегляд
IOCs (SourceIP) для виявлення: Внутрішнє крос-платформне поширення нового варіанту Gafgyt C0XMO
Перегляд
IOCs (DestinationIP) для виявлення: Внутрішнє крос-платформне поширення нового варіанту Gafgyt C0XMO
Перегляд
Виявлення C2 зв’язку ботнету C0XMO [Брандмауер]
Перегляд
Виявлення завантаження пакету C0XMO Gafgyt Variant [Створення процесу Linux]
Перегляд
Виявлення операцій файлового шкідливого ПЗ C0XMO [Подія файлу Linux]
Перегляд
Сканування процесу C0XMO та перевірка стійкості [Створення процесу Linux]
Перегляд
Виконання симуляції
Попередня умова: Телеметрія та перевірка попередньої готовності базової лінії повинні бути пройдені.
Обґрунтування: Цей розділ детально описує точне виконання техніки противника (TTP), розроблену для ініціювання правила виявлення. Команди та наратив повинні безпосередньо відображати виявлені TTP та націлені на створення саме тієї телеметрії, яку очікує логіка виявлення.
-
Наратив атаки та команди:
Бот противника, вже встановлений на скомпрометованому хості через виконання служби (T1546.007), ініціює C2 рукостискання з сервером з жорстким кодуванням 217.160.125.125 на порті 15527. Підключення використовує простий TCP сокет для отримання команд, абсолютно відповідаючи критеріям правила. Ця активність типова для поведінки ботнету C0XMO “дзвінок додому”. -
Скрипт регресійного тесту:
# Імітація зв'язку C0XMO C2 – запускає Sigma правило $c2Ip = "217.160.125.125" $c2Port = 15527 # Відкрити TCP з'єднання, надіслати мінімальний вантаж, потім закрити $client = New-Object System.Net.Sockets.TcpClient $client.Connect($c2Ip, $c2Port) $stream = $client.GetStream() $payload = [System.Text.Encoding]::ASCII.GetBytes("PING`n") $stream.Write($payload, 0, $payload.Length) # Коротке чекання для імітації реалізму Start-Sleep -Seconds 2 $stream.Close() $client.Close() -
Команди очищення:
# Не було внесено ніяких постійних змін; просто забезпечте, що будь-які відкриті сокети закриті # (Скрипт вже закриває сокет; це захисна сітка.) Get-Process -Name "powershell" | Where-Object { $_.MainWindowTitle -eq "" } | Stop-Process -Force