43 - Pentesting WHOIS

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Información básica

El protocolo WHOIS sirve como un método estándar para consultar a los registrantes o titulares de diversos recursos de Internet a través de bases de datos específicas. Estos recursos abarcan nombres de dominio, bloques de direcciones IP y sistemas autónomos, entre otros. Más allá de esto, el protocolo se emplea para acceder a un espectro más amplio de información.

Puerto por defecto: 43

PORT   STATE  SERVICE
43/tcp open   whois?

Desde un punto de vista ofensivo, recuerda que WHOIS es solo un servicio TCP de texto plano: el cliente envía una consulta, el servidor devuelve texto legible por humanos, y el cierre de la conexión marca el fin de la respuesta. No existe autenticación, integridad ni confidencialidad incorporadas en el protocolo.

Realidad moderna: WHOIS vs RDAP

Para los datos de registro de dominios de Internet, WHOIS ya no es la opción autorizada para muchos flujos de trabajo de gTLD públicos. ICANN retiró WHOIS para los datos de registro de gTLD el 2025-01-28, convirtiendo RDAP en el protocolo preferido para búsquedas de registro de dominios legibles por máquina.

Sin embargo, TCP/43 todavía vale la pena probarlo porque sigue apareciendo en:

  • Servicios WHOIS heredados o privados
  • RIR / flujos de trabajo de asignación de IP
  • Registros internos y bases de datos de activos personalizadas
  • Herramientas web de terceros y automatizaciones antiguas que aún confían en las respuestas WHOIS

Si tu objetivo es reverse whois, una expansión de activos más amplia, o recon externa recursiva, consulta the External Recon Methodology page para evitar duplicar trabajo aquí.

Enumerar

Obtén toda la información que un servicio whois tiene sobre un dominio:

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

Si encuentras un servicio WHOIS público, prueba consultas de estilo tanto domain como IP/ASN porque muchas implementaciones exponen diferentes backends o parsers dependiendo del tipo de objeto:

# 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

Observa que, a veces, al solicitar información a un servicio WHOIS la base de datos que se está utilizando aparece en la respuesta:

Seguimiento de referencias y mejor enumeración

Mucha enumeración útil de WHOIS está oculta detrás de referencias. Por ejemplo, un servidor puede limitarse a apuntarte al siguiente servidor WHOIS autorizado para un TLD o un RIR. Vale la pena probar esto manualmente porque algunos servicios personalizados gestionan incorrectamente las consultas de seguimiento, ocultan campos de forma inconsistente o leak metadatos adicionales del backend.

Opciones y utilidades útiles:

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

Campos interesantes para pivotear cuando el servicio no está completamente redactado:

  • Registrar / Org / contacto de abuso para reportar phishing o mapear la organización
  • Fechas de creación / actualización / expiración para detectar infraestructura recién registrada
  • Servidores de nombres para agrupar dominios gestionados por el mismo operador
  • Nombres de servidores de referencia para encontrar infraestructura WHOIS legada u olvidada

RDAP como sucesor estructurado

Incluso si el servicio expuesto es el clásico WHOIS en el puerto 43, verifica si el mismo proveedor también ofrece RDAP porque RDAP suele ser más fácil de analizar y más adecuado para la automatización:

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

Una matiz ofensiva práctica: un estudio de medición de 2024 que comparó WHOIS y RDAP a gran escala encontró que no siempre son intercambiables, con inconsistencias en campos como identificadores de registrador, fechas de creación y nameservers. Si tu pipeline de recon depende de esos valores, compara ambas fuentes antes de tomar decisiones.

Offensive Notes

Backend Injection in Custom WHOIS Gateways

Además, el servicio WHOIS siempre necesita usar una database para almacenar y extraer la información. Por tanto, una posible SQLInjection podría estar presente al querying la base de datos a partir de alguna información proporcionada por el usuario. Por ejemplo haciendo: whois -h 10.10.10.155 -p 43 "a') or 1=1#" podrías ser capaz de extraer toda la información almacenada en la database.

No limites las pruebas a SQLi. En despliegues WHOIS internos o nicho, la query puede ser proxied a:

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

Así que fuzzea con payloads para SQLi, LDAP injection, abuso de delimitadores, cadenas muy largas y UTF-8 malformado / caracteres de control. El protocolo en sí es simple; la parte peligrosa suele ser el parser o el código de enlace del backend.

Rogue / Stale WHOIS Servers

Una vía de ataque relevante en 2024-2025 es abusar de la confianza WHOIS desactualizada. Si un registro o herramienta cambia su hostname WHOIS y el dominio antiguo expira, un atacante podría registrar el hostname antiguo y operar un rogue WHOIS server.

Eso da al atacante control sobre el cuerpo de la respuesta visto por:

  • clientes WHOIS antiguos con mapeos de servidor hardcodeados
  • aplicaciones web que obtienen la salida WHOIS y la renderizan a usuarios
  • automatizaciones que todavía usan WHOIS para validación de dominio o flujos de propiedad

Esto importa porque una respuesta WHOIS rogue puede convertirse en un punto de entrada para:

  • stored/reflected XSS en frontends WHOIS web
  • parser bugs / command injection / eval bugs en librerías que consumen la respuesta de texto
  • malas decisiones de automatización cuando los sistemas confían en datos de contacto WHOIS controlados por un atacante

Cuando encuentres un servicio WHOIS privado o legacy, siempre verifica si los valores devueltos refer: / Whois Server:, los banners o los mapeos de TLD apuntan a dominios expirados o registrables por un atacante.

Shodan

  • port:43 whois

HackTricks Comandos automáticos

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}

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks