Від W-2 до BYOVD: Як пошук податків веде до знищення AV/EDR у режимі ядра
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Широка операція з рекламного зловмисного програмного забезпечення зловживає рекламою Google, пов’язаною з пошуками податкових форм, щоб поширювати підроблений інсталятор ScreenConnect. Цей інсталятор розгортає мультиетапний криптер, який потім завантажує утиліту BYOVD під назвою HwAudKiller. Інструмент встановлює підписаний аудіо-драйвер Huawei та використовує доступ на рівні ядра для завершення процесів AV та EDR. Після вимкнення засобів безпеки, зловмисники викачують облікові дані LSASS та збирають облікові дані по мережі за допомогою NetExec. Діяльність підкреслює, як доставка звичайного зловмисного програмного забезпечення може поєднуватися з власним драйвером ядра для отримання прихованого доступу, придушення активних засобів захисту та підтримки стійкості.
Дослідження
Дослідники Huntress відслідковували шлях перенаправлення від anukitax.com to bringetax.com і підтвердили доставку підробленого пакету MSI ScreenConnect. Запущений crypteds.exe використовує трюк виділення пам’яті в 2 ГБ для ухиляння та запускає shellcode непрямо через timeSetEvent перед завантаженням HwAudKiller. Цей завантажувач записує Havoc.sys до %TEMP% та реєструє сервіс ядра під назвою Havoc для завершення жорсткозакодованого списку процесів безпеки. Під час другої інфільтрації зловмисники отримали доступ за допомогою компроміту VPN, повторно використали той самий драйвер, розширили список вбитих процесів, включивши процеси FortiEDR, викачали LSASS, використовуючи comsvcs.dll, та перемістилися в бічному напрямку за допомогою NetExec.
Зменшення
Організації повинні блокувати або жорстко біло-спискувати реальні розгортання ScreenConnect та стежити за незнайомими іменами релейних хостів версій пробних екземплярів. Команди безпеки повинні стежити за драйверами ядра, запущеними з тимчасових шляхів, і повідомляти про події Sysmon ID 6 та активності установки Windows служби. Суворі контролі виконання повинні бути запроваджені для файлів, записаних у C:WindowsSystemTempScreenConnect і %TEMP%. Зусилля з підвищення обізнаності користувачів також повинні зміцнювати, що результати пошуку Google Ads не повинні вважатися надійними джерелами для завантаження податкового програмного забезпечення.
Реакція
Якщо виявлено підозрілий інсталятор ScreenConnect, негайно ізолюйте кінцеву точку, зберіть crypteds.exe та будь-який скинутий драйвер Havoc.sys і зупиніть сервіс Havoc. Почніть процедури скидання облікових даних для ймовірно скомпрометованих облікових записів і вилучіть відкритий доступ. Потім проскануйте ширше середовище для додаткових релейних з’єднань ScreenConnect, виконання NetExec і ознак викачки LSASS. Нарешті, документуйте та діліться знайденими IOC з внутрішніми та зовнішніми каналами розвідки про загрози.
"граф TB %% Визначення класів classDef действие заповнення:#99ccff classDef інструмент заповнення:#ffcc99 classDef зловмисне ПЗ заповнення:#ff9999 classDef процес заповнення:#ccccff classDef драйвер заповнення:#ffddaa %% Визначення вузлів initial_access["<b>Техніка</b> – T1659 Впровадження контенту<br/><b>Опис</b>: Шкідливі реклами Google перенаправляють користувачів, які шукають податкові форми, на завуальовану цільову сторінку, яка видає підроблений MSI-інсталятор ScreenConnect."] class initial_access дія інструмент_google_ads["<b>Інструмент</b> – Назва: Google Ads<br/><b>Призначення</b>: Доставка шкідливої реклами, що посилається на цільову сторінку."] class інструмент_google_ads інструмент зловмисне ПЗ_screenconnect["<b>Зловмисне ПЗ</b> – Назва: MSI ScreenConnect<br/><b>Тип</b>: Інсталятор для віддаленого доступу."] class зловмисне ПЗ_screenconnect зловмисне ПЗ user_execution["<b>Техніка</b> – T1204 Виконання користувачем<br/><b>Опис</b>: Жертва запускає завантажений form_w9.msi, встановлюючи ScreenConnect."] class user_execution дія remote_desktop["<b>Техніка</b> – T1219.002 Програмне забезпечення для віддаленого доступу<br/><b>Опис</b>: Зловмисник отримує інтерактивний віддалений контроль через скомпрометовану сесію ScreenConnect."] class remote_desktop дія obfuscation["<b>Техніка</b> – T1027 Ухилення від виявлення<br/><b>Опис</b>: Завантажувач використовує XOR зашифрований shellcode, користувацьку компресію і рефлективне завантаження."] class obfuscation дія compile_after_delivery["<b>Техніка</b> – T1027.004 Компіляція після доставки<br/><b>Опис</b>: Завантажувач компілюється після доставки, щоб уникнути статичного виявлення."] class compile_after_delivery дія reflective_loader["<b>Процес</b> – Назва: Рефлективний завантажувач<br/><b>Опис</b>: Завантажує зашифрований shellcode під час виконання."] class reflective_loader процес persistence_service["<b>Техніка</b> – T1543 Створення або модифікація системного процесу<br/><b>Опис</b>: Зловмисне ПЗ створює службу Windows, яка завантажує підписаний драйвер Huawei для запуску з правами SYSTEM."] class persistence_service дія dрайвер_havoc["<b>Драйвер</b> – Назва: Havoc.sys<br/><b>Опис</b>: Підписаний драйвер ядра Huawei, завантажений з %TEMP%."] class драйвер_havoc драйвер credential_dump["<b>Техніка</b> – T1547.008 Драйвер LSASS<br/><b>Опис</b>: Драйвер використовує comsvcs.dll через rundll32 для викачування пам’яті LSASS."] class credential_dump дія інструмент_comsvcs["<b>Інструмент</b> – Назва: comsvcs.dll<br/><b>Призначення</b>: Викликаний rundll32 для викачування LSASS."] class інструмент_comsvcs інструмент процес_rundll["<b>Процес</b> – Назва: rundll32.exe<br/><b>Опис</b>: Виконує comsvcs.dll для викачування облікових даних."] class процес_rundll процес розвідка_netscan["<b>Техніка</b> – T1018 Віддалене виявлення систем<br/><b>Опис</b>: NetScan сканує внутрішні вузли."] class розвідка_netscan дія інструмент_netscan["<b>Інструмент</b> – Назва: NetScan<br/><b>Призначення</b>: Сканування мережі для активних вузлів."] class інструмент_netscan інструмент lateral_rdp["<b>Техніка</b> – T1021.001 Віддалене обслуговування RDP<br/><b>Опис</b>: Використовуйте RDP для бічного переміщення."] class lateral_rdp дія інструмент_рдп["<b>Інструмент</b> – Назва: RDP<br/><b>Призначення</b>: Протокол віддаленого робочого стола для бічного переміщення."] class інструмент_рдп інструмент lateral_nxc["<b>Техніка</b> – T1210 Експлуатація віддалених служб<br/><b>Опис</b>: Використовуйте NetExec (nxc) для виконання команд на віддалених машинах."] class lateral_nxc дія інструмент_nxc["<b>Інструмент</b> – Назва: NetExec (nxc)<br/><b>Призначення</b>: Виконання команд через SMB або RDP."] class інструмент_nxc інструмент defense_terminate["<b>Техніка</b> – T1027 Додаткове ухилення від захисту<br/><b>Опис</b>: Драйвер ядра завершує процеси безпеки, такі як Defender, Kaspersky, SentinelOne."] class defense_terminate дія %% Зв’язки initial_access –>|використовує| інструмент_google_ads інструмент_google_ads –>|доставляє| зловмисне ПЗ_screenconnect зловмисне ПЗ_screenconnect –>|встановлено через| user_execution user_execution –>|дозволяє| віддалений_робочий_стіл віддалений_робочий_стіл –>|надає канал для| обфускації обфускація –>|використовує| компіляція_після_доставки компіляція_після_доставки –>|виконано за допомогою| відбивного_завантажувача відбивний_завантажувач –>|створено| сервіс_постійності сервіс_постійності –>|завантажує драйвер| драйвер_havoc драйвер_havoc –>|дозволяє| відкачування_облікових_даних відкачування_облікових_даних –>|використовує| інструмент_comsvcs інструмент_comsvcs –>|виконано за допомогою| процес_rundll процес_rundll –>|полегшує| розвідка_netscan розвідка_netscan –>|використовує| інструмент_netscan розвідка_netscan –>|дозволяє| lateral_rdp lateral_rdp –>|використовує| інструмент_рдп lateral_rdp –>|дозволяє| lateral_nxc lateral_nxc –>|використовує| інструмент_nxc драйвер_havoc –>|виконує| defense_terminate "
Потік атаки
Виявлення
Можлива спроба комунікації пошуку домену через IP (через DNS)
Перегляд
Можлива атака BYOVD – принеси свій уразливий драйвер (через аудит)
Перегляд
Можливе виведення/введення даних/C2 через треті сторонні сервіси/інструменти (через DNS)
Перегляд
Альтернативне ПЗ для віддаленого доступу/управління (через створення процесу)
Перегляд
Можливе викачування облікових даних за допомогою Comsvcs.dll (через командний рядок)
Перегляд
Можлива атака BYOVD – принеси свій уразливий драйвер (через події файлу)
Перегляд
Можливе перелічення системних процесів (через командний рядок)
Перегляд
Можливе зловживання Telegram в якості каналу командування і контролю (через DNS-запити)
Перегляд
Служба Windows, яка вказує на драйвер в підозрілому місці, була створена (через командний рядок)
Перегляд
Можливе виведення/введення даних/C2 через треті сторонні сервіси/інструменти (через проксі)
Перегляд
Служба Windows, яка вказує на драйвер, була створена (через командний рядок)
Перегляд
Можливе перелічення процесу Lsass (через командний рядок)
Перегляд
IOC (DestinationIP) для виявлення: Від W-2 до BYOVD: Як податковий пошук призводить до вбивства AV/EDR у режимі ядра
Перегляд
IOC (HashSha256) для виявлення: Від W-2 до BYOVD: Як податковий пошук призводить до вбивства AV/EDR у режимі ядра
Перегляд
IOC (SourceIP) для виявлення: Від W-2 до BYOVD: Як податковий пошук призводить до вбивства AV/EDR у режимі ядра
Перегляд
Кампанія зловмисного реклами, що доставляє підроблене програмне забезпечення та викачування облікових даних [Створення процесу Windows]
Перегляд
Виконання симуляції
Передумова: Перевірка телеметрії і базова перевірка перед польотом повинна була бути пройдена.
Обґрунтування: В цьому розділі детально описується точне виконання техніки противника (TTP), розробленої для спрацьовування правила виявлення. Команди та наратив ПОВИННІ безпосередньо відповідати виявленим TTP та мають на меті згенерувати точну телеметрію, очікувану логікою виявлення.
-
Опис атаки та команди:
- Початковий доступ через зловмисну рекламу: Жертва натискає на зловмисну рекламу під час пошуку податкових форм, що викликає завантаження на вимогу
form_w9.msi. - Встановлення підробленого програмного забезпечення: MSI безшумно встановлює інструмент віддаленої підтримки, схожий на ScreenConnect, і скидає
crypteds.exeandsent.exeдо%TEMP%каталогу. - Збирання облікових даних:
crypteds.exeзапускається для викачування секретів LSA. - Завантаження DLL через Rundll32: Щоб уникнути статичного виявлення, зловмисник завантажує шкідливу DLL, використовуючи
rundll32.exeз системною DLLcomsvcs.dllяк точку входу, яка виконає вбудоване завантаження.
Точні команди (імітуються на тестовій машині) наступні:
# 1. Розгортання шкідливої MSI (імітація) Start-Process -FilePath "C:Tempform_w9.msi" -ArgumentList "/quiet" -Wait # 2. Запуск інструменту для викачування облікових даних Start-Process -FilePath "$env:TEMPcrypteds.exe" -ArgumentList "/dump" -Wait # 3. Завантаження шкідливого завантаження через rundll32, використовуючи comsvcs.dll rundll32.exe "C:windowsSystem32comsvcs.dll",LaunchApplication "$env:TEMPsent.exe" - Початковий доступ через зловмисну рекламу: Жертва натискає на зловмисну рекламу під час пошуку податкових форм, що викликає завантаження на вимогу
-
Скрипт для тестування на регресії: Скрипт нижче автоматизує вищевказані кроки і забезпечує, щоб згенерована телеметрія відповідала очікуванням правила виявлення.
# Скрипт тестування на регресію – імітує кампанію зловмисного реклами # ----------------------------------------------------------- # 0. Передумова: Переконайтесь, що Sysmon запущений із увімкненим журналюванням командного рядка. # Змінні $msiPath = "$env:TEMPform_w9.msi" $dumpTool = "$env:TEMPcrypteds.exe" $payload = "$env:TEMPsent.exe" $dllPath = "C:windowsSystem32comsvcs.dll" # Помічник: Створення фіктивних файлів для імітації шкідливих бінарів New-Item -Path $msiPath -ItemType File -Force | Out-Null New-Item -Path $dumpTool -ItemType File -Force | Out-Null New-Item -Path $payload -ItemType File -Force | Out-Null Write-Host "[*] Встановлення шкідливої MSI (імітація)..." Start-Process -FilePath "msiexec.exe" -ArgumentList "/i `"$msiPath`" /quiet" -Wait Write-Host "[*] Виконання інструменту для викачування облікових даних..." Start-Process -FilePath $dumpTool -ArgumentList "/dump" -Wait Write-Host "[*] Проведення завантаження DLL через rundll32..." rundll32.exe "`"$dllPath`"",LaunchApplication "`"$payload`"" Write-Host "[+] Імітація завершена. Перевірте виявлення через SIEM." -
Команди очищення: Видаліть фіктивні артефакти та зупиніть будь-які застоячі процеси.
# Скрипт для очищення $paths = @("$env:TEMPform_w9.msi","$env:TEMPcrypteds.exe","$env:TEMPsent.exe") foreach ($p in $paths) { if (Test-Path $p) { Remove-Item -Path $p -Force } } # Завершення будь-яких сторонніх процесів rundll32, запущених під час тесту Get-Process -Name rundll32 -ErrorAction SilentlyContinue | Where-Object {$_.Path -eq "$env:SystemRootSystem32rundll32.exe"} | Stop-Process -Force