43 - Pentesting WHOIS

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

Informazioni di base

Il protocollo WHOIS funge da metodo standard per informarsi sui registranti o sui titolari di varie risorse Internet tramite specifici database. Queste risorse comprendono nomi di dominio, blocchi di indirizzi IP e sistemi autonomi, tra gli altri. Oltre a questi, il protocollo è impiegato per accedere a un più ampio spettro di informazioni.

Porta predefinita: 43

PORT   STATE  SERVICE
43/tcp open   whois?

Dal punto di vista offensivo, ricorda che WHOIS è solo un servizio TCP in testo semplice: il client invia una richiesta, il server restituisce testo leggibile dall’uomo, e la chiusura della connessione segna la fine della risposta. Non esiste autenticazione, integrità o riservatezza integrate nel protocollo.

Realtà moderna: WHOIS vs RDAP

Per i dati di registrazione dei domini Internet, WHOIS non è più l’opzione autorevole per molti workflow gTLD pubblici. ICANN ha deprecato WHOIS per i dati di registrazione gTLD il 2025-01-28, rendendo RDAP il protocollo da preferire per le ricerche di registrazione di dominio in formato machine-readable.

Tuttavia, TCP/43 vale ancora la pena testarlo perché continua ad apparire in:

  • Servizi WHOIS legacy o privati
  • Flussi di lavoro RIR / assegnazione IP
  • Registri interni e database di asset personalizzati
  • Third-party web tools e automazioni datate che si fidano ancora delle risposte WHOIS

Se il tuo obiettivo è reverse whois, un’espansione più ampia degli asset, o recursive external recon, consulta the External Recon Methodology page per evitare di duplicare il lavoro qui.

Enumerare

Ottieni tutte le informazioni che un servizio whois ha su un dominio:

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

Se trovi un servizio WHOIS pubblico, testa sia le query in stile domain sia quelle in stile IP/ASN perché molte implementazioni espongono backend o parser diversi a seconda del tipo di oggetto:

# 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

Nota che a volte, quando si richiede qualche informazione a un servizio WHOIS, il database utilizzato appare nella risposta:

Referral Chasing and Better Enumeration

Gran parte della utile WHOIS enumeration è nascosta dietro le referrals. Ad esempio, un server può semplicemente indirizzarti al successivo server WHOIS autorevole per un TLD o un RIR. Vale la pena testarlo manualmente perché alcuni servizi personalizzati gestiscono male le query di follow-up, oscurano i campi in modo incoerente, o leak extra backend metadata.

Opzioni e helper utili:

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

Campi interessanti su cui pivotare quando il servizio non è completamente oscurato:

  • Registrar / Org / abuse contact per report di phishing o mappatura dell’organizzazione
  • Creation / update / expiration times per individuare infrastrutture appena registrate
  • Nameservers per raggruppare domini gestiti dallo stesso operatore
  • Referral server names per trovare infrastruttura WHOIS legacy o dimenticata

RDAP come successore strutturato

Anche se il servizio esposto è il classico WHOIS sulla porta 43, verifica se lo stesso provider offre anche RDAP, perché RDAP è spesso più semplice da analizzare e più adatto all’automazione:

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

Una sfumatura offensiva pratica: uno studio di misura del 2024 che ha confrontato WHOIS e RDAP su larga scala ha rilevato che non sono sempre intercambiabili, con incongruenze in campi come registrar identifiers, creation dates e nameservers. Se la tua pipeline di recon dipende da quei valori, confronta entrambe le fonti prima di prendere decisioni.

Note offensive

Backend Injection in Custom WHOIS Gateways

Inoltre, il servizio WHOIS deve sempre usare un database per memorizzare ed estrarre le informazioni. Quindi, una possibile SQLInjection potrebbe essere presente quando si esegue una query al database usando informazioni fornite dall’utente. Per esempio eseguendo: whois -h 10.10.10.155 -p 43 "a') or 1=1#" potresti essere in grado di estrarre tutte le informazioni salvate nel database.

Non limitare i test a SQLi. In deployment WHOIS interni o di nicchia, la query può essere inoltrata a:

  • SQL / NoSQL backends
  • LDAP directories
  • shell wrappers attorno ad altri lookup tools
  • HTTP APIs usate da registrar o portali di asset-management

Quindi fuzz con payload per SQLi, LDAP injection, abuso di delimitatori, stringhe molto lunghe e UTF-8 malformato/caratteri di controllo. Il protocollo in sé è semplice; la parte pericolosa è di solito il parser or backend glue code.

Rogue / Stale WHOIS Servers

Un vettore di attacco rilevante nel 2024-2025 è l’abuso della fiducia WHOIS obsoleta. Se un registry o uno strumento cambia il suo hostname WHOIS e il vecchio dominio scade, un attaccante potrebbe registrare il vecchio hostname e gestire un rogue WHOIS server.

Questo permette all’attaccante di controllare il corpo della risposta visto da:

  • 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

Questo è importante perché una risposta WHOIS rogue può diventare un punto di ingresso per:

  • stored/reflected XSS nei frontend web WHOIS
  • parser bugs / command injection / eval bugs nelle librerie che consumano la risposta testuale
  • bad automation decisions quando i sistemi si fidano dei dati di contatto WHOIS controllati dall’attaccante

Quando trovi un servizio WHOIS privato o legacy, controlla sempre se i valori refer: / Whois Server:, i banner o le mappature TLD puntano a domini scaduti o registrabili dall’attaccante.

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}

Riferimenti

Tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks