E4del та PINHOLE зловживають банерами FTP для прихованого C2
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисники зловживають привітальними банерами серверів FTP в якості мертвих точок для доставки E4del і PINHOLE malware. Використовуючи фазу автентифікації протоколу FTP, атакуючі можуть передавати команди безпосередньо в інтерпретатор на боці жертви без передачі традиційних файлів. Ця техніка забезпечує приховані ланцюги інфекцій, що не використовують файли, які можуть уникнути багатьох файлових заходів безпеки.
Розслідування
Розслідування розглядало три варіанти доставки: подавання виходу FTP в командні інтерпретатори, використання WebDAV через HTTP для виконання другого етапу та опора на завантаження на основі BITS. Дослідники виявили кластер хостів FTP, що діяли як перенаправлювачі та вузли доставки корисного навантаження. Аналіз E4del і PINHOLE також виявив техніки, такі як імітація на базі Electron, флуктуація машинного коду та прямі системні виклики, розроблені для обходу API хукінгу.
Захист
Захисникам слід приділяти увагу поведінковому виявленню замість покладання на хеші файлів, зокрема моніторити вихідні з’єднання TCP/21 із подальшим негайним виконанням командного інтерпретатора. Суворий контроль над conhost.exe, bitsadmin.exe, а також шляхами UNC на базі WebDAV може зменшити вплив. Команди безпеки також повинні моніторити підозрілі дочірні процеси, запущені ApplicationFrameHost.exe.
Відповідь
Якщо цю активність виявлено, уражені кінцеві точки слід ізолювати негайно, щоб запобігти додатковому виконанню команд або ексфільтрації даних. Реагуючі повинні провести форензіку пам’яті для ідентифікації ін’єкційного коду, особливо в законних процесах, таких як ApplicationFrameHost.exe. Журнали блоків скриптів PowerShell також мають бути переглянуті для відновлення команд, отриманих через мертву точку FTP, і визначення масштабів компрометації.
Потік Атаки
Ми все ще оновлюємо цю частину.
Виявлення
LOLBAS WScript / CScript (через process_creation)
Ймовірні точки стійкості [ASEP – Software/NTUSER Hive] (через registry_event)
Завантаження або завантаження через Powershell (через cmdline)
LOLBAS Conhost (через cmdline)
Архів було розпаковано в підозрілу директорію за допомогою Powershell (через powershell)
IOC (SourceIP) для виявлення: Мертві точки банера FTP: польовий посібник мисливця до E4del і PINHOLE
IOC (DestinationIP) для виявлення: Мертві точки банера FTP: польовий посібник мисливця до E4del і PINHOLE
Підозріле використання FTP та PowerShell з Conhost [створення процесу у Windows]
Виявити мертву точку банера FTP для віддалених троянів доступу E4del і PINHOLE [мережеве з’єднання у Windows]
Виконання моделювання
-
Наратив атаки та команди: Супротивник має на меті отримати команду через “мертву точку” FTP. Замість завантаження файлу, супротивник ініціює з’єднання з керованим FTP-сервером. Коли інтерпретатор (PowerShell) підключається, він читає банер сервера, в якому міститься закодована команда наступного етапу. Це уникає сигнатури “завантаження файлу” і покладається на саме рукостискання протоколу для доставки тригера. Ми використаємо PowerShell для спроби підключення до слухача на порту 21.
-
Сценарій тестування регресії:
# Моделювання: PowerShell намагається підключитися до служби FTP на порту 21 # Імітує поведінку 'мертвої точки' E4del/PINHOLE $TargetIP = "127.0.0.1" # В реальному тесті вказати на керованого слухача $TargetPort = 21 Write-Host "[+] Початок моделювання: підключення до мертвої точки банера FTP..." -ForegroundColor Cyan try { # Використовуємо System.Net.Sockets для виклику події мережевого з'єднання через PowerShell $client = New-Object System.Net.Sockets.TcpClient $client.Connect($TargetIP, $TargetPort) Write-Host "[!] Успіх: з'єднання встановлено. Теле-метрика має бути згенерована." -ForegroundColor Green $client.Close() } catch { Write-Host "[-] З'єднання не вдалося (очікується, якщо слухач не активний), але теле-метрика має існувати." -ForegroundColor Yellow } -
Команди для очищення:
# Очищення: переконатися, що не залишилося залишкових з'єднань або процесів Stop-Process -Name "powershell" -ErrorAction SilentlyContinue Write-Host "[+] Очищення завершено." -ForegroundColor Green