Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
pretender — Ваш напарник MitM для атак с ретрансляцией, включающий захват DNS через DHCPv6, а также подмену mDNS, LLMNR и NetBIOS-NS. | Kitploit
Инструменты/GitHubGitHub/redteampentesting/pretender
РазведкаСбор информацииСетевая безопасностьТестирование на ПроникновениеАутентификацияRed TeamingАнализ DNS
GitHubredteampentesting/pretender

pretender

Ваш напарник MitM для атак с ретрансляцией, включающий захват DNS через DHCPv6, а также подмену mDNS, LLMNR и NetBIOS-NS.

Репозиторий
1.3k9742 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

pretender

Ваш помощник MitM для атак ретрансляции с захватом DNS через DHCPv6
а также подделкой mDNS, LLMNR и NetBIOS-NS

Релиз GitHub Action: Проверка Лицензия ПО Go Report Card


pretender — это инструмент, разработанный RedTeam Pentesting для получения позиции «человек посередине» с помощью поддельного разрешения локальных имен и атак захвата DNS через DHCPv6. pretender в первую очередь нацелен на хосты Windows, так как предназначен для использования в атаках ретрансляции, но может быть развернут на Linux, Windows и всех других платформах, поддерживаемых Go. Запросы на разрешение имен могут быть отвечены произвольными IP-адресами для ситуаций, когда инструмент ретрансляции работает на другом хосте, отличном от pretender. Он предназначен для работы с такими инструментами, как ntlmrelayx.py из Impacket и krbrelayx, которые обрабатывают входящие соединения для атак ретрансляции или дампа хешей.

Прочитайте нашу запись в блоге для получения дополнительной информации о захвате DNS через DHCPv6, подделке разрешения локальных имен и атаках ретрансляции.


Использование

Чтобы оценить ситуацию в локальной сети, pretender можно запустить в режиме --dry, при котором он только регистрирует входящие запросы и не отвечает ни на один из них:

root@kitploit:~
pretender -i eth0 --dry
pretender -i eth0 --dry --no-ra # without router advertisements (RA)
pretender -i eth0 --dry --no-ra-dns # with RA but without advertizing DNS in RA

Для выполнения подделки разрешения локальных имен через mDNS, LLMNR и NetBIOS-NS, а также захвата DNS через DHCPv6 с объявлениями маршрутизаторов, просто запустите pretender следующим образом:

root@kitploit:~
pretender -i eth0

Вы можете отключить определенные атаки с помощью --no-dhcp-dns (отключает DHCPv6, DNS и объявления маршрутизаторов), --no-lnr (отключает mDNS, LLMNR и NetBIOS-NS), --no-mdns, --no-llmnr, --no-netbios и --no-ra.

Если ntlmrelayx.py работает на другом хосте (например, 10.0.0.10/fe80::5), запустите pretender следующим образом:

root@kitploit:~
pretender -i eth0 -4 "10.0.0.10" -6 "fe80::5"

Pretender можно настроить так, чтобы он отвечал только на запросы к определенным доменам (или всем, кроме определенных), и выполнять атаки подделки только для определенных хостов (или всех, кроме определенных). Ссылка на хосты по имени хоста полагается на разрешение имен хоста, на котором работает pretender. Смотрите следующий пример:

root@kitploit:~
pretender -i eth0 --spoof "example.com" --dont-spoof-for "10.0.0.3,host1.corp,fe80::f" --ignore-nofqdn

Для получения дополнительной информации выполните pretender --help.


Советы

  • Опции --spoof/--dont-spoof/--spoof-for/--dont-spoof-for поддерживают подстановочные знаки. domain.fqdn выполняет только литеральное совпадение, тогда как .domain.fqdn будет соответствовать domain.fqdn и sub.domain.fqdn. Аналогично, *domain.fqdn соответствует mydomain.fqdn. Используйте *.domain.fqdn, чтобы только соответствовать поддоменам. Обратите внимание, что подстановочные знаки для поддоменов (начальная точка) и произвольные подстановочные знаки (*) не могут использоваться вместе.
  • Убедитесь, что в ntlmrelayx.py включена поддержка IPv6 с помощью флага -6.
  • Pretender поддерживает безсостоятельную (stateless) конфигурацию DNS через объявления маршрутизаторов без DHCPv6 с флагом --stateless-ra. По умолчанию DHCPv6 сервер все еще запускается, но его можно отключить с помощью --no-dhcp.

Сборка и вендоринг

Pretender можно собрать следующим образом:

root@kitploit:~
go build

Pretender также может быть скомпилирован с предварительно настроенными параметрами. Для этого необходимо изменить ldflags следующим образом:

root@kitploit:~
-ldflags '-X main.vendorInterface=eth1'

Например, Pretender может быть собран для Windows с определенным интерфейсом по умолчанию, без цветного вывода и с настроенным ретрансляционным IPv4-адресом:

root@kitploit:~
GOOS=windows go build -trimpath -ldflags '-X "main.vendorInterface=Ethernet 2" -X main.vendorNoColor=true -X main.vendorRelayIPv4=10.0.0.10'

Полный список опций вендоринга (см. defaults.go или pretender --help для получения подробной информации):

root@kitploit:~
vendorInterface
vendorRelayIPv4
vendorRelayIPv6
vendorSOAHostname
vendorSpoofResponseName
vendorNoDHCPv6DNSTakeover
vendorNoDHCPv6
vendorNoDNS
vendorNoMDNS
vendorNoNetBIOS
vendorNoLLMNR
vendorNoLocalNameResolution
vendorNoIPv6LNR
vendorNoRA
vendorNoRADNS
vendorSpoof
vendorDontSpoof
vendorSpoofFor
vendorDontSpoofFor
vendorSpoofTypes
vendorSpoofSRV
vendorIgnoreDHCPv6NoFQDN
vendorIgnoreNonMicrosoftDHCP
vendorDelegateIgnoredTo
vendorToggleNameResolutionSpoofing
vendorDontSendEmptyReplies
vendorDryMode
vendorDryWithDHCPMode
vendorStatelessRA
vendorTTL
vendorLeaseLifetime
vendorRARouterLifetime
vendorRAPeriod
vendorDNSTimeout
vendorStopAfter
vendorVerbose
vendorNoColor
vendorNoTimestamps
vendorLogFileName
vendorNoHostInfo
vendorHideIgnored
vendorRedirectStderr
vendorListInterfaces
Скачать инструмент
  • Если присутствуют фильтры --dont-spoof/--dont-spoof-for и не настроен вышестоящий DNS-сервер с помощью --delegate-ignored-to, объявления маршрутизаторов не будут напрямую рекламировать DNS-сервер, что делает атаку менее эффективной.
  • Pretender можно настроить на остановку через определенный промежуток времени для ситуаций, когда его нельзя прервать вручную (--stop-after и main.vendorStopAfter).
  • Поиск информации о хосте (который полагается на ARP-таблицу, IP-соседей и обратные запросы) можно отключить с помощью --no-host-info или main.vendorNoHostInfo
  • Если вы не уверены, какой интерфейс выбрать (особенно на Windows), выведите список всех интерфейсов с именами и адресами с помощью --interfaces.
  • Если вы хотите исключить хосты из подделки разрешения локальных имен, убедитесь, что вы также исключили их IPv6-адреса, или используйте --no-ipv6-lnr/main.vendorNoIPv6LNR.
  • Сообщения DHCPv6 обычно содержат опцию FQDN (которая также может иногда содержать имя хоста, не являющееся FQDN). Эта опция используется для фильтрации сообщений по имени хоста (--spoof-for/--dont-spoof-for). Вы можете решить, что делать с сообщениями DHCPv6 без опции FQDN, установив или опустив --ignore-nofqdn.
  • В зависимости от конфигурации сборки используется либо системный резолвер (CGO_ENABLED=1), либо реализация Go (CGO_ENABLED=0). Это может быть важно для сбора информации о хосте, потому что системный резолвер может поддерживать разрешение локальных имен, а реализация Go — нет, если только не используется заглушечный резолвер (stub resolver)..
  • Функциональность информации о хосте в настоящее время доступна только для Windows и Linux.
  • Пользовательский список поставщиков MAC-адресов может быть скомпилирован в двоичный файл путем замены списка по умолчанию hostinfo/mac-vendors.txt. Распознаются только строки с префиксами MAC в следующем формате: FF:FF:FF<tab>VendorID<tab>Vendor (длина префикса MAC может быть произвольной).
  • Если вы хотите выполнять только ретрансляцию Kerberos через динамические обновления, вы можете указать --no-lnr и --spoof-types SOA, чтобы игнорировать любые запросы, не связанные с атакой.
  • При проведении атаки ретрансляции Kerberos, когда krbrelayx.py работает на другом хосте, отличном от pretender (ретрансляционный IPv4-адрес указывает на другой хост, на котором работает krbrelayx.py), хост, на котором работает krbrelayx.py, также должен запустить pretender, чтобы получать и отклонять запросы динамического обновления, отправленные на ретрансляционный IPv4-адрес.
  • По умолчанию, чтобы ограничить сбои во время захвата DNS через DHCPv6, опция --delegate-ignored-to <DNS-сервер> может быть использована для делегирования игнорируемых запросов легитимному DNS-серверу.
  • Опция --dry-with-dhcp может быть объединена с --delegate-ignored-to для мониторинга запросов разрешения имен в сети без помех.
  • Можно игнорировать сообщения DHCP от клиентов, не являющихся Windows, указав --ignore-non-microsoft-dhcp. Это возможно, потому что DHCP-клиент Windows включает в опцию поставщика DHCP корпоративный номер Microsoft 311.
  • С помощью --toggle подделка разрешения имен (DNS, mDNS, LLMNR, NetBIOS) может быть динамически включена и отключена во время выполнения. Это особенно эффективно в сочетании с --delegate-ignored-to для запуска и остановки атак без остановки DHCP-сервера. Это можно использовать в качестве обходного пути, когда DHCP-клиент Windows перестает выдавать адреса в аренду после неудачной попытки связаться с DHCP-сервером в течение некоторого времени.