43 - Pentesting WHOIS

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks

Informations de base

Le protocole WHOIS sert de méthode standard pour interroger les enregistrants ou détenteurs de diverses ressources Internet via des bases de données spécifiques. Ces ressources englobent les noms de domaine, les blocs d’adresses IP et les systèmes autonomes, entre autres. En outre, le protocole permet d’accéder à une gamme plus étendue d’informations.

Port par défaut : 43

PORT   STATE  SERVICE
43/tcp open   whois?

D’un point de vue offensif, souvenez‑vous que WHOIS est simplement un service TCP en texte brut : le client envoie une requête, le serveur renvoie du texte lisible par un humain, et la fermeture de la connexion marque la fin de la réponse. Il n’y a aucune authentification, intégrité ou confidentialité intégrées dans le protocole.

Réalité moderne : WHOIS vs RDAP

Pour les données d’enregistrement de domaines Internet, WHOIS n’est plus l’option de référence pour de nombreux workflows gTLD publics. ICANN a mis fin à WHOIS pour les données d’enregistrement gTLD le 2025-01-28, faisant de RDAP le protocole à privilégier pour les recherches de données d’enregistrement de domaine lisibles par machine.

Cependant, TCP/43 vaut encore la peine d’être testé car il continue d’apparaître dans :

  • Services WHOIS hérités ou privés
  • RIR / workflows d’allocation d’adresses IP
  • Registres internes et bases de données d’actifs personnalisées
  • Outils web tiers et anciennes automatisations qui continuent de faire confiance aux réponses WHOIS

Si votre objectif est reverse whois, une expansion d’actifs plus large, ou une recon externe récursive, consultez the External Recon Methodology page pour éviter de dupliquer le travail ici.

Énumérer

Obtenez toutes les informations qu’un service whois possède sur un domaine :

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

Si vous trouvez un service WHOIS accessible publiquement, testez à la fois les requêtes de type domain et IP/ASN, car de nombreuses implémentations exposent différents backends ou parsers selon le type d’objet :

# 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

Beaucoup d’informations utiles pour l’énumération WHOIS sont cachées derrière les referrals. Par exemple, un serveur peut simplement vous rediriger vers le serveur WHOIS autoritaire suivant pour un TLD ou un RIR. Cela vaut la peine d’être testé manuellement, car certains services personnalisés gèrent mal les requêtes de suivi, censurent les champs de façon incohérente, ou leak des métadonnées backend supplémentaires.

Useful options and helpers:

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

Champs intéressants sur lesquels pivoter lorsque le service n’est pas entièrement masqué :

  • Registrar / Org / abuse contact pour le signalement de phishing ou l’org-mapping
  • Dates de création / mise à jour / d’expiration pour repérer une infrastructure nouvellement enregistrée
  • Nameservers pour regrouper des domaines gérés par le même opérateur
  • Referral server names pour trouver une infrastructure WHOIS legacy ou oubliée

RDAP en tant que successeur structuré

Même si le service exposé est le WHOIS classique sur le port 43, vérifiez si le même fournisseur propose également RDAP, car RDAP est souvent plus facile à analyser et mieux adapté à l’automatisation :

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

Une nuance offensive pratique : une étude de mesure de 2024 comparant WHOIS et RDAP à grande échelle a montré qu’ils ne sont pas toujours interchangeables, avec des incohérences dans des champs tels que les identifiants de registrar, les dates de création et les nameservers. Si votre recon pipeline dépend de ces valeurs, comparez les deux sources avant de prendre des décisions.

Notes offensives

Backend Injection in Custom WHOIS Gateways

De plus, le service WHOIS doit toujours utiliser une base de données pour stocker et extraire l’information. Ainsi, une possible SQLInjection peut être présente lors de l’exécution d’une requête sur la base de données à partir d’informations fournies par l’utilisateur. Par exemple, en faisant : whois -h 10.10.10.155 -p 43 "a') or 1=1#" vous pourriez être capable d’extraire toutes les informations enregistrées dans la base de données.

Ne limitez pas les tests au SQLi. Dans des déploiements WHOIS internes ou de niche, la requête peut être transmise à :

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

Effectuez du fuzzing avec des payloads pour SQLi, LDAP injection, abus de délimiteurs, chaînes très longues et UTF-8 malformé / caractères de contrôle. Le protocole lui-même est simple ; la partie dangereuse est généralement le parser ou le code de liaison du backend.

Rogue / Stale WHOIS Servers

Un vecteur d’attaque pertinent en 2024-2025 est d’exploiter la confiance WHOIS obsolète. Si un registry ou un outil change son hostname WHOIS et que l’ancien domaine expire, un attaquant peut être en mesure d’enregistrer l’ancien hostname et d’opérer un rogue WHOIS server.

Cela donne à l’attaquant le contrôle du corps de la réponse vu par :

  • 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

C’est important car une réponse WHOIS rogue peut devenir un point d’entrée pour :

  • stored/reflected XSS in web WHOIS frontends
  • parser bugs / command injection / eval bugs in libraries consuming the text response
  • bad automation decisions when systems trust attacker-controlled WHOIS contact data

Lorsque vous trouvez un service WHOIS privé ou legacy, vérifiez toujours si les valeurs retournées refer: / Whois Server:, les bannières ou les mappages TLD pointent vers des domaines expirés ou enregistrables par un attaquant.

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}

Références

Tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE) Apprenez et pratiquez le hacking Azure : HackTricks Training Azure Red Team Expert (AzRTE)

Soutenir HackTricks