Шляхи атак ESC1 і ESC8: Від соціальної інженерії до зловживання AD CS
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Зловмисники використовували соціальну інженерію через Microsoft Teams, видаючи себе за співробітників служби підтримки IT, і встановили віддалений доступ за допомогою Quick Assist. Після отримання доступу вони зловживали неправильно налаштованими Active Directory Certificate Services (AD CS) за допомогою технік ESC1 та ESC8 для підвищення привілеїв і отримання автентифікаційного доступу на рівні домену. Інтрузії дозволили несанкціоноване отримання сертифікатів, діяльність DCSync і подальше витікання даних.
Розслідування
Під час розслідування було відновлено ланцюг атаки від початкової фішингової взаємодії в Teams до подальшого зловживання сертифікатами. Аналітики корелювали телеметрію віддаленої сесії, підозрілу виконання програм із директорій, доступних для запису користувача, і події AD CS, включаючи запити на отримання сертифікатів та активність PKINIT. Невідповідності між автентифікованими ідентичностями і пристроями-відправниками надали важливі точки для виявлення потенційних NTLM relay атак.
Мітцгація
Організації повинні запровадити сильні процедури перевірки для непроханих запитів підтримки і обмежити зовнішній доступ у Microsoft Teams. Технічні мітцгації включають використання App Control for Business для блокування несанкціонованих виконань і зміцнення AD CS шляхом увімкнення Extended Protection for Authentication (EPA) та HTTPS на точках отримання сертифікатів. Вимкнення NTLM на сервісах отримання сертифікатів і регулярний аудит шаблонів сертифікатів також є критично важливими.
Відповідь
Коли виявляється зловмисна активність, реагенти повинні негайно ізолювати уражені робочі станції і перевірити скомпрометовані ідентичності на ризик виключення. Несанкціоновані сертифікати повинні бути відкликані, і оновлена інформація про відкликання опублікована. Активні квитки Kerberos повинні оцінюватися окремо, оскільки відкликання сертифікатів не анулює існуючі TGT. Також слід вручну здійснити ізоляцію для облікових записів, виключених з автоматичного перерви.
Поточна атака
Виявлення
Можливе виявлення конфігурації мережевої системи (через командний рядок)
Виконання Java Binary з незвичайного місця (через процес створення)
Альтернативне віддалене керування / програмне забезпечення управління (через процес створення)
Події запиту сертифікатів для контролера домену [ADCS] (через аудит)
Події запиту сертифікатів [ADCS] (через аудит)
Використання неправильного шаблону ADCS [ESC1/SAN] (через аудит)
Можлива примусова атака (через аудит)
Спроби підозрілих дій, пов’язаний з сертифікатами (через аудит)
Можлива експлуатація атаки PetitPotam/ADCS-ESC8 [MS-EFSRPC/ADCS-PKI] (через аудит)
Можлива атака DCSync (через аудит)
Можливий несанкціонований доступ через Quick Assist (через аудит)
IOC (HashSha256) для виявлення: Від підробки служби підтримки до зловживання AD CS: Розслідування шляхів вторгнення ESC1 та ESC8
Зловживання шаблоном сертифікату і виявлення NTLM Authentication Relay [Журнал безпеки подій Microsoft Windows]
Зловживання автентифікацією на основі сертифікатів з підключеннями LDAPS та SMB [Підключення до мережі Windows]
Фішинг через Teams і виконання портативного середовища для несанкціонованого доступу [Створення процесу Windows]
Сценарію виконання
-
Сценарій атаки та команди: Супротивник ініціює фішингову кампанію через Microsoft Teams, видаючи себе за підтримку IT. Вони інструктують жертву відкрити “Quick Assist.” Після встановлення сеансу, нападник використовує віддалений доступ для встановлення портативного
python.exeу замасковану директорію:C:Users<User>AppDataRoamingKB. Нарешті, для полегшення латерального руху, нападник виконуєsysteminfoandipconfigдля збору даних розвідки на хості. -
Сценарій регресійного тесту:
# Сценарій симуляції: Teams Phishing & виконання портативного середовища # 1. Налаштування: створити 'шкідливу' директорію в AppData $targetDir = "$env:APPDATAKB" if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force } # 2. Симуляція портативного середовища (створити фіктивний файл з ім'ям python.exe) # У реальній атаці це буде справжній двійковий файл. $dummyPython = Join-Path $targetDir "python.exe" New-Item -Path $dummyPython -ItemType File -Force # 3. Симуляція процесу запуску Quick Assist батьківським процесом # Зазначено: оскільки ми не можемо легко підробити фактичне дерево процесів Teams.exe в одному сценарії # без розширеного впорскування, ми симулюємо телеметрію шляхом імітації командного рядка # та очікуваної поведінки у такий спосіб. Write-Host "[!] Імітація послідовності атаки..." # Спровокування логіки виявлення шляхом імітації ланцюга процесів # Зауваження: щоб спровокувати специфічне правило Sigma, процес 'python.exe' # повинен бачитися як підпроцес 'Teams.exe' у потоці телеметрії. # Крок A: Імітація виклику Quick Assist з боку Teams (Ручна симуляція телеметрії) # У реальному тестовому середовищі ви можете використовувати інструменти, такі як 'ProcessHacker' або 'Sysmon' # для маніпулювання батьківськими PID, але для цього сценарію ми будемо виконувати послідовність. Start-Process "cmd.exe" -ArgumentList "/c echo Імітація виклику Quick Assist з боку Teams" # Крок B: Запуск 'портативного середовища' зі специфічного шляху Start-Process -FilePath $dummyPython -ArgumentList "--version" -ErrorAction SilentlyContinue # Крок C: Виконання команд виявлення Start-Process "cmd.exe" -ArgumentList "/c systeminfo" Start-Process "cmd.exe" -ArgumentList "/c ipconfig" Start-Process "cmd.exe" -ArgumentList "/c tasklist" Write-Host "[+] Симуляція завершена. Перевірте SIEM на предмет сповіщень." -
Команди очищення:
# Очищення: видалити симульовану шкідливу директорію та файли $targetDir = "$env:APPDATAKB" if (Test-Path $targetDir) { Remove-Item -Path $targetDir -Recurse -Force Write-Host "[+] Чистка успішна: $targetDir видалено." } else { Write-Host "[-] Чистка не вдалася: Директорію не знайдено."