Information Gathering-Web Edition
Last updated
Last updated
El reconocimiento web es una fase esencial en pruebas de seguridad, ya que permite recolectar información clave sobre un sitio o aplicación web antes de una evaluación más profunda.
Se enfoca en identificar activos públicos, encontrar información sensible oculta, analizar la superficie de ataque y recopilar inteligencia útil.
La información obtenida ayuda tanto a atacantes (para personalizar ataques) como a defensores (para mitigar riesgos antes de que sean explotados).
Es una etapa fundamental en pruebas de penetración, ya que define las estrategias para identificar y explotar vulnerabilidades de seguridad.
En el reconocimiento activo, el atacante interactúa directamente con el sistema objetivo para recopilar información.
Implica interacción directa con el objetivo.
Riesgo alto de detección debido a escaneos y consultas directas.
Proporciona información detallada sobre la infraestructura y seguridad del sistema.
El reconocimiento pasivo es mucho más sigiloso que el reconocimiento activo y menos propenso a activar alertas, pero depende de la información ya disponible públicamente, por lo que puede ser menos completo.
Se basa en fuentes públicas sin interactuar con el objetivo.
Bajo riesgo de detección, pero la información obtenida puede ser limitada.
Técnicas incluyen búsquedas en Google, consultas WHOIS, análisis de DNS y redes sociales.
WHOIS es un protocolo de consulta y respuesta ampliamente utilizado para acceder a bases de datos que almacenan información sobre recursos de internet registrados. Aunque está principalmente asociado con los nombres de dominio, WHOIS también puede proporcionar detalles sobre bloques de direcciones IP y sistemas autónomos.
Los datos WHOIS son una fuente valiosa de información para los pentesters durante la fase de reconocimiento en una evaluación de seguridad. Ofrecen información clave sobre la huella digital de la organización objetiva y posibles vulnerabilidades, incluyendo:
Identificación de personal clave:
Los registros WHOIS pueden revelar nombres, correos electrónicos y números de teléfono de personas responsables de la gestión del dominio.
Esta información puede ser utilizada en ataques de ingeniería social o para identificar objetivos potenciales en campañas de phishing.
Descubrimiento de infraestructura de red:
Los detalles técnicos, como los servidores de nombres y direcciones IP, pueden proporcionar pistas sobre la infraestructura de red del objetivo.
Esto ayuda a los pentesters a identificar posibles puntos de entrada o configuraciones erróneas.
Análisis de datos históricos:
Servicios como WhoisFreaks permiten acceder a registros WHOIS históricos.
Analizar cambios en propiedad, información de contacto o detalles técnicos puede ser útil para rastrear la evolución de la presencia digital del objetivo.
Un gateway de seguridad de correo electrónico detecta un correo sospechoso enviado a varios empleados de una empresa. El correo pretende ser del banco de la empresa e insta a los destinatarios a hacer clic en un enlace para actualizar su información de cuenta. Un analista de seguridad investiga el correo y comienza con una consulta WHOIS sobre el dominio vinculado en el mensaje.
El registro WHOIS revela lo siguiente:
Fecha de registro: El dominio fue registrado hace solo unos días.
Registrante: La información del registrante está oculta detrás de un servicio de privacidad.
Servidores de nombres: Los servidores de nombres están asociados con un proveedor de hosting bulletproof, a menudo utilizado para actividades maliciosas.
Estos factores son señales de alerta para el analista. La combinación de registro reciente, anonimato del registrante y hosting sospechoso sugiere fuertemente una campaña de phishing. El analista alerta de inmediato al departamento de TI para bloquear el dominio y advierte a los empleados sobre la estafa.
Una investigación más profunda sobre el proveedor de hosting y las direcciones IP asociadas podría revelar otros dominios de phishing o infraestructura utilizada por el atacante.
Un investigador de seguridad analiza una nueva cepa de malware que ha infectado varios sistemas dentro de una red. El malware se comunica con un servidor remoto para recibir comandos y exfiltrar datos robados. Para obtener información sobre la infraestructura del atacante, el investigador realiza una consulta WHOIS sobre el dominio del servidor de comando y control (C2).
El registro WHOIS revela:
Registrante: El dominio está registrado a nombre de una persona que utiliza un servicio de correo gratuito conocido por facilitar el anonimato.
Ubicación: La dirección del registrante se encuentra en un país con alta actividad cibercriminal.
Registrador: El dominio fue registrado a través de un registrador con políticas laxas frente a actividades abusivas.
Con base en esta información, el investigador concluye que el servidor C2 probablemente esté alojado en una infraestructura comprometida o en un hosting "bulletproof". Luego, utiliza los datos WHOIS para identificar al proveedor de hosting y notificarle la actividad maliciosa.
Una firma de ciberseguridad rastrea las actividades de un grupo avanzado de amenazas conocido por atacar instituciones financieras. Los analistas recopilan datos WHOIS de múltiples dominios asociados con campañas pasadas del grupo para elaborar un informe de inteligencia sobre amenazas.
Al analizar los registros WHOIS, los analistas descubren patrones como:
Fechas de registro: Los dominios fueron registrados en bloques de tiempo, a menudo poco antes de ataques importantes.
Registrantes: Se utilizan alias y datos falsos para registrar los dominios.
Servidores de nombres: Muchos dominios comparten los mismos servidores de nombres, lo que sugiere una infraestructura común.
Historial de eliminación: Varios dominios han sido dados de baja después de ataques, lo que indica posibles intervenciones de fuerzas del orden o equipos de seguridad.
Estos hallazgos permiten a los analistas crear un perfil detallado de las tácticas, técnicas y procedimientos (TTPs) del grupo atacante. El informe también incluye indicadores de compromiso (IOCs) basados en los datos WHOIS, lo que permite a otras organizaciones detectar y bloquear ataques futuros.
Estos tres escenarios demuestran cómo los datos WHOIS pueden ser esenciales en investigaciones de ciberseguridad, desde la detección temprana de phishing, pasando por el análisis de malware, hasta la recolección de inteligencia sobre actores de amenazas.
DNS es el equivalente a un GPS en internet, traduciendo nombres de dominio en direcciones IP para facilitar la navegación en la web.
Sin DNS, recordar direcciones IP sería complicado, ya que tendríamos que memorizar largas cadenas numéricas en lugar de nombres de dominio fáciles de recordar.
El proceso de resolución DNS sigue una estructura jerárquica, pasando por varios servidores hasta encontrar la dirección correcta:
Consulta al resolver DNS: Primero busca en la caché local.
Servidor raíz: Redirige la consulta al TLD correcto.
Servidor TLD: Identifica el servidor de nombres autorizado.
Servidor de nombres autorizado: Devuelve la dirección IP final.
Entrega de la dirección IP: La computadora establece la conexión con el servidor web y carga el contenido.
El almacenamiento en caché acelera futuras consultas, evitando repetir todo el proceso cada vez que visitas una página web.
Este conocimiento es fundamental en ciberseguridad y bug bounty, ya que permite entender cómo los atacantes pueden explotar vulnerabilidades en la configuración de DNS, realizar ataques de envenenamiento de caché (DNS cache poisoning) o manipular registros para interceptar tráfico.
El archivo hosts permite asignar nombres de dominio a direcciones IP manualmente, omitiendo el proceso de DNS.
Se encuentra en C:\\Windows\\System32\\drivers\\etc\\hosts
(Windows) y /etc/hosts
(Linux/macOS).
Formato básico: <Dirección IP> <Nombre de host>
Se edita con permisos de administrador/root, y los cambios se aplican de inmediato.
Usos principales:
Redirigir dominios a servidores locales.
Probar conectividad manualmente.
Bloquear sitios web no deseados.
La resolución de DNS funciona como una carrera de relevos, pasando la consulta desde el resolver hasta el servidor autoritativo y devolviendo la IP correspondiente.
Una zona DNS es un subconjunto del sistema de nombres de dominio que administra una entidad específica.
El archivo de zona es un archivo de texto en el servidor DNS que contiene los registros de recursos para un dominio.
Los principales conceptos del DNS incluyen:
Dominios y direcciones IP (ejemplo: www.example.com → 192.0.2.1
).
Servidores DNS (resolver, raíz, TLD, autoritativo).
Tipos de registros DNS (A, MX, CNAME, NS, TXT, etc.).
Tipos de registros clave:
A: Relaciona un nombre de dominio con una IP.
CNAME: Crea un alias para otro dominio.
MX: Especifica el servidor de correo.
TXT: Se usa para autenticaciones y configuraciones de seguridad.
SOA: Contiene información administrativa sobre la zona DNS.
El campo "IN" en los registros DNS indica que pertenecen al protocolo de Internet (IP).
Conocer estos conceptos es esencial en ciberseguridad y bug bounty, ya que permite identificar y explotar vulnerabilidades relacionadas con configuraciones DNS incorrectas, registros mal configurados o ataques como envenenamiento de caché DNS y subdomain takeover.
El DNS expone información valiosa sobre la infraestructura de un objetivo.
Analizar registros DNS ayuda a mapear la red y detectar sistemas vulnerables.
El monitoreo de DNS puede revelar nuevas oportunidades de ataque.
El DNS es una herramienta esencial para la recolección de información y la identificación de vulnerabilidades antes de realizar pruebas más intrusivas.
Los subdominios suelen albergar información y recursos que no están directamente enlazados en el sitio principal. Estos pueden incluir:
Entornos de desarrollo y pruebas → Subdominios utilizados para probar nuevas funciones antes del despliegue oficial. A menudo presentan medidas de seguridad relajadas, lo que puede exponer vulnerabilidades o información sensible.
Portales de inicio de sesión ocultos → Páginas de administración o paneles de acceso restringido que pueden ser objetivos de ataques de fuerza bruta o explotación de credenciales.
Aplicaciones obsoletas → Algunas empresas olvidan subdominios con aplicaciones desactualizadas, lo que las convierte en un punto débil con vulnerabilidades conocidas.
Exposición de información sensible → Documentos internos, archivos de configuración o bases de datos pueden quedar accesibles públicamente por error.
Existen métodos activos y pasivos para descubrir subdominios.
Activa: Mayor control, pero más detectable.
Pasiva: Más sigilosa, pero podría no encontrar todos los subdominios.
Lo ideal es combinar ambas estrategias para una enumeración más efectiva y completa.
La enumeración de subdominios con fuerza bruta es esencial en el reconocimiento web.
Elegir una wordlist adecuada mejora los resultados y la eficiencia del escaneo.
Validar los subdominios encontrados ayuda a identificar posibles vectores de ataque.
Si bien la fuerza bruta puede ser efectiva, existe un método menos intrusivo y potencialmente más eficiente para descubrir subdominios: la transferencia de zona DNS.
¿Qué es una transferencia de zona DNS?
Es un mecanismo utilizado para replicar registros DNS entre servidores de nombres. Sin embargo, si está mal configurado, puede exponer una gran cantidad de información sensible, incluyendo:
Lista completa de subdominios y direcciones IP asociadas.
Registros MX (correo), NS (servidores de nombres), y más.
Estructura de red interna y posibles puntos de entrada.
1️⃣ Solicitud de Transferencia de Zona (AXFR)
El servidor DNS secundario envía una solicitud de transferencia al servidor principal.
Esta solicitud utiliza el protocolo AXFR (Full Zone Transfer).
2️⃣ Recepción del Registro SOA
El servidor primario responde con su registro SOA (Start of Authority).
El número de serie en el SOA permite al servidor secundario saber si sus datos están actualizados.
3️⃣ Transmisión de Registros DNS
El servidor primario transfiere todos los registros DNS en la zona.
Esto incluye registros A, AAAA, MX, CNAME, NS, entre otros.
4️⃣ Finalización de la Transferencia
Una vez enviados todos los registros, el servidor primario envía una notificación de finalización.
5️⃣ Confirmación (ACK)
El servidor secundario envía una confirmación de recepción (ACK).
La transferencia se considera completa y exitosa.
Una transferencia de zona sin restricciones expone información sensible de la infraestructura DNS de un objetivo.
Los atacantes pueden obtener listas de subdominios ocultos, direcciones IP y detalles del proveedor de hosting.
Las configuraciones modernas deben restringir las transferencias de zona solo a servidores autorizados.
Los servidores web pueden alojar múltiples sitios en una sola máquina utilizando Virtual Hosts.
El encabezado HTTP Host es clave para diferenciar entre los distintos sitios web en un mismo servidor.
Los subdominios tienen registros DNS y pueden apuntar a la misma IP que el dominio principal o a otra distinta.
Los Virtual Hosts son configuraciones del servidor web que permiten definir sitios distintos dentro del mismo servidor.
VHost fuzzing es una técnica para descubrir subdominios ocultos y configuraciones no documentadas.
Modificar el archivo hosts en la máquina local permite acceder a Virtual Hosts sin un registro DNS.
Ejemplo en Apache: Se pueden definir múltiples dominios en un solo servidor y asignarles rutas de documentos distintas.
El navegador solicita un sitio web introduciendo un nombre de dominio.
El encabezado Host informa al servidor web qué sitio web se solicita.
El servidor web busca la configuración correspondiente en sus Virtual Hosts.
El servidor web sirve los archivos correctos según la configuración encontrada.
El encabezado Host es esencial para que los servidores web gestionen múltiples sitios en un solo servidor. Este concepto es clave en la administración de servidores y en la identificación de posibles vectores de ataque al configurar varios sitios en un solo servidor.
Alojamiento Virtual Basado en Nombre: Flexible y rentable, depende del encabezado Host para identificar el sitio web.
Alojamiento Virtual Basado en IP: Cada sitio tiene una IP única, lo que permite mayor aislamiento pero requiere más direcciones IP.
Alojamiento Virtual Basado en Puertos: Utiliza puertos diferentes en la misma IP, pero no es tan común ni tan amigable para el usuario.
Gobuster
Feroxbuster
ffuf
Los registros de Transparencia de Certificados (CT Logs) son públicos e inmutables, permitiendo la auditoría y detección temprana de certificados fraudulentos.
Permiten la detección de subdominios de manera más eficiente que la fuerza bruta o diccionarios, proporcionando una vista histórica de un dominio.
Las herramientas como crt.sh y Censys permiten buscar certificados emitidos para un dominio, facilitando la identificación de subdominios y configuraciones erróneas.
Los registros CT mejoran la seguridad web al obligar a las Autoridades de Certificación (CAs) a rendir cuentas sobre sus prácticas de emisión.
El fingerprinting permite identificar tecnologías utilizadas en un sitio web, ayudando a encontrar vulnerabilidades específicas.
Se basa en técnicas como banner grabbing, análisis de cabeceras HTTP, probing de respuestas y análisis de contenido web.
Facilita ataques dirigidos, la identificación de configuraciones inseguras y la priorización de objetivos.
Combinar fingerprinting con otras técnicas de reconocimiento mejora la comprensión de la infraestructura de un objetivo.
Existen varias técnicas utilizadas para el fingerprinting de servidores web y tecnologías subyacentes:
Consiste en analizar los banners presentados por servidores web y otros servicios.
Estos banners suelen revelar el software del servidor, números de versión y otros detalles.
Ejemplo: Un servidor Apache puede responder con Apache/2.4.49 (Ubuntu)
, lo que da pistas sobre el software y su versión.
Cada solicitud y respuesta HTTP contiene cabeceras (headers) con información valiosa.
Ejemplos comunes de cabeceras útiles para fingerprinting:
Server:
→ Muestra el software del servidor web (ej. nginx/1.18.0
).
X-Powered-By:
→ Puede revelar tecnologías adicionales como lenguajes de scripting o frameworks (ej. PHP/7.4.3
).
Enviar solicitudes especialmente diseñadas al objetivo puede generar respuestas únicas que revelen tecnologías o versiones específicas.
Ejemplo:
Ciertas respuestas de error (403 Forbidden
, 500 Internal Server Error
) pueden indicar el uso de software o configuraciones específicas.
Examinar la estructura, scripts y otros elementos de una página web puede proporcionar pistas sobre las tecnologías utilizadas.
Ejemplos:
Archivos JavaScript que pertenecen a ciertos frameworks (ej. jquery.min.js
indica jQuery).
Comentarios en el código fuente que mencionan el uso de plataformas específicas.
Encabezados de copyright o pie de página que identifican software específico.
El fingerprinting es una técnica ampliamente utilizada en pruebas de penetración y bug bounty, ya que ayuda a:
Descubrir software desactualizado y configuraciones débiles.
Identificar posibles exploits disponibles para una versión específica de un software.
Reducir el tiempo de enumeración al centrarse en objetivos más prometedores.
El crawling es una técnica esencial en el reconocimiento web que permite:
Mapear la estructura de un sitio web.
Descubrir enlaces ocultos y páginas sensibles.
Extraer información valiosa como metadatos, comentarios y archivos confidenciales.
Identificar configuraciones incorrectas y potenciales vulnerabilidades.
El crawling es ampliamente utilizado en pentesting y bug bounty, ya que facilita:
La detección de rutas y archivos sensibles.
El descubrimiento de endpoints ocultos.
El análisis de la estructura de un sitio antes de realizar ataques dirigidos.
El verdadero valor del crawling no está solo en los datos extraídos, sino en cómo se conectan entre sí:
Ejemplo 1:
Un comentario menciona una versión antigua de software.
La metadata confirma el mismo número de versión.
Un archivo de configuración revela que el software está mal configurado.
🚨 Conclusión: El sitio podría ser vulnerable a exploits conocidos.
Ejemplo 2:
Un crawler encuentra varios enlaces apuntando a un directorio /files/
.
Se inspecciona manualmente el directorio y se descubre que la navegación está habilitada.
📂 Resultado: Acceso a archivos internos, documentos y backups.
En ambos casos, los datos individuales no parecen críticos, pero al analizarlos juntos, se revelan posibles vulnerabilidades.
robots.txt es un archivo en la raíz del sitio que controla cómo los bots pueden rastrear el contenido.
Se basa en directivas como Disallow
, Allow
, Crawl-delay
y Sitemap
.
No es un mecanismo de seguridad obligatorio, pero la mayoría de los bots legítimos lo respetan.
En reconocimiento web, puede revelar directorios ocultos, mapear la estructura del sitio e identificar honeypots.
El análisis de robots.txt puede ofrecer pistas sobre la organización y posibles vulnerabilidades de un sitio.
Supongamos que encontramos el siguiente robots.txt en un sitio:
Podemos extraer la siguiente información:
Todos los bots tienen prohibido acceder a /admin/
y /private/
.
Todos los bots pueden acceder a /public/
.
Googlebot debe esperar 10 segundos entre solicitudes.
El sitio tiene un sitemap en https://www.ejemplo.com/sitemap.xml
.
A partir de esto, podríamos inferir que el sitio tiene un panel de administración en /admin/
y contenido privado en /private/
, lo que podría representar un posible punto de interés en una auditoría de seguridad.
El estándar .well-known (RFC 8615) establece un directorio estándar dentro del dominio raíz de un sitio web (/.well-known/
), donde se almacenan archivos de configuración y metadatos clave sobre servicios, protocolos y seguridad. Este estándar facilita que navegadores, aplicaciones y herramientas de seguridad accedan automáticamente a configuraciones específicas, como security.txt
, utilizado para reportar vulnerabilidades.
La IANA mantiene un registro de URIs dentro de .well-known
, como:
security.txt: Contacto para reportar vulnerabilidades.
change-password: Redirección a la página de cambio de contraseña.
openid-configuration: Información sobre autenticación OpenID Connect.
assetlinks.json: Verificación de propiedad de activos digitales.
mta-sts.txt: Seguridad en la transmisión de correos electrónicos.
En reconocimiento web, .well-known
permite descubrir endpoints y configuraciones sensibles. Un caso clave es openid-configuration
, que expone detalles sobre autenticación, emisión de tokens y algoritmos criptográficos. Analizar estos datos puede ayudar a identificar posibles vectores de ataque o fallos de seguridad.
Explorar .well-known
es una técnica efectiva en pentesting, ya que ofrece información estructurada sobre la infraestructura de un sitio web, permitiendo mapear su seguridad y encontrar oportunidades de ataque.
El web crawling es un proceso complejo, pero existen múltiples herramientas que automatizan esta tarea, haciéndola más rápida y eficiente. Algunas de las herramientas más utilizadas son:
Burp Suite Spider: Parte de Burp Suite, se especializa en mapear aplicaciones web, descubrir contenido oculto y detectar vulnerabilidades.
OWASP ZAP: Herramienta gratuita y de código abierto que permite analizar la seguridad de aplicaciones web mediante crawling automatizado o manual.
Scrapy: Framework en Python para construir crawlers personalizados, ideal para la extracción de datos estructurados y automatización de tareas de reconocimiento.
Apache Nutch: Crawler escalable en Java, diseñado para grandes volúmenes de rastreo web, útil en proyectos de reconocimiento a gran escala.
Los motores de búsqueda no solo sirven para responder preguntas cotidianas, sino que también son herramientas clave en reconocimiento web y OSINT (inteligencia de fuentes abiertas). A través de operadores de búsqueda avanzados, se pueden descubrir datos sensibles, páginas ocultas y otra información valiosa sobre sitios web, organizaciones e individuos.
Accesibilidad: Toda la información obtenida es pública y legal.
Amplia cobertura: Los motores de búsqueda indexan una gran parte de la web.
Fácil de usar: No requiere conocimientos técnicos avanzados.
Gratuito: No implica costos adicionales.
Evaluación de seguridad: Identificar vulnerabilidades y datos expuestos.
Inteligencia competitiva: Obtener información sobre estrategias de competidores.
Periodismo de investigación: Descubrir conexiones ocultas o actividades sospechosas.
Ciberseguridad: Monitorear amenazas emergentes y actores maliciosos.
Algunos operadores permiten filtrar los resultados de manera precisa:
site:
→ Busca dentro de un dominio específico.
inurl:
→ Encuentra páginas con términos en la URL.
filetype:
→ Localiza archivos de un tipo específico (PDF, DOC, etc.).
intitle:
→ Busca términos en los títulos de las páginas.
intext:
→ Filtra por contenido dentro del cuerpo de la página.
cache:
→ Muestra la versión en caché de un sitio web.
link:
→ Encuentra páginas que enlazan a una web en particular.
related:
→ Identifica sitios similares a un dominio dado.
AND
, OR
, NOT
→ Combinan o excluyen términos en las búsquedas.
Google Dorking (también conocido como Google Hacking) es una técnica que utiliza operadores de búsqueda avanzados en Google para descubrir información sensible, vulnerabilidades de seguridad y contenido oculto en sitios web.
Algunas consultas útiles incluyen:
Páginas de inicio de sesión:
site:example.com inurl:login
site:example.com (inurl:login OR inurl:admin)
Archivos expuestos:
site:example.com filetype:pdf
site:example.com (filetype:xls OR filetype:docx)
Archivos de configuración:
site:example.com inurl:config.php
site:example.com (ext:conf OR ext:cnf)
Copias de seguridad de bases de datos:
site:example.com inurl:backup
site:example.com filetype:sql
La Wayback Machine es una herramienta clave para el reconocimiento web, permitiendo visualizar versiones antiguas de sitios web y analizar su evolución. Su capacidad de revelar activos ocultos, rastrear cambios en estructuras y obtener información histórica la hace valiosa para el OSINT y la seguridad ofensiva. Además, su acceso pasivo minimiza el riesgo de detección, lo que la convierte en una excelente opción para la recolección de datos en investigaciones de ciberseguridad y bug bounty.
La automatización del reconocimiento web es una estrategia fundamental para mejorar la eficiencia y precisión en la recolección de información en ciberseguridad. Mediante el uso de herramientas y marcos como Recon-ng, SpiderFoot y theHarvester, los profesionales de seguridad pueden realizar tareas complejas de manera más rápida, precisa y escalable. Estos marcos permiten realizar un reconocimiento exhaustivo, con integración fácil a otras plataformas y la posibilidad de personalización para necesidades específicas. Esta automatización no solo aumenta la cobertura de información, sino que también minimiza los errores humanos, optimizando el proceso de identificación de vulnerabilidades.