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

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

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

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

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

Категории

Все категории
Loading categories
whonow — «Вредоносный» DNS-сервер для выполнения атак DNS Rebinding на лету (публичный экземпляр работает на rebind.network:53) | Kitploit
Инструменты/GitHubGitHub/brannondorsey/whonow
Эксплуатация веб-приложенийТестирование на ПроникновениеОбучение и ОбразованиеRed TeamingАнализ DNS
GitHubbrannondorsey/whonow

whonow

«Вредоносный» DNS-сервер для выполнения атак DNS Rebinding на лету (публичный экземпляр работает на rebind.network:53)

Репозиторий
65993488 лет назадПроверено Kitploit

Популярное

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

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

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

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

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

Whonow DNS-сервер

Вредоносный DNS-сервер для выполнения атак DNS Rebinding на лету. whonow позволяет динамически задавать DNS-ответы и правила перепривязки с помощью самих запросов к доменам.

root@kitploit:~
# respond to DNS queries for this domain with 34.192.228.43 the first time
# it is requested and then 192.168.1.1 every time after that
A.34.192.228.43.1time.192.168.1.1.forever.rebind.network

# respond first with 34.192.228.43, then 192.168.1.1 the next five times,
# and then start all over again (1, then 5, forever...)
A.34.192.228.43.1time.192.168.1.1.5times.repeat.rebind.network

Что замечательно в динамических правилах DNS Rebinding, так это то, что вам не нужно поднимать собственный вредоносный DNS-сервер, чтобы начать эксплуатировать политику одинакового источника браузера. Вместо этого все могут использовать один и тот же публичный сервер whonow, работающий на порту 53 rebind.network.

Примечание: Вам следует включать UUID (например, a06a5856-1fff-4415-9aa2-823230b05826) в качестве поддомена в каждый DNS-запрос к серверу . В примерах в этом README они опущены для краткости, но считайте, что запросы к должны быть . Смотрите раздел для получения дополнительной информации о том, почему это необходимо.

whonow
*.rebind.network
*.a06a5856-1fff-4415-9aa2-823230b05826.rebind.network
Подводные камни

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Это программное обеспечение предназначено только для образовательных целей. Его нельзя использовать для незаконной деятельности. Автор не несет ответственности за его использование. Не будьте мудаком.

Поддомены = Правила перепривязки

Красота whonow в том, что вы можете определять поведение DNS-ответов через поддомены в самом доменном имени. Используя всего несколько простых ключевых слов: A, (n)times, forever и repeat, вы можете задавать сложное и мощное поведение DNS.

Анатомия запроса whonow

root@kitploit:~
A.<ip-address>.<rule>[.<ip-address>.<rule>[.<ip-address>.<rule>]][.uuid/random-string].example.com
  • A: Тип DNS-запроса. В настоящее время поддерживаются только записи A, но скоро должна появиться поддержка AAAA.
  • <ip-address>: ipv4 (скоро ipv6) адрес, каждый октет разделён точкой (например, 192.168.1.1).
  • <rule>: Одно из трёх правил
    • (n)time[s]: Количество раз, которое DNS-сервер должен ответить предыдущим IP-адресом. Принимает как формы единственного, так и множественного числа (например, 1time, 3times, 5000times).
    • forever: Отвечать предыдущим IP-адресом бесконечно.
    • repeat: Повторить весь набор правил с начала.
  • [uuid/random-string]: Случайная строка, чтобы держать атаки DNS Rebinding на одни и те же IP-адреса отдельными друг от друга. Смотрите Подводные камни для дополнительной информации.
  • example.com: Доменное имя, которое указывает на whonow-сервер, например на общедоступный экземпляр whonow на rebind.network:53.

Правила можно объединять в цепочку для формирования сложного поведения ответов.

Примеры

root@kitploit:~
# always respond with 192.168.1.1. This isn't really DNS rebinding
# but it still works
A.192.168.1.1.forever.rebind.network

# alternate between localhost and 10.0.0.1 forever
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network

# first respond with 192.168.1.1 then 192.168.1.2. Now respond 192.168.1.3 forever.
A.192.168.1.1.1time.192.168.1.2.2times.192.168.1.3.forever.rebind.network

# respond with 34.192.228.43 the first time, then whatever `whonow --default-address`
# is set to forever after that (default: 127.0.0.1)
A.34.192.228.43.1time.rebind.network

Ограничения

Каждая метка [поддомен] может содержать от 0 до 63 символов... Полное доменное имя не может превышать 253 символов в текстовом представлении. (из статьи DNS в Википедии)

Кроме того, количество меток/поддоменов не может превышать 127.

Подводные камни

Используйте уникальные доменные имена

Каждый уникальный запрос доменного имени к whonow создаёт небольшую программу сохранения состояния в оперативной памяти сервера. При следующем запросе этого доменного имени счётчик программы увеличивается, и состояние может измениться. Все уникальные доменные имена являются собственными уникальными экземплярами программы. Чтобы избежать конфликтов с другими пользователями или случайного увеличения состояния программы вашего доменного имени, следует добавить поддомен UUID после определений правил. Этот UUID никогда не должен повторно использоваться.

root@kitploit:~
# this
A.127.0.0.1.1time.10.0.0.1.1time.repeat.8f058b82-4c39-4dfe-91f7-9b07bcd7fbd4.rebind.network

# not this
A.127.0.0.1.1time.10.0.0.1.1time.repeat.rebind.network

--max-ram-domains

Состояние программы, связанное с каждым уникальным доменным именем, хранится whonow в оперативной памяти. Чтобы избежать нехватки оперативной памяти, устанавливается верхний предел количества уникальных доменов, состояние которых может одновременно управляться. По умолчанию это значение равно 10 000 000, но может быть настроено с помощью --max-ram-domains. Как только этот лимит достигнут, доменные имена и их сохранённые состояния будут удаляться в порядке их добавления (FIFO).

Запуск собственного сервера whonow

Чтобы запустить собственный сервер whonow в облаке, используйте панель управления вашего регистратора доменных имён для настройки кастомного DNS-сервера, указывающего на ваш VPS. Затем установите whonow на этот VPS и убедитесь, что он работает на порту 53 (порт DNS по умолчанию) и что порт 53 доступен из Интернета.

root@kitploit:~
# install
npm install --cli -g whonow@latest

# run it!
whonow --port 53

# you can also run it with more logging to stdout and save DNS activity to CSV
whonow --port 53 --logfile log.csv --verbose

whonow screenshot

Если это ☝ слишком хлопотно, просто используйте публичный сервер whonow, работающий на порту 53 rebind.network.🌐.

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

root@kitploit:~
$ whonow --help
usage: whonow [-h] [-v] [-p PORT] [-d DEFAULT_ANSWER] [-b MAX_RAM_DOMAINS]
              [-l LOGFILE] [-m]
              

A malicious DNS server for executing DNS Rebinding attacks on the fly.

Optional arguments:
  -h, --help            Show this help message and exit.
  -v, --version         Show program's version number and exit.
  -p PORT, --port PORT  What port to run the DNS server on (default: 53).
  -d DEFAULT_ANSWER, --default-answer DEFAULT_ANSWER
                        The default IP address to respond with if no rule is 
                        found (default: "127.0.0.1").
  -b MAX_RAM_DOMAINS, --max-ram-domains MAX_RAM_DOMAINS
                        The number of domain name records to store in RAM at 
                        once. Once the number of unique domain names queried 
                        surpasses this number domains will be removed from 
                        memory in the order they were requested. Domains that 
                        have been removed in this way will have their program 
                        state reset the next time they are queried (default: 
                        10000000).
  -l LOGFILE, --logfile LOGFILE
                        Log to CSV file (default: false)
  -m, --verbose         Log request timestamp and sender IP address to stdout 
                        (default: false)

Тестирование

Сервер whonow должен быть запущен на localhost:15353 для выполнения тестов в test.js

root@kitploit:~
# in one terminal
whonow -p 15353
root@kitploit:~
# in another terminal
cd path/to/node_modules/whonow
npm test
Скачать инструмент