
Автоматизированный инструмент для NTLM relay-атак, объединяющий отравление Responder с Impacket relay и secretsdump для захвата учётных данных, ретрансляции хэшей и горизонтального перемещения.
Как следует из названия, это яд. Cyanide — это, по сути, трекер для корреляции различных техник отравления (сейчас используется только Responder) в сочетании с ретрансляцией перехваченных хэшей через ntlmrelayx.py из Impacket. При запуске он поднимает Responder без SMB, HTTP или DNS-серверов и Ntlmrelayx с SMB и HTTP-серверами по умолчанию. Вывод сообщит вам о:
Обязательный файл для целей ntlmrelayx является обязательным. Если вы хотите только перехватывать хэши, просто укажите smb://127.0.0.1, в противном случае укажите список целей как обычно (например, smb://10.0.0.8\n mssql://10.0.0.9)
Есть несколько способов его использования.
Рекомендуемый способ. Этот метод будет использовать хэши, перехваченные через SMB/HTTP, и ретранслировать их на цели, указанные в файле целей. После успешной ретрансляции будет запущен secretsdump, и SAM (надеемся) будет выгружен.
Для успешного входа в систему на целевом endpoint должно быть отключено smb signing.
Этот метод продолжит отравлять хосты через Responder, но не будет выполнять ретрансляцию. Чтобы продолжать перехватывать SMB/HTTP, вам нужно указать хост smb://127.0.0.1 в обязательном файле целей ntlmrelayx.
python3 -m venv venv
. venv/bin/activate
git clone https://github.com/horizon3ai/cyanide.git
cd cyanide
pip install -r requirements.txt
sudo -i (должно выполняться от root-аккаунта)
python cyanide.py -iface <eth0> --watch --stdout-only --responder -ntf ntlmrelayx_targets.txt
ПРИМЕЧАНИЕ: --watch/-w позволит вам редактировать файл целей во время работы программы, а также добавлять/удалять цели. Impacket автоматически обнаружит изменения и обновит их.
python cyanide.py -iface <eth0> --stdout-only --responder -ntf ntlmrelayx_targets.txt --no-relay
Cyanide использует sqlite-базы данных для хранения информации об отравленных хостах (poisoner_cache.db), о выполненных ретрансляциях (poisoner_relay.db) и (если вы не указали --stdout-only) финальные сообщения, содержащие источник отравителя, события ретрансляции, данные secretsdump, будут помещены в production-базу данных (poisoner_prod.db). База данных poisoner_prod.db будет выгружаться в указанный выходной файл каждые 30 секунд. ПРИМЕЧАНИЕ: Это означает, что результаты будут перезаписываться каждые 30 секунд.
python cyanide.py -iface <eth0> --watch --responder -ntf ntlmrelayx_targets.txt
python cyanide.py -iface <eth0> --responder -ntf ntlmrelayx_targets.txt --no-relay
Весь код, за исключением файлов в horizon3_impacket, распространяется под лицензией GPLv3. Весь код в horizon3_impacket сохраняет исходную лицензию Impacket — Apache. Для получения дополнительной информации, пожалуйста, обратитесь к каталогу licenses.