10 minuto(s) estimado(s) de lectura
Recolección de información de páginas web
herramientas

La extracción de información web es una técnica para extraer grandes cantidades de datos de sitios web en Internet.
Extensiones recomendadas
- Wappalyzer: es una extensión del navegador que descubre las tecnologías utilizadas en los sitios web. Detecta sistemas de administración de contenido, tiendas web, servidores web, marcos de JavaScript, herramientas de análisis y muchos más.
- IP Address and Domain Information: esta extensión muestra información detallada acerca de cada dirección IP, nombre de dominio y proveedor.
- Shodan: La extensión de Shodan le dice dónde está alojado el sitio web (país, ciudad), quién es el propietario de la IP y qué otros servicios/puertos están abiertos.
Obtención IP de dominio
┌─[root@kali]─[/home/user/]
└──╼ ping <dirección web>
También se pueden obtener los saltos que se tienen desde nuestra IP hasta llegar a la conexión con la dirección seleccionada, por medio de traceroute
:
┌─[root@kali]─[/home/user/]
└──╼ traceroute <dirección web>
Identificación pasiva
DNS Records
Registro DNS | Descripción |
---|---|
A | Devuelve como resultado una dirección IPv4 del dominio solicitado. |
AAA | Devuelve una dirección IPv6 del dominio solicitado. |
MX | Devuelve los servidores de correo responsables como resultado. |
NS | Devuelve los servidores DNS (nameservers) del dominio. |
TXT | Este registro puede contener diversa información. El “all-rounder” se puede utilizar, por ejemplo, para validar Google Search Console o validar certificados SSL. Además, las entradas SPF y DMARC están configuradas para validar el tráfico de correo y protegerlo del spam. |
CNAME | Este registro sirve como un alias. Si el dominio www.google.com debe apuntar a la misma IP, y creamos un registro A para uno y un registro CNAME para el otro. |
PTR | El registro PTR funciona al revés. Convierte direcciones IP en nombres de dominio válidos. |
SOA | Proporciona información sobre la “DNS Zone” correspondiente. |
Detección de datos de servidor whois
Los datos de WHOIS constituyen una fuente clave de información en la fase de reconocimiento durante un pentest. Permiten obtener detalles críticos sobre la huella digital de una organización y detectar posibles vulnerabilidades:
-
Los registros pueden mostrar nombres, correos y teléfonos de administradores de dominio, útiles para ataques de phishing.
-
Información técnica como name servers e IPs que pueden revelar la arquitectura del objetivo y potenciales puntos de entrada.
-
Revisar cambios en registros pasados para rastrear modificaciones de propiedad, contactos o configuraciones, dando una visión de la evolución del dominio.
┌─[root@kali]─[/home/user/]
└──╼ whois <dirección web o dirección IP>
No todas las direcciones cuentan con servidor whois
Enumeración de DNS
El DNS (Domain Name System) es como una guía de direcciones para Internet. En lugar de que tengamos que memorizar largas secuencias de números (direcciones IP), el DNS se encarga de traducir los nombres de dominio que usamos a diario (por ejemplo, www.example.com ) en las direcciones IPs. De esta forma, cada vez que escribes una dirección web, el DNS hace la conversión en segundo plano y te dirige al sitio correcto, facilitando la navegación y el acceso a los servicios en línea. Los registros DNS pueden revelar una gran cantidad de información, incluidos subdominios, servidores de correo y registros de servidores de nombres.
Su enumeración se puede realizar a través de un script Perl multiproceso para obtener la información de DNS de un dominio y descubrir bloques de IP no contiguos. El objetivo principal es recopilar la mayor cantidad de información posible sobre un dominio.
┌─[root@kali]─[/home/user/]
└──╼ dnsenum <dirección web>
Si deseas asignar nombres de host a direcciones IP, puedes realizarlo tanto en C:\Windows\System32\drivers\etc\hosts
para windows como /etc/hosts
para linux.
Herramientas DNS
Tenemos dos herramientas muy conocidas la primera es nslookup
la cual sirve para comprobaciones rápidas de resolución de dominio y registros del servidor de correo. La segunda es el comando dig
(Domain Information Groper) es una herramienta flexible y potente que permite consultar servidores DNS y obtener distintos tipos de registros relacionados con un dominio.
┌──(root㉿kali)-[/home/user/]
└─# nslookup <dirección web>
Otra opción es por medio de dig
:
┌──(root㉿kali)-[/home/user/]
└─# dig google.com @8.8.8.8
Consulta de registros A
┌──(root㉿kali)-[/home/user/]
└─# nslookup -query=A <dirección web>
Otra opción es por medio de dig
:
┌──(root㉿kali)-[/home/user/]
└─# dig a facebook.com @1.1.1.1
Consulta de registros PTR
┌──(root㉿kali)-[/home/user/]
└─# nslookup -query=PTR <dirección IP>
Otra opción es por medio de dig
:
┌──(root㉿kali)-[/home/user/]
└─# dig -x 31.13.92.36 @1.1.1.1
Consulta de registros MX
┌──(root㉿kali)-[/home/user/]
└─# nslookup -query=MX facebook.com
Otra opción es por medio de dig
:
┌──(root㉿kali)-[/home/user/]
└─# dig mx facebook.com @1.1.1.1
Consulta de registros TXT
┌──(root㉿kali)-[/home/user/]
└─# nslookup -query=TXT google.com
Otra opción es por medio de dig
:
┌──(root㉿kali)-[/home/user/]
└─# dig txt google.com @8.8.8.8
Consulta de cualquier registro existente
┌──(root㉿kali)-[/home/user/]
└─# nslookup -query=ANY facebook.com
Otra opción es por medio de dig
:
┌──(root㉿kali)-[/home/user/]
└─# dig any google.com @8.8.8.8
Obtención de correos electrónicos
Desde google una manera sencilla es realizando la siguiente búsqueda:
"@example.com" -example.com
Aunque una manera más completa de realizarlo es por medio de la herramienta theHarvester
la cual recopila correos electrónicos, nombres, subdominios, IP y URL.
┌─[root@kali]─[/home/user/]
└──╼ theHarvester -d <dominio> -l 500 -b google
Parámetro | Utilidad |
---|---|
-d | Se indica el dominio web. |
-l | Indica la cantidad de búsquedas que va a realizar. |
-b | Se selecciona el buscador. |
Con el parámetro -f
se pueden guardar los resultados en un archivo .html.
Página recomendada: Hunter.io
Sonar Search
Es la base de datos DNS de Rapid7 en la que se puede buscar fácilmente a través de una API ultrarrápida dominios disponibles en milisegundos.
┌─[root@kali]─[/home/user/]
└──╼ apt install jq
Encontrar todos los subdominios
┌─[root@kali]─[/home/user/]
└──╼ curl -s https://sonar.omnisint.io/subdomains/facebook.com | jq -r '.[]' | sort -u -o subdomains.txt
Buscar todos los dominios de nivel superior (TLDs)
┌─[root@kali]─[/home/user/]
└──╼ curl -s https://sonar.omnisint.io/tlds/facebook.com | jq -r '.[]' | sort -u -o tlds.txt
Buscar todos los resultados de todos los TLDs
┌─[root@kali]─[/home/user/]
└──╼ curl -s https://sonar.omnisint.io/all/facebook.com | jq -r '.[]' | sort -u -o all.txt
Otras opciones
Dirección | Utilidad |
---|---|
/reverse/{ip} | Búsqueda inversa de DNS en la dirección IP. |
/reverse/{ip}/{mask} | Búsqueda DNS inversa de un rango CIDR. |
Página web: omnisint.io
Subdominios por certificados
Otra forma de extraer subdominios es por medio de los certificados SSL/TLS. Para esto nos puede servir crt.sh. En dónde una manera es por medio de su motor de búsqueda y otro es por medio de curl
:
┌─[root@kali]─[/home/user/]
└──╼ curl -s "https://crt.sh/?q=facebook.com&output=json" | jq -r '.[] | "\(.name_value)\n\(.common_name)"' | sort -u -o subdomains.txt
Por medio de openSSL
sería de la siguiente forma:
┌─[root@kali]─[/home/user/]
└──╼ openssl s_client -ign_eof 2>/dev/null <<<$'HEAD / HTTP/1.0\r\n\r' -connect "facebook.com:443" | openssl x509 -noout -text -in - | grep 'DNS' | sed -e 's|DNS:|\n|g' -e 's|^\*.*||g' | tr -d ',' | sort -u
Identificación activa
Ver encabezado
┌─[root@kali]─[/home/user/]
└──╼ curl -I "http://${TARGET}"
Tipos de valores de cookies
- .RED:ASPSESSIONID
= - PHP:PHPSESSID=
- JAVA:JSESSION=
Detección de tecnologías
┌─[root@kali]─[/home/user/]
└──╼ whatweb -v <dirección web>
Parámetro | Utilidad |
---|---|
-v | Muestra la salida de forma más detallada. |
Para obtener más información pruebe agregar los parámetros -a3
o -a4
.
Detección de WAF
Un WAF es un firewall de aplicaciones web que ayuda a proteger las aplicaciones web filtrando y monitoreando el tráfico HTTP entre una aplicación web e Internet. Este crea una defensa contra una variedad de vectores de ataque.
┌─[root@kali]─[/home/user/]
└──╼ apt install wafw00f -y
┌─[root@kali]─[/home/user/]
└──╼ wafw00f <dirección web>
Identificar nombres de servidores
┌─[root@kali]─[/home/user/]
└──╼ nslookup -type=NS <dirección web>
Con dig
se realiza lo siguiente:
┌─[root@kali]─[/home/user/]
└──╼ dig ns test.com @10.129.114.183
Prueba de transferencia de zona
Una transferencia de zona consiste en copiar todos los registros de un dominio y sus subdominios desde un servidor DNS a otro, con el fin de mantener coherencia y redundancia. El problema surge cuando esta función no está protegida: un atacante puede descargar el archivo completo de la zona y obtener de inmediato la lista de subdominios, direcciones IP y otros datos sensibles.
┌─[root@kali]─[/home/user/]
└──╼ nslookup -type=any -type=AXFR <dirección web> <nombre de servidor>
Con dig
se realiza lo siguiente:
┌─[root@kali]─[/home/user/]
└──╼ dig axfr test.com @10.129.14.128
Detección de subdominios por fuerza bruta
┌─[root@kali]─[/home/user/]
└──╼ dnsenum --dnsserver 10.129.129.221 --enum -p 0 -s 0 -o subdomains.txt -f /usr/share/wordlists/SecLists/Discovery/DNS/fierce-hostlist.txt dev.inlanefreight.htb
También otra opción es con gobuster.
┌─[root@kali]─[/home/user/]
└──╼ gobuster vhost -u http://<target_IP_address> -w <wordlist_file> --append-domain -k
Obtención de directorios
Para esto se recomienda leer el artículo de Wfuzz.
Otras herramientas
- CentralOps: página web de información general recomendada.
- OWASP Mantra: es un navegador especialmente diseñado para pruebas de seguridad de aplicaciones web.
- Aquatone: es una herramienta para la inspección visual de sitios web en una gran cantidad de hosts y es conveniente para obtener rápidamente una visión general de la superficie de ataque basada en HTTP.