
Pwnspoof репозиторий
pwnSpoof (от Punk Security) генерирует реалистичные фиктивные файлы журналов для распространённых веб-серверов с настраиваемыми сценариями атак.
Каждый пакет журналов уникален и полностью настраиваем, что делает его идеальным для создания сценариев CTF и тренировочных серий.
Сможете ли вы найти сессию атакующего и восстановить картину инцидента?
pwnSpoof был создан на основе тренировочного упражнения по threat hunting, которое Punk Security провела для заказчика. Упражнение заключалось в использовании инструмента анализа журналов, такого как Splunk (другие инструменты анализа журналов также доступны), и журналов IIS для поиска атак перебором паролей и внедрения команд.
Идея приложения pwnSpoof заключается в следующем:
После создания набора журналов предлагается загрузить их в Splunk и с помощью различных техник ответить на следующие вопросы:
Ниже объясняется, как начать работу с pwnSpoof
pwnSpoof написан на Python и протестирован с Python 3. Дополнительные модули не требуются, используется только стандартная библиотека.
Если вы получите следующее сообщение об ошибке, укажите python3 при запуске pwnSpoof. Python 2 не поддерживается.
File "pwnspoof.py", line 176
print("{:6.2f}% ".format(y * x), end="\r", flush=True)
^
SyntaxError: invalid syntax
git clone https://github.com/punk-security/pwnspoof
cd pwnspoof
python pwnspoof.py --help
positional arguments:
{banking,wordpress,generic}
Эмулируемое приложение
options:
-h, --help показать это справочное сообщение и выйти
--out OUT Выходной файл (по умолчанию: pwnspoof.log)
--iocs Хотите знать IOCs атакующего для упрощения поиска? (по умолчанию: False)
log generator settings:
--log-start-date LOG_START_DATE
Начальная дата журналов в формате YYYYMMDD, например "20210727"
--log-end-date LOG_END_DATE
Конечная дата журналов в формате YYYYMMDD, например "20210727"
--session-count SESSION_COUNT
Количество легитимных сессий для подделки (по умолчанию: 2000)
--max-sessions-per-user MAX_SESSIONS_PER_USER
Максимальное количество легитимных сессий на одного пользователя (по умолчанию: 3)
--server-fqdn SERVER_FQDN
Переопределить FQDN эмулируемого веб-приложения по умолчанию
--server-ip SERVER_IP
Переопределить случайный IP эмулируемого веб-приложения
--server-type {IIS,NGINX,CLF,CLOUDFLARE,AWS}
Тип сервера для подделки (по умолчанию: IIS)
--uri-file URI_FILE Файл с URI веб-страниц для переопределения значений по умолчанию, не включайте расширения
--noise-file NOISE_FILE
Файл с URI шума для переопределения значений по умолчанию, включая расширения
attack settings:
--spoofed-attacks SPOOFED_ATTACKS
Количество последовательностей атак для подделки (по умолчанию: 1)
--attack-type {bruteforce,command_injection}
Тип атаки (по умолчанию: bruteforce)
--attacker-geo ATTACKER_GEO
Установить географию атакующего по двухбуквенному коду региона. Используйте RD для случайного (по умолчанию: RD)
--attacker-user-agent ATTACKER_USER_AGENT
Установить user-agent атакующего. Используйте RD для случайного (по умолчанию: RD)
--additional-attacker-ips ADDITIONAL_ATTACKER_IPS
Дополнительные IP-адреса атакующего, разделённые запятыми (по умолчанию: ). Если вы хотите использовать только этот список, установите spoofed-attacks в 0
Следующий пример создаёт набор журналов IIS для атаки перебором на pwnedbank.co.uk.
python pwnspoof.py banking --server-fqdn pwnedbank.co.uk --attack-type bruteforce --server-type IIS --out iis-output.log
Следующий пример создаёт набор журналов NGINX для внедрения команд на pwnedbank.co.uk.
python pwnspoof.py banking --server-fqdn pwnedbank.co.uk --attack-type command_injection --server-type NGINX
Следующий пример создаёт набор журналов с 5000 рутинными сессиями и 3 сессиями атак.
python pwnspoof.py banking --session-count 5000 --spoofed-attacks 3
Следующий пример создаёт набор журналов и выводит IP-адреса атакующего.
python pwnspoof.py banking --spoofed-attacks 3 --iocs
Следующий пример создаёт набор журналов и использует только указанные IP-адреса.
python pwnspoof.py banking --spoofed-attacks 0 --additional-attacker-ips 192.168.0.1,192.168.0.2
pwnSpoof создан для генерации аутентичных журналов веб-атак и отлично с этим справляется. Сейчас мы сосредоточены на рефакторинге кода, создании тестового набора и первом релизе в PyPi, но у нас огромные амбиции для pwnSpoof.
Добавление дополнительных веб-приложений помимо банковского для большего разнообразия журналов
Добавление дополнительных и более динамичных веб-атак
Обучающие видео!
pwnSpoof был создан как отличный инструмент для тренировки синей команды, так что логично создать обучающие материалы для его демонстрации.