## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-NEXTRONSYSTEMS-APTSIMULATOR

# APT Симулятор
Важно: Не просто скачивайте ZIP-архив или клонируйте репозиторий, если вы не планируете разрабатывать какие-либо тесты. Используйте пакет из раздела релизы, который содержит упакованную версию с зашифрованными архивами, не содержащими образцы и инструменты в открытом виде.
APT Симулятор — это скрипт Windows Batch, который использует набор инструментов и выходных файлов, чтобы сделать систему похожей на скомпрометированную. В отличие от других инструментов симуляции угроз, APT Симулятор разработан так, чтобы сделать использование максимально простым. Вам не нужно запускать веб-сервер, базу данных или какие-либо агенты на наборе виртуальных машин. Просто скачайте подготовленный архив, распакуйте и запустите содержащийся в нём пакетный файл от имени Администратора. Запуск APT Симулятора занимает меньше минуты.
## Варианты использования
1. POC: Агенты обнаружения конечных точек / инструменты оценки компрометации
2. Проверка возможностей обнаружения вашего мониторинга безопасности
3. Тестирование реакции SOC на угрозу, отличную от EICAR или сканирования портов
4. Подготовка среды для занятий по цифровой криминалистике
## Мотивация
Клиенты тестировали наши сканеры в рамках POC и отправляли нам жалобы, что наши сканеры не сообщали о программах, которые они установили на своих тестовых системах. Они установили Nmap, поместили PsExec.exe в папку «Загрузки» и разместили EICAR-тестовирус на рабочем столе пользователя. Это был момент, когда я решил создать инструмент, который моделирует реальную угрозу более адекватным способом.
## Почему Batch?
* Потому что это просто: каждый может прочитать, изменить или расширить его
* Он работает на любой системе Windows без каких-либо предварительных требований
* Он максимально приближен к действиям реального атакующего, работающего в командной строке
## Фокус
Фокус этого инструмента — моделировать действия злоумышленника, а не вредоносное ПО. См. раздел Продвинутые решения для получения информации о продвинутых инструментах моделирования действий злоумышленников и вредоносного ПО.

## Начало работы
1. Скачайте последний релиз из раздела «releases»
2. Распакуйте пакет на демо-системе (Пароль: apt)
3. Запустите cmd.exe от имени Администратора
4. Перейдите в распакованную папку программы и запустите APTSimulator.bat
## Избегание раннего обнаружения
Пакетный скрипт извлекает инструменты и оболочки из зашифрованного архива 7z во время выполнения. Не загружайте мастер-репозиторий с помощью кнопки «download as ZIP». Вместо этого используйте официальный релиз из раздела релизы.
## Исключение из антивирусов
APT Симулятор содержит модуль с именем «AVExcluder», который пытается зарегистрировать используемый `%APTDIR%` как исключение из антивирусного ПО в типичных антивирусных решениях. Поскольку у меня нет доступа ко всем антивирусным продуктам на рынке, пожалуйста, сообщайте об ошибках или добавляйте новые исключения в виде пул-реквестов.
## Расширение тестовых наборов
Начиная с версии 0.4 стало очень легко расширять тестовые наборы, просто добавив один `.bat`-файл в одну из папок категорий тестовых наборов.
Например, если вы хотите написать простой тестовый случай для «повышения привилегий», использующий инструмент с именем «privesc.exe», клонируйте репозиторий и сделайте следующее:
1. Добавьте свой инструмент в папку `toolset`
2. Напишите новый пакетный скрипт `privesc-1.bat` и добавьте его в папку `./test-sets/privilege-escalation`
3. Запустите `build_pack.bat`
4. Добавьте свой тестовый случай в таблицу и раздел тестовых наборов в README.md
5. Создайте пул-реквест
### Извлечение инструментов и файлов
Если ваш скрипт включает в себя инструмент, веб-оболочку, вспомогательный или выходной файл, поместите их в папки `./toolset` или `./workfiles`. Запуск скрипта сборки `build_pack.bat` включит их в зашифрованные архивы `enc-toolset.7z` и `enc-files.7z`.
#### Извлечение инструмента
root@kitploit:~
"%ZIP%" e -p%PASS% %TOOLARCH% -aoa -o%APTDIR% toolset\tool.exe > NUL
#### Извлечение файла
root@kitploit:~
"%ZIP%" e -p%PASS% %FILEARCH% -aoa -o%APTDIR% workfile\tool-output.txt > NUL
## Обнаружение
В следующей таблице показаны различные тестовые случаи и ожидаемые результаты обнаружения.
* AV = Антивирус
* NIDS = Система обнаружения вторжений в сеть
* EDR = Обнаружение и реагирование на конечных точках
* SM = Мониторинг безопасности
* CA = Оценка компрометации
## Активность Cobalt Strike Beacon
Теперь вы должны иметь возможность находить события в вашей системе мониторинга безопасности (SIEM, EDR и т.д.) по следующим ключевым словам:
### Именованные каналы
* `MSSE-1337-server`
* `msagent_fedac123`
* `postex_ssh_fedac123`
* `334485` (используется в активности Get System)
Примечание: Нет мониторинга именованных каналов? Вы можете использовать Sysmon + эту конфигурацию и это правило Sigma для начала.
### Активность Get System
* `b6a1458f396` (множественные события: новая регистрация службы и создание процесса)
Примечание: Нет событий? Вы можете использовать это правило Sigma для начала.
### C2 Beaconing
* `http://10.0.2.15/pixel.gif`
* `https://operaa.net:443/jquery-3.2.2.min.js`
* `https://23.108.57.148:443/jquery-3.2.2.full.js`
## Тестовые наборы
### Сбор
#### Сбор локальных файлов
* сбрасывает вывод pwdump в рабочий каталог
* сбрасывает список каталогов в рабочий каталог
### Командно-контрольный центр (C2)
#### Подключения к C2
* Использует Curl для доступа к известным C2-серверам
#### Кэш DNS 1
* Выполняет запросы к нескольким известным C2-адресам, чтобы вызвать DNS-запросы и занести адреса в локальный DNS-кэш
#### Вредоносные User-Agent
* Использует вредоносные user-agent для доступа к веб-сайтам
#### Ncat обратное подключение
* Сбрасывает альтернативу PowerShell Ncat в рабочий каталог и запускает её для обратного подключения к известному домену атакующего
#### WMI Backdoor C2
* Использует WMIBackdoor Мэтта Грэбера для связи с C2 через определённые интервалы
### Доступ к учётным данным
#### Дамп LSASS
* Сбрасывает память процесса LSASS в подозрительную папку
#### Mimikatz-1
* Сбрасывает вывод Mimikatz в рабочий каталог (запасной вариант, если другие варианты выполнения не сработали)
* Запускает специальную версию Mimikatz и выводит результат в рабочий каталог
* Запускает Invoke-Mimikatz в памяти (загрузка с github, отражение)
#### WCE-1
* Создаёт записи журнала событий Windows, которые выглядят так, как будто был выполнен WCE
### Обход защиты
#### Активация гостевой учетной записи администратора
* Активирует гостевого пользователя
* Добавляет гостевого пользователя в локальную группу администраторов
#### Поддельный системный файл
* Сбрасывает подозрительный исполняемый файл с именем системного файла (svchost.exe) в папку %PUBLIC%
* Запускает эту подозрительную программу в папке %PUBLIC%
#### Файл hosts
* Добавляет записи в локальный файл hosts (блокировщик обновлений, записи, вызванные вредоносным ПО)
#### JS Dropper
* Запускает обфусцированный JavaScript-код с помощью wscript.exe и запускает декодированную привязку оболочки на порту 1234/tcp
#### Обфускация
* Сбрасывает замаскированный RAR-файл с расширением JPG
### Обнаружение
#### Обнаружение Nbtscan
* Сканирует 3 частных IP-адреса класса C и выводит результат в рабочий каталог
#### Разведка
* Выполняет команды, используемые атакующими для получения информации о целевой системе
### Выполнение
#### PsExec
* Сбрасывает переименованную версию PsExec в рабочий каталог
* Запускает PsExec для запуска командной строки в контексте LOCAL_SYSTEM
#### Инструмент удалённого выполнения
* Сбрасывает инструмент удалённого выполнения в рабочий каталог
### Боковое перемещение
Тестовых случаев пока нет
### Постоянство
#### Задача At
* Создаёт at-задачу, которая запускает Mimikatz и сбрасывает учётные данные в файл
#### Ключ RUN
* Создаёт подозрительную новую запись ключа RUN, которая выводит результат «net user» в файл
#### Запланированная задача
* Создаёт запланированную задачу, которая запускает Mimikatz и выводит результат в файл
#### XML запланированной задачи
* Создаёт запланированную задачу через XML-файл с помощью Invoke-SchtasksBackdoor.ps1
#### Бэкдор клавиши StickyKey
* Пытается заменить sethc.exe на cmd.exe (создаётся резервная копия)
* Пытается зарегистрировать cmd.exe как отладчик для sethc.exe
#### Веб-оболочки
* Создаёт стандартный корневой каталог веб-сайта
* Сбрасывает стандартные веб-оболочки в этот каталог
* Сбрасывает GIF-обфусцированную веб-оболочку в этот каталог
#### Постоянство через UserInitMprLogonScript
* Использование ключа UserInitMprLogonScript для обеспечения постоянства
#### WMI Backdoor
* Использует WMIBackdoor Мэтта Грэбера для завершения локального procexp64.exe при его запуске
## Пакетный режим
Начиная с версии 0.8.0 APT Симулятор включает пакетный режим от @juju4, который позволяет запускать его в скриптовом режиме, например, через Ansible
root@kitploit:~
APTSimulator.bat -b
## ПРЕДУПРЕЖДЕНИЕ
Этот репозиторий содержит инструменты и исполняемые файлы, которые могут нанести вред целостности и стабильности вашей системы. Используйте их только на непродуктивных тестовых или демонстрационных системах. Создайте снимок системы перед началом. В противном случае вам придётся вручную удалять все изменения, что является утомительной задачей.
## Скриншоты
   
## Продвинутые решения
Автоматизированная система эмуляции противника CALDERA https://github.com/mitre/caldera
Infection Monkey - Автоматизированный инструмент пентеста https://github.com/guardicore/monkey
Flightsim - Утилита для генерации вредоносного сетевого трафика и оценки средств защиты https://github.com/alphasoc/flightsim
## Интегрированные проекты / ПО
* Mimikatz
* PowerSploit
* PowerCat
* PsExec
* ProcDump
* 7Zip
* curl
## Контакты
Следите за мной и связывайтесь со мной в Твиттере @cyb3rops