Impacket для пентестерів: горизонтальний рух у мережі та робота червоної команди
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
У статті пояснюється, як impacket-net утиліта може бути використана для переліку Active Directory та адміністративної маніпуляції. Показує, як зловмисники можуть використовувати хеши NTLM, квитки Kerberos і ключі AES для управління користувачами домену, групами та обліковими записами комп’ютерів. Інструмент підтримує приховану розвідку і може прискорити підвищення привілеїв у середовищі домену.
Розслідування
У доповіді використовуються контрольоване лабораторне середовище, ignite.local, щоб продемонструвати різні шляхи автентифікації та методи виконання команд. Показано, як зловмисник може перейти від переліку з низькими привілеями до повного адміністративного контролю, змінюючи об’єкти каталогу. Розслідування також підкреслює, як ці дії залишаються видимими в журналах подій Windows.
Зменшення загрози
Рекомендовані заходи зменшення включають налаштування ms-DS-MachineAccountQuota to 0 для блокування несанкціонованого створення облікових записів комп’ютерів. Організації також повинні забезпечити підписування LDAP, увімкнути зв’язування каналів та відключити слабші типи шифрування, такі як RC4. Крім цього, розміщення облікових записів з високими привілеями у групі безпеки захищених користувачів може допомогти запобігти зловживанню NTLM і тривалому використанню TGT.
Реакція
Якщо ця активність виявлена, захисники повинні централізувати та сповістити про ключові ID подій Windows, пов’язані зі змінами життєвого циклу облікових записів та модифікаціями членства у групах. Автоматизовані сценарії реагування мають бути готові до швидкого відновлення несанкціонованих змін каталогу. Впровадження фальшивих облікових записів у контрольованих підрозділах організації може також надати високої впевненості в сповіщеннях для невідкладної реакції на інциденти.
Потік Атаки
Ми ще оновлюємо цю частину. Підпишіться, щоб отримати сповіщення
Сповістити менеВиявлення
Ймовірне використання інструментів зламування Windows [Частина 1] (через командний рядок)
Перегляд
Ймовірне використання інструментів зламування Windows [Частина 3] (через file_event)
Перегляд
Виявлення утиліти Impacket-Net з модифікаціями облікових записів [Створення процесу у Linux]
Перегляд
Виявлення підвищення привілеїв та активності облікових записів у Active Directory [Журнал безпеки Microsoft Windows]
Перегляд
Виконання симуляції
Попередня вимога: перевірка телеметрії та базової лінії має бути успішною.
Обґрунтування: У цьому розділі детально описується точне виконання техніки супротивника (TTP), розробленої для спрацьовування правила виявлення. Команди та наратив МАЮТЬ безпосередньо відображати визначені TTP і повинні генерувати точну телеметрію, очікувану логікою виявлення. Абстрактні або нерелевантні приклади призведуть до неправильного діагнозу.
-
Опис атаки та команди: Зловмисник отримав доступ до сервера Linux. Щоб забезпечити стійкість та уникнути блокування, він має намір повторно ввімкнути неактивний адміністративний обліковий запис. Вони обирають використовувати
impacket-netутиліта, поширений інструмент у фреймворках пентестингу, тому що вони вірять, що це стандартний адміністративний інструмент і може зливатися з шумом. Зловмисник виконує команду через Python interpreter, щоб маніпулювати локальною базою даних облікових записів, зокрема, використовуючи-enableфлаг, щоб повторно активувати цільового користувача. Ця дія призначена для створення точноїCommandLineпатрну (impacket-netand-enable) для спрацьовування правила виявлення. -
Скрипт регресійного тесту:
#!/bin/bash # Скрипт симуляції для спрацьовування правила виявлення Impacket-Net echo "[+] Початок симуляції Impacket-Net..." # Ми імітуємо наявність утиліти через виклик python3 # та передавання специфічних рядків, які потрібні логіці виявлення. # У реальному сценарії це буде: python3 /path/to/impacket-net -enable <user> python3 -c "import sys; print('Simulating impacket-net -enable user123')" | grep -q "impacket-net" # Щоб гарантувати, що подія створення процесу з точними рядками буде зареєстрована: # Ми виконуємо команду, що імітує аргументи командного рядка. export IM_SIM_CMD="python3 /usr/local/bin/impacket-net -enable target_account" echo "[+] Виконується: $IM_SIM_CMD" eval $IM_SIM_CMD echo "[+] Команда симуляції надіслана. Перевірте SIEM для журналів створення процесів." -
Команди очищення:
# Під час цієї симуляції не було внесено жодних постійних змін, # але переконайтеся, що всі створені тимчасові файли видалено. rm -f /tmp/impacket_sim_test.log echo "[+] Очищення завершено."