Остерігайтеся Vorobyok: Зловмисна задверка, що кусає, команди, що ловлять
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Група APT FamousSparrow, пов’язана з Китаєм, розгорнула новий модульний бэкдор на C++ під назвою SparroWocky, замінивши свій попередній імплантат SparrowDoor. Зловмисне програмне забезпечення включає передові можливості аналітики, такі як підробка стека та відбиткове завантаження пам’яті. Поточна активність в значній мірі спрямована на урядові організації в Латинській Америці.
Розслідування
Дослідники ESET ідентифікували SparroWocky, вивчаючи його модульну архітектуру і характерні ознаки коду, зокрема, посилання на вірш Jabberwocky. Розслідування виявило схему завантажувача з трьох зубців, яка спирається на бічне завантаження DLL і спеціальний формат навантаження, розшифрований за допомогою RC4. Аналітики також спостерігали використання бібліотек з відкритим кодом, таких як Mbed TLS та MinHook, для покращення стелс-функцій та функціональності.
Захист
Організації повинні забезпечувати суворий контроль над бічним завантаженням DLL і моніторити створення підозрілих сервісів або зміни в ключах реєстру ‘Run’. Важливим є також просунуте виявлення на кінцевих точках, здатне виявляти виконання тільки в пам’яті PE та маніпуляції зі стеком. Публічні додатки, включаючи сервери Exchange, повинні своєчасно патчитися для зменшення можливостей початкового доступу.
Відповідь
Якщо активність SparroWocky виявлена, уражені системи повинні бути негайно ізольовані, щоб запобігти боковому руху та зв’язку з командним центром. Відповідальні особи повинні виконати судову експертизу пам’яті для виявлення відбитково завантажених модулів і розслідувати захоплені шляхи виконання. Журнали аудиту також повинні бути переглянуті на предмет несанкціонованого встановлення сервісів або змін у механізмах стійкості, таких як SnapCart значення реєстру.
Потік атаки
Ми все ще оновлюємо цю частину.
Виявлення
Можливі точки захисту [ASEPs – Software/NTUSER Hive] (через registry_event)
Можлива поведінка з затримкою виконання (через cmdline)
Індикатори компрометації (HashSha1) для виявлення: Остерегайтесь SparroWock: Вебдор, що кусає, команди, що ловлять
Індикатори компрометації (SourceIP) для виявлення: Остерегайтесь SparroWock: Вебдор, що кусає, команди, що ловлять
Індикатори компрометації (DestinationIP) для виявлення: Остерегайтесь SparroWock: Вебдор, що кусає, команди, що ловлять
Виявлення відбиткового завантаження коду SparroWocky [Windows Sysmon]
SparroWocky комунікація C&C і виявлення проксі [Windows Network Connection]
Виявлення виконання SparroWocky в пам’яті [Windows Process Creation]
Виконання симуляції
-
Сценарій атаки та команди: Супротивник прагне встановити прихований канал зв’язку з сервером командування і контролю (C2). Щоб обійти прості захисні межі, зловмисник використовує проксі SOCKS5 для тунелювання трафіку, щоб трафік здавався вихідним з легітимного проксі-сервера, а не з інфікованої кінцевої точки. Ця дія має спровокувати
логіку вибору_http_proxyв правилі виявлення шляхом генерації логів, що ідентифікують протокол як SOCKS5 та дію як ‘дозволити’. -
Скрипт для тестування регресії:
# Симуляція C2 SparroWocky через SOCKS5 Proxy # Примітка: Для цього потрібен доступний проксі або емульований слухач для активації логів 'дозволити'. $ProxyServer = "127.0.0.1:1080" # Припускається наявність локального слухача/проксі для симуляції $TargetUrl = "http://example.com" Write-Host "[+] Спроба встановити з'єднання SOCKS5 проксі для симуляції C2..." # Використання PowerShell для примусового з'єднання через проксі $proxy = New-Object System.Net.WebProxy("http://$ProxyServer") $wc = New-Object System.Net.WebClient $wc.Proxy = $proxy try { $wc.DownloadString($TargetUrl) Write-Host "[+] Спроба з'єднання. Перевірте журнали брандмауера на предмет активності SOCKS5/HTTP проксі." } catch { Write-Host "[-] З'єднання не вдалося (очікувано за відсутності слухача), але телеметрія все ж має бути згенерована мережею." } -
Команди очистки:
# Зупиніть будь-які місцеві слухачі проксі, якщо вони були запущені як частина налаштування лабораторії Stop-Process -Name "nc" -ErrorAction SilentlyContinue Stop-Process -Name "python" -ErrorAction SilentlyContinue Write-Host "[+] Очистка завершена."