43 - Pentesting WHOIS

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Podstawowe informacje

Protokół WHOIS służy jako standardowa metoda dla uzyskiwania informacji o rejestrantach lub właścicielach różnych zasobów internetowych poprzez określone bazy danych. Zasoby te obejmują nazwy domen, bloki adresów IP oraz systemy autonomiczne, między innymi. Ponadto protokół znajduje zastosowanie w dostępie do szerszego zakresu informacji.

Domyślny port: 43

PORT   STATE  SERVICE
43/tcp open   whois?

Z ofensywnego punktu widzenia pamiętaj, że WHOIS to usługa TCP działająca w postaci zwykłego tekstu: klient wysyła zapytanie, serwer zwraca tekst czytelny dla człowieka, a zamknięcie połączenia oznacza koniec odpowiedzi. W protokole nie ma wbudowanej autentykacji, integralności ani poufności.

Współczesna rzeczywistość: WHOIS vs RDAP

Dla danych rejestracji domen internetowych WHOIS nie jest już opcją autorytatywną dla wielu publicznych procesów związanych z gTLD. ICANN sunset WHOIS for gTLD registration data on 2025-01-28, co sprawia, że RDAP jest protokołem preferowanym do maszynowych zapytań o dane rejestracyjne domen.

Jednak TCP/43 wciąż warto testować, ponieważ pojawia się w:

  • Starsze lub prywatne usługi WHOIS
  • RIR / procesy przydziału IP
  • Wewnętrzne rejestry i niestandardowe bazy danych zasobów
  • Narzędzia webowe stron trzecich i stare automatyzacje które wciąż polegają na odpowiedziach 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.

Enumeracja

Uzyskaj wszystkie informacje, które usługa whois ma o domenie:

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

Jeśli znajdziesz publicznie dostępny serwis WHOIS, przetestuj zapytania zarówno w stylu domain, jak i IP/ASN, ponieważ wiele implementacji udostępnia różne backendy lub parsery w zależności od typu obiektu:

# 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

Zauważ, że czasami podczas żądania pewnych informacji z usługi WHOIS używana baza danych pojawia się w odpowiedzi:

Referral Chasing and Better Enumeration

Duża część użytecznej enumeracji WHOIS jest ukryta za referrals. Na przykład jeden serwer może jedynie wskazywać kolejny autorytatywny serwer WHOIS dla TLD lub RIR. Warto to testować ręcznie, ponieważ niektóre usługi niestandardowe niepoprawnie obsługują kolejne zapytania, niespójnie maskują pola, or leak extra backend metadata.

Przydatne opcje i pomocniki:

# 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>

Interesujące pola do pivot on, gdy usługa nie jest w pełni zredagowana:

  • Registrar / Org / abuse contact do phishing reporting lub org-mapping
  • Creation / update / expiration times aby wykryć świeżo zarejestrowaną infrastrukturę
  • Nameservers aby grupować domeny zarządzane przez tego samego operatora
  • Referral server names aby znaleźć starszą lub zapomnianą infrastrukturę WHOIS

RDAP jako ustrukturyzowany następca

Nawet jeśli ujawniona usługa to klasyczny WHOIS na porcie 43, sprawdź, czy ten sam dostawca oferuje również RDAP, ponieważ RDAP jest często łatwiejszy do parsowania i lepszy do automatyzacji:

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

A practical offensive nuance: a 2024 measurement study comparing WHOIS and RDAP at scale found that they are not always interchangeable, with inconsistencies in fields such as registrar identifiers, creation dates, and nameservers. If your recon pipeline depends on those values, compare both sources before making decisions.

Uwagi ofensywne

Backend Injection in Custom WHOIS Gateways

Also, the WHOIS service always needs to use a bazy danych to store and extract the information. So, a possible SQLInjection could be present when zapytaniu the database from some information provided by the user. For example doing: whois -h 10.10.10.155 -p 43 "a') or 1=1#" you could be able to wyciągnąć wszystkie the informacje saved in the database.

Do not limit testing to SQLi. In internal or niche WHOIS deployments, the query can be proxied to:

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

So fuzz with payloads for SQLi, LDAP injection, delimiter abuse, very long strings, and malformed UTF-8 / control characters. The protocol itself is simple; the dangerous part is usually the parser or backend glue code.

Złośliwe / nieaktualne serwery WHOIS

A relevant 2024-2025 attack path is abusing przestarzałego zaufania WHOIS. If a registry or tool changes its WHOIS hostname and the old domain expires, an attacker may be able to register the old hostname and operate a złośliwy serwer WHOIS.

That gives the attacker control over the response body seen by:

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

This matters because a rogue WHOIS response can become an entry point for:

  • przechowywane/odbijane XSS in web WHOIS frontends
  • parser bugs / command injection / eval bugs in libraries consuming the text response
  • złe decyzje automatyzacji when systems trust attacker-controlled WHOIS contact data

When you find a private or legacy WHOIS service, always check whether the returned refer: / Whois Server: values, banners, or TLD mappings point to wygasłe lub możliwe do zarejestrowania przez atakującego domeny.

Shodan

  • port:43 whois

Automatyczne polecenia HackTricks

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}

Źródła

Tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks