43 - Pentesting WHOIS

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks

Базова інформація

Протокол WHOIS слугує стандартним методом для запитів щодо реєстрантів або власників різних інтернет-ресурсів через відповідні бази даних. До цих ресурсів належать доменні імена, блоки IP-адрес та автономні системи, серед інших. Окрім цього, протокол застосовується для доступу до ширшого спектру інформації.

Порт за замовчуванням: 43

PORT   STATE  SERVICE
43/tcp open   whois?

З атакувальної точки зору, пам’ятайте, що WHOIS — це просто текстовий TCP-сервіс: клієнт надсилає запит, сервер повертає текст, що читається людиною, і закриття з’єднання означає кінець відповіді. У протоколі немає вбудованої автентифікації, цілісності чи конфіденційності.

Сучасна реальність: WHOIS vs RDAP

Для даних реєстрації доменів в Інтернеті, WHOIS більше не є авторитетним варіантом для багатьох робочих процесів публічних gTLD. ICANN припинив використання WHOIS для даних реєстрації gTLD з 2025-01-28, через що RDAP став пріоритетним протоколом для машинно-зчитуваних пошуків даних про реєстрацію доменів.

Однак TCP/43 все ще варто тестувати, оскільки він продовжує з’являтися в:

  • Старих або приватних WHOIS-сервісах
  • RIR / процесах розподілу IP
  • Внутрішніх реєстрах та власних базах даних активів
  • Третьосторонніх веб-інструментах та застарілій автоматизації, які все ще довіряють відповідям WHOIS

If your goal is reverse whois, broader asset expansion, or recursive external recon, check the External Recon Methodology page to avoid duplicating work here.

Перерахування

Отримайте всю інформацію, яку WHOIS-служба має про домен:

whois -h <HOST> -p <PORT> "domain.tld"
printf 'domain.tld\r\n' | nc -vn <HOST> <PORT>

Якщо ви знайдете публічно доступний WHOIS‑сервіс, протестуйте як запити типу domain, так і IP/ASN, тому що багато реалізацій використовують різні бекенди або парсери залежно від типу об’єкта:

# Domain
printf 'example.com\r\n' | nc -vn <HOST> 43

# IP / CIDR / ASN examples
printf '8.8.8.8\r\n' | nc -vn <HOST> 43
printf 'AS15169\r\n' | nc -vn <HOST> 43

Referral Chasing and Better Enumeration

Зверніть увагу, що іноді при запиті інформації до WHOIS-сервісу в відповіді вказується база даних, яка використовується:

Багато корисної WHOIS-енумерації приховано за перенаправленнями. Наприклад, один сервер може лише вказувати вам на наступний авторитетний WHOIS-сервер для певного TLD або RIR. Це варто перевірити вручну, оскільки деякі кастомні сервіси неправильно обробляють подальші запити, непослідовно приховують поля, або leak додаткові метадані бекенду.

Корисні опції та допоміжні інструменти:

# Ask IANA first and then follow the authoritative referral (common Linux whois clients)
whois -I example.com
whois -I 8.8.8.8

# Let Nmap follow domain/IP WHOIS referrals automatically
nmap --script whois-domain <target>
nmap --script whois-ip <target>

# For IP ranges, disable the WHOIS cache if you care about smaller delegated blocks
nmap --script whois-ip --script-args whois.whodb=nocache <target>

Цікаві поля для подальшого аналізу, коли сервіс не повністю замасковано:

  • Registrar / Org / abuse contact для повідомлення про phishing або картографування організацій
  • Creation / update / expiration times щоб виявляти щойно зареєстровану інфраструктуру
  • Nameservers щоб кластеризувати домени, якими керує той самий оператор
  • Referral server names щоб знайти застарілу або забуту WHOIS-інфраструктуру

RDAP як структурований наступник

Навіть якщо відкритий сервіс — класичний WHOIS на порті 43, перевірте, чи той самий провайдер також пропонує RDAP, бо RDAP часто простіше парсити та кращий для автоматизації:

curl -s https://www.rdap.net/domain/example.com | jq
curl -s https://rdap.arin.net/registry/ip/8.8.8.8 | jq

Практичний офензивний нюанс: дослідження 2024 року, яке порівнювало WHOIS та RDAP у великих масштабах, виявило, що вони не завжди взаємозамінні, з невідповідностями у полях, таких як registrar identifiers, creation dates та nameservers. Якщо ваш конвеєр recon залежить від цих значень, порівняйте обидва джерела перед прийняттям рішень.

Offensive Notes

Backend Injection in Custom WHOIS Gateways

Крім того, сервіс WHOIS завжди потребує використання database для зберігання та витягування інформації. Тому можлива наявність SQLInjection під час querying бази даних на основі даних, наданих користувачем. Наприклад, виконавши: whois -h 10.10.10.155 -p 43 "a') or 1=1#" ви зможете витягнути всі information, збережені в базі даних.

Не обмежуйте тестування тільки SQLi. У внутрішніх або нішевих розгортаннях WHOIS запит може бути проксійований до:

  • SQL / NoSQL backends
  • LDAP directories
  • shell wrappers around other lookup tools
  • HTTP APIs used by registrar or asset-management portals

Тому фузьте з payloads для SQLi, LDAP injection, delimiter abuse, дуже довгих рядків та malformed UTF-8 / control characters. Протокол сам по собі простий; небезпечна частина зазвичай — parser or backend glue code.

Rogue / Stale WHOIS Servers

Актуальний шлях атаки 2024–2025 років — зловживання outdated WHOIS trust. Якщо реєстр або інструмент змінює свій WHOIS hostname, а старий домен спливає, нападник може зареєструвати старий hostname і запустити rogue WHOIS server.

Це дає нападникові контроль над тілом відповіді, яке бачать:

  • old WHOIS clients with hardcoded server mappings
  • web applications that fetch WHOIS output and render it back to users
  • automation that still uses WHOIS for domain validation or ownership workflows

Це важливо, оскільки rogue WHOIS response може стати точкою входу для:

  • stored/reflected XSS у web WHOIS фронтендах
  • parser bugs / command injection / eval bugs у бібліотеках, що споживають текстову відповідь
  • bad automation decisions коли системи довіряють attacker-controlled WHOIS contact data

Коли знаходите приватний або legacy WHOIS сервіс, завжди перевіряйте, чи не вказують повернуті refer: / Whois Server: значення, банери або TLD mappings на expired or attacker-registerable domains.

Shodan

  • port:43 whois

HackTricks Automatic Commands

Protocol_Name: WHOIS    #Protocol Abbreviation if there is one.
Port_Number:  43     #Comma separated if there is more than one.
Protocol_Description: WHOIS         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for WHOIS
Note: |
The WHOIS protocol serves as a standard method for inquiring about the registrants or holders of various Internet resources through specific databases. These resources encompass domain names, blocks of IP addresses, and autonomous systems, among others. Beyond these, the protocol finds application in accessing a broader spectrum of information.


https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-smtp/index.html

Entry_2:
Name: Banner Grab
Description: Grab WHOIS Banner
Command: whois -h {IP} -p 43 {Domain_Name} && printf '{Domain_Name}\r\n' | nc -vn {IP} 43

Entry_3:
Name: Nmap WHOIS Referrals
Description: Follow WHOIS referrals for domain and IP lookups
Command: nmap --script whois-domain,whois-ip --script-args whois.whodb=nocache {IP}

Посилання

Tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Вивчайте та практикуйте Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Підтримайте HackTricks