Cheatsheet
  • Introducción
    • 👾Ethical Hacking Cheatsheet
      • 📕Metodología OSSTMM
      • 📘MITRE ATT&CK
      • 🔢Proceso de Pentesting
      • 💻Instalación del entorno
        • 💻Instalación de VMWare
        • 💻Virtualizar Kali Linux
        • 🎨Personalización del entorno
        • 🕷️Máquinas Vulnerables
          • 💣Metasploitable 3
          • 🖖VPLE
          • 🟦Windows 11 Developer
      • 📔Organización y Notas
      • 👜Documentación e informes
        • 👜Documentos iniciales
        • 👜Toma de notas y organización
        • 👜Herramientas de documentación
        • 👜Tipos de informes
        • 👜Componentes de un informe
        • 👜Cómo redactar un hallazgo
        • 👜Consejos y trucos en la realización de informes
        • 👜Caso práctico: Informes
        • 👜CPTS Report
  • Sistemas básicos
    • 🐧Linux
    • 🪟Windows
    • 🔓Puertos y comprobaciones
    • Modos de Red
  • Recopilación de información
    • 🌐Google Hacking
      • 🌐Google Dorks
    • 💻Enumeración
      • 💻Metodología
      • 💻FTP
      • 💻SMB
      • 💻NFS
      • 💻DNS
      • 💻SMTP
      • 💻IMAP/POP3
      • 💻SNMP
      • 💻MySQL
      • 💻MSSQL
      • 💻Oracle TNS
      • 💻IPMI
      • 💻Protocolos de Administración Remota - Linux
      • 💻Protocolos de Administración Remota - Windows
      • 💻Footprinting Lab - Easy
      • 💻Footprinting Lab - Medium
      • 💻Footprinting Lab - Hard
    • 🔎Recopilación de información
      • 🔎Recopilación Pasiva
        • 🔎Subdominios - Pasiva
        • 🔎Identificar Tecnologías
        • 🔎Infraestructura - Pasiva
        • 🔎Fingerprinting
        • 🦭FOCA
      • 💻Recopilación Activa
        • 💻Reconocimiento automatizado
        • 💻Nmap
        • 💻Nmap Scripting Engine
        • 💻Subdominios - Activa
        • 💻Infraestructura - Activa
        • 💻Virtual Hosts
        • 💻Evasión de IDS
        • 💻Escaneo Avanzado
        • 💻Lab - Recopilación
      • 🧠OSINT
        • 🧠Herramientas Genéricas
        • 🧠OSINT a Usernames
        • 🧠OSINT a Teléfonos
        • 🧠OSINT a Emails
        • 🧠OSINT a Dominios
        • 🧠OSINT en Linkedin
        • 🧠OSINT en Instagram
    • 🕸️Fuzzing
      • 🕸️Gobuster
      • 🕸️Ffuf
      • 🕸️Dirsearch
    • 🕸️Crawling
      • 🕸️Web Crawlers
      • 🕸️Herramientas de Crawling
    • ☁️Hacking en CMS
    • 🍏Hacking en MacOS
  • Análisis de vulnerabilidades
    • 👾Análisis de vulnerabilidades
    • 👽Herramientas de Análisis
      • ⚙️Nmap: Análisis
      • ⚙️Nuclei
      • ⚙️OpenVAS
      • ⚙️Nessus
  • Explotación de vulnerabilidades
    • 💣Explotación en Hosts
      • 🔥Acceso básico
      • 🐚Shells y Payloads
        • 🐚Bind Shells
        • 🐚Reverse Shells
        • 🐚Payloads
        • 💣Metasploit Payloads
        • 🐚Tratamiento de la TTY
        • 🐚Webshells
          • 🐚Laudanum
          • 🐚PHP Webshell
        • 💣Lab de explotación
      • 🔎Buscador de exploits
      • 🔑Password Attacks
        • 🔑Cracking de Contraseñas
        • 🔑Bruteforce de Servicios
        • 🔑Login Bruteforce
          • 🔑Ataques de fuerza bruta
          • 🔑Ataques de diccionario
          • 🔑Ataques Híbridos
          • 🔑Bruteforce con Hydra
          • 🔑Autenticación HTTP básica
          • 🔑Formularios de Login
          • 🔑Medusa
        • 🔑Password Mutations
        • 🔑Contraseñas por defecto
        • 🔑Windows Attacks
          • 🔑Atacando a SAM
          • 🔑Atacando a LSASS
          • 🔑Atacando Active Directory
          • 🔑Credential Hunting - Windows
        • 🔑Linux Attacks
          • 🔑Credential Hunting - Linux
          • 🔑Passwd, Shadow y Opasswd
        • 🔑Archivos Protegidos
        • 🔑Archivos Comprimidos
        • 🔑Políticas de Contraseñas
        • 🔑Administradores de Contraseñas
        • 🔑Labs de contraseñas
          • 🔑Lab de contraseñas - Easy
          • 🔑Lab de contraseñas - Medium
          • 🔑Lab de contraseñas - Hard
      • 👾Atacando Servicios Comunes
        • 👾Ataques a FTP
        • 👾Ataques a SMB
        • 👾Ataques a Bases de Datos
        • 👾Ataques a RDP
        • 👾Ataques a DNS
        • 👾Ataques a Emails
        • 👾Labs - Common Services
          • 👾Lab - Easy
          • 👾Lab - Medium
          • 👾Lab - Hard
      • 🔁Pivoting, Tunelling y Port Forwarding
        • 🔁Redes en Pivoting
        • 🔁Port Forwarding
        • 🔁Remote/Reverse Port Forwarding con SSH
        • 🔁Meterpreter Tunneling & Port Forwarding
        • 🔁Pivoting con Socat
        • 🔁SSH para Windows: plink.exe
        • 🔁Pivoting SSH con Sshuttle
        • 🔁Web Server Pivoting con Rpivot
        • 🔁Port Forwarding con Windows Netsh
        • 🔁Túnel DNS con Dnscat2
        • 🔁SOCKS5 Tunneling con Chisel
        • 🔁ICMP Tunneling con SOCKS
        • 🔁RDP y SOCKS Tunneling con SocksOverRDP
        • 🔁Pivoting: Skills Assessment
        • 🔁Port Forwarding dinámico
      • 🧨Metasploit
        • 🧨Metasploit - Atacando Windows
      • ☠️Msfvenom
      • 🐍Hydra
      • ❌BruteX
      • 🔄File Transfers
      • 💿Buffer Overflow en Linux
    • 💣Explotación en Web
      • ⬆️Ataques de subida de archivos
        • ⬆️Ausencia de validación
        • ⬆️Explotación de subida
        • ⬆️Client-Side Validation
        • ⬆️Filtros de Blacklist
        • ⬆️Filtros de Whitelist
        • ⬆️Filtros de tipo
        • ⬆️Cargas de archivos limitadas
        • ⬆️Otros ataques de carga
        • ⬆️Prevención en carga de archivos
        • ⬆️File Uploads - Skills Assessment
      • 🕸️Ataques Web Modernos
        • 🕸️HTTP Verb Tampering
          • 🕸️Bypass de autenticación
          • 🕸️Bypass de Filtros
          • 🕸️Prevención de HTML Verb Tampering
        • 🕸️IDOR
          • 🕸️Identificación de IDOR
          • 🕸️Enumeración de IDOR
          • 🕸️Bypass de referencias codificadas
          • 🕸️IDOR en APIs Inseguras
          • 🕸️Encadenar vulnerabilidades IDOR
          • 🕸️Prevención de IDOR
        • 🕸️XML External Entity (XXE)
          • 🕸️Local File Disclosure
          • 🕸️Advanced File Disclosure
          • 🕸️Blind Data Exfiltration
          • 🕸️Prevención de XXE
        • 🕸️Ataques Web - Skills Assesment
      • 💣Ataques a Aplicaciones Web
        • 🔎Descubrimiento y enumeración de aplicaciones
        • 💣Ataques a CMS
          • 🔎Wordpress - Enumeración
          • 💣Wordpress - Ataques
          • 🔎Joomla - Enumeración
          • 💣Joomla - Ataques
          • 🔎Drupal - Enumeración
          • 💣Drupal - Ataques
        • 💣Ataques a Servlet Containers
          • 🔎Tomcat - Enumeración
          • 💣Tomcat - Ataques
          • 🔎Jenkins - Enumeración
          • 💣Jenkins - Ataques
        • 💣Ataques a herramientas de monitorización
          • 🔎Splunk - Enumeración
          • 💣Splunk - Ataques
          • 💣PTRG Network Monitor
        • 💣Ataques a aplicaciones varias
          • 💣osTicket
          • 🔎GitLab - Enumeración
          • 💣GitLab - Ataques
          • 💣Tomcat CGI
          • 💣Ataques a CGI - Shellshock
          • 💣Ataques a Aplicaciones de Cliente Pesado
          • 💣Vulnerabilidades Web en Aplicaciones de Cliente Pesado
          • 🔎ColdFusion - Enumeración
          • 💣Coldfusion - Ataques
          • 🔎IIS Tilde - Enumeración
          • 💣Asignación masiva de archivos web
          • 💣Ataques a aplicaciones que se conectan a servicios
          • 💣Otras aplicaciones notables
          • 🛡️Hardening de Aplicaciones
        • 💣Labs - Ataques a Aplicaciones
          • 💣Lab - Ataques a Aplicaciones I
          • 💣Lab - Ataques a Aplicaciones II
          • 💣Lab - Ataques a Aplicaciones III
      • 💉SQL Injection
        • 💉SQLMap
          • 💉Introducción a SQLMap
          • 💉SQLMap - HTTP Request
          • 💉SQLMap - Manejo de errores
          • 💉SQLMap - Ajuste del ataque
          • 💉SQLMap - Enumeración Básica
          • 💉SQLMap - Enumeración Avanzada
          • 💉SQLMap - Bypass de protección web
          • 💉SQLMap - Explotación de S.O.
          • 💉SQLMap - Skills Assessment
      • 💉Command Injection
        • 💉Detección
        • 💉Inyectando comandos
        • 💉Otros operadores de inyección
        • 💉Identificación de filtros
        • 💉Bypass de filtros de espacios
        • 💉Bypass de otros caracteres en Blacklist
        • 💉Bypass de comandos en Blacklist
        • 💉Ofuscación de comandos avanzada
        • 💉Herramientas de Ofuscación de comandos
        • 💉Prevención de Command Injection
        • 💉Command Injection - Skills Assesment
      • 📁Local File Inclusion
      • 💿Cross Site Scripting (XSS)
        • 💿XSS Stored
        • 💿XSS Reflected
        • 💿XSS DOM-Based
        • 💿XSS Discovery
        • 💿XSS Payloads
        • 💿Defacing con XSS
        • 💿Phising con XSS
        • 💿Session Hijacking
        • 💿Prevención de XSS
        • 💿XSS - Skills Assessment
      • 💻API Hacking
      • 🔻DDoS Attack
      • 💡Web Proxies
        • 💡Configuración
        • 💡Interceptando solicitudes
        • 💡Interceptar respuestas
        • 💡Modificación automática
        • 💡Solicitudes repetidas
        • 💡Encoding / Decoding
        • 💡Herramientas de Proxy
        • 💡Burp Intruder
        • 💡Zap Fuzzer
        • 💡Burp Scanner
        • 💡Zap Scanner
        • 💡Extensiones
        • 💡Proxy: Skills Assestment
      • 👨‍🍳Cyberchef
    • 💣Explotación en Redes
      • 😎Man in the middle
      • 🎣Phising
        • 🎣Herramientas de Phising
        • 🎣Seeker y Ngrok
        • 🎣Social Engineering Toolkit
        • 🎣Gophish
      • 🤼Ingeniería Social
      • 🔐Bruteforce a RRSS
      • 🌐Hacking WiFi
        • 🌐Conceptos básicos
        • 🌐Redes Básicas
        • 🌐Sniffing
        • 🌐Deauth
        • 🌐Redes ocultas
        • 🌐WEP Cracking
          • 🌐Ataque a WEP
          • 🌐Fake Autentication
          • 🌐Packet Injection
            • 🌐ARP Request Replay
            • 🌐Chop Chop
            • 🌐Fragmentation
          • 🌐Redes SKA
        • 🌐WPS Cracking
        • 🌐WPA/WPA2 Cracking
        • 🌐Wifite
        • 🌐Evil Portal
        • 🌐Rainbow Table
        • 🌐WPA/WPA2 Enterprise
    • 📕Diccionarios Custom
      • 📕Username Anarchy
      • 📕Cupp
      • 📕Crunch
      • 📕CeWL
      • 📕DyMerge
  • Post Explotación
    • 💻Post Explotación
      • 👾Meterpreter
      • 🐈Mimikatz
      • 🔐LaZagne
      • 📩Procdump y lsass.exe
      • ↔️Movimientos Laterales
        • ↔️Pass the Hash (PtH)
        • ↔️Pass the Ticket (PtT) - Windows
        • ↔️Pass the Ticket (PtT) - Linux
      • 🚪Backdoor en binarios
      • 🦅Covenant
      • ⚔️Koadic
      • 💾Bases de datos
        • 💾MySQL
        • 💾PostgreSQL
      • ⚙️P.E. Avanzada
      • 🧼Borrado de evidencias
    • 🌋Escalada de Privilegios
      • 🐧Escalada de privilegios en Linux
        • 🐧Enumeración del entorno
        • 🐧Enumeración de servicios y componentes internos
        • 🐧Búsqueda de credenciales en Linux
        • 🐧Abuso de PATH
        • 🐧Abuso de comodines
        • 🐧Shells restringidos
        • 🐧Permisos especiales
        • 🐧Abuso de permisos Sudo
        • 🐧Grupos privilegiados
        • 🐧Capabilities
        • 🐧Servicios vulnerables
        • 🐧Abuso de Cron
        • 🐧Contenedores
        • 🐧Docker
        • 🐧Kubernetes
        • 🐧Logrotate
        • 🐧Técnicas varias
        • 🐧Exploits del Kernel - Linux
        • 🐧Bibliotecas compartidas
        • 🐧Secuestro de objetos compartidos
        • 🐧Secuestro de librería de Python
        • 🐧Sudo Zeroday
        • 🐧Polkit Zeroday
        • 🐧Dirty Pipe
        • 🐧Netfilter
        • 🐧Hardening en Linux - Privesc
        • 🐧Escalada en Linux - Skills Assesment
        • ⬆️Linpeas
      • 📘Escalada de privilegios en Windows
        • 📘Herramientas útiles
        • 📘Conciencia situacional
        • 📘Enumeración inicial en Windows
        • 📘Enumeración inicial
        • 📘Comunicación con Procesos
        • 📘Privilegios de Usuario en Windows
          • 📘SeImpersonate y SeAssignPrimaryToken
          • 📘SeDebugPrivilege
          • 📘SeTakeOwnershipPrivilege
        • 📘Privilegios de Grupo en Windows
          • 📘Grupos Integrados en Windows
          • 📘Lectores de Registros de Eventos
          • 📘DnsAdmins
          • 📘Hyper-V Administrators
          • 📘Print Operators
          • 📘Server Operators
        • 📘Atacando el Sistema Operativo Windows
          • 📘User Account Control (UAC)
          • 📘Permisos débiles
          • 📘Exploits del Kernel - Windows
          • 📘Servicios vulnerables en Windows
          • 📘DLL Injection
        • 📘Robo de credenciales en Windows
          • 📘Búsqueda de credenciales en Windows
          • 📘Otros archivos interesantes en Windows
          • 📘Otros robos de credenciales en Windows
        • 📘Entornos restrictivos - Citrix
        • 📘Varias técnicas de escalada en Windows
          • 📘Interacción con usuarios
          • 📘Pillaging
          • 📘Técnicas varias
        • 📘Sistemas Operativos Obsoletos
          • 📘Sistemas operativos heredados
          • 📘Windows Server
          • 📘Windows Desktop
        • 📘Hardening en Windows
        • 📘Escalada de privilegios en Windows: Skills Assessment
          • 📘Escenario 1
          • 📘Escenario 2
      • 🔴GTFOBins
  • Evasión de defensas
    • 🛡️Detección y evasión de defensas
      • 🛡️Load Balancing Detector
      • 🛡️Evasión de WAFs
      • 🛡️Evasión de Antivirus
      • 🛡️Herramientas de Evasión
  • Active Directory
    • ☁️Active Directory
      • ☁️Enumeración en AD
        • ☁️AD: Enumeración inicial del dominio
        • ☁️AD: Enumeración de controles de seguridad
        • ☁️AD: Enumeración con credenciales: desde Linux
        • 👁️PowerView
        • ☁️AD: Enumeración con credenciales: desde Windows
        • ☁️AD: Enumeración nativa en Windows
      • ☄️Sniffing desde el Foothold
        • ☄️LLMNR/NBT-NS Poisoning - Desde Linux
        • ☄️LLMNR/NBT-NS Poisoning - Desde Windows
      • 🔫Password Spraying
        • 🔫AD: Políticas de contraseñas
        • 🔫AD: Crear lista de usuarios
        • 🔫Password Spraying Interno - Desde Linux
        • 🔫Password Spraying Interno - Desde Windows
      • 🐺Kerberos
        • ⚔️Hacking en Kerberos
        • ⚔️Kerberoasting desde Linux
        • ⚔️Kerberoasting desde Windows
        • 🗝️Acceso a Credenciales
        • 🗝️Volcado de LSASS y SAM
        • 🗝️Credenciales cacheadas
        • 🗝️Pass the Hash
        • 🪙Token Impersonation
        • 🎟️ASK-TGT
        • 🎫Golden y Silver Tickets
        • 🐺Kerberos "Double Hop"
      • 🦸‍♂️ACLs - Access Control Lists
        • 🦸‍♂️ACLs Vulnerables
        • 🦸‍♂️Enumeración de ACLs
        • 🦸‍♂️Tácticas de abuso de ACLs
      • 🔄DCSync
      • ⬆️Acceso Privilegiado
      • ❤️‍🩹Vulnerabilidades en AD
      • ⚙️Malas configuraciones en AD
      • 🤝Relaciones de confianza
        • 🤝Ataque de confianza de dominio - Desde Windows
        • 🤝Ataque de confianza de dominio - Desde Linux
        • 🤝Abuso de confianza entre bosques - Desde Windows
        • 🤝Abuso de confianza entre bosques - Desde Linux
      • ☁️Vulnerable AD
      • ⬇️SAM
      • 🔐LDAP
        • 🔐Atacando LDAP
      • 🔐NTDS
      • 🔐NTLM/SMB Relay
      • 🩸BloodHound
      • 🛡️Hardening en AD
      • 💻Técnicas adicionales de auditoría en AD
      • 💻AD - Skills Assessment I
      • 💻AD - Skills Assessment II
  • Hacking en entornos reales
    • 🏛️Enterprise Hacking
      • 🏛️Escenario y KickOff
      • 🏛️Enterprise Hacking Checklist
      • 🏛️Pruebas externas
        • 🏛️Recopilación de Información Externa
        • 🏛️Enumeración y explotación de servicios
        • 🏛️Enumeración y explotación web
        • 🏛️Acceso inicial
      • 🏛️Pruebas internas
        • 🏛️Persistencia Post-Explotación
        • 🏛️Recopilación de Información Interna
        • 🏛️Explotación y escalada de privilegios
      • 🏛️Movimiento lateral y escalada de privilegios
        • 🏛️Movimiento lateral
        • 🏛️Comprometiendo Active Directory
        • 🏛️Post Explotación en Active Directory
        • 🏛️Cierre del pentesting
    • ☁️AWS - Amazon Web Services
    • ⚔️Hacking en AWS
  • Anonimato y privacidad
    • 👹Anonimato y Privacidad
      • 🔒VPN
      • 🔒Proxy
      • 🔒Red TOR
      • 🔒Zero Knowledge Services
  • Machine Learning en Hacking
    • 🧠Machine Learning
      • 🧠Batea
      • 💀Pesidious
  • Hardware Hacking
    • 🐬Flipper Zero
      • 🐬Introducción
        • 🐬qFlipper
        • 🐬Instalar qFlipper en Kali Linux
        • 🐬Recuperación de Firmware
      • 📻Sub-GHz
        • 📻Lectura de señales
        • 📻Lectura de señales RAW
        • 📻Añadir nuevos controles remotos
        • 📻Frecuencias
      • ♒RFID de 125 kHz
        • ♒Lectura de tarjetas RFID
        • ♒Añadir tarjetas RFID manualmente
        • ♒Escritura de datos en tarjetas T5577
        • ♒Microchips para animales
      • 💳NFC
        • 💳Lectura de tarjetas NFC
        • 💳Extracción de claves con MFKey32
        • 💳Desbloqueo de tarjetas con contraseñas
        • 💳Escritura de datos en Magic Cards
        • 💳Añadir nuevas tarjetas NFC
      • 🔴Infrarrojos
        • 🔴Lectura de señales infrarrojas
        • 🔴Controles remotos universales
      • 👿Bad USB
        • 👿Script básico de Youtube
        • 👿Bruteforce de Pins
        • 👿RatLocker
      • 🎨Custom Firmwares
      • 🛜GPIO y Módulos
        • 🛜Marauder Firmware
        • 🛜Escaneo de Redes Wifi
        • 🛜Wifi Password Cracking
        • 🛜Evil Portal
      • 🔘iButton
        • 🔘Lectura de llaves iButton
        • 🔘Agregar llaves iButton manualmente
        • 🔘Escritura de datos en llaves iButton
  • Writeups
    • 🟢Hack the Box
      • 🟠Blurry
      • 🟠Hospital
      • 🟠Zipping
      • 🟢Analytics
      • 🟢Bizness
      • 🟢Boardlight
      • 🟢Broker
      • 🟢Chemistry
      • 🟢Codify
      • 🟢CozyHosting
      • 🟢Devvortex
      • 🟢GreenHorn
      • 🟢LinkVortex
      • 🟢PermX
    • 🐋Dockerlabs
      • 🟠Inclusion
      • 🟠Veneno
      • 🟢Hedgehog
      • 🟢Library
      • 🟢Move
      • 🟢Walking CMS
    • 🌩️TryHackMe
      • 🟠Attracktive Directory
    • 🌐Over The Wire
      • 🌐Bandit
      • 🌐Natas
Con tecnología de GitBook
En esta página
  • Introducción
  • Cómo funcionan los rastreadores web
  • Extraer información valiosa
  • Robots.txt
  • ¿Qué es robots.txt?
  • Estructura de robots.txt
  • Robots.txt en Reconocimiento Web
  • Well-Known URLs
  • .well-known en Reconocimiento Web

¿Te fue útil?

  1. Recopilación de información

Crawling

Introducción

El crawling (tambien llamado spidering) es el proceso sistemático o automático de explorar un sitio web para enumerar todos los recursos encontrados. Nos muestra la estructura del sitio web que estamos auditando y una descripción general de la superficie de ataque que probaremos en el futuro. Utilizamos el proceso de crawling para encontrar tantas páginas y subdirectorios pertenecientes a un sitio web como sea posible.

Nota: Este tipo de búsquedas son muy invasivas, ya que hacen muchas peticiones al servidor del objetivo, por lo que no podemos utilizar estas técnicas sin un consentimiento o aprobación por parte del objetivo

De manera similar a cómo una araña navega por su red, un rastreador web sigue enlaces de una página a otra y recopila información. Estos rastreadores son esencialmente robots que utilizan algoritmos predefinidos para descubrir e indexar páginas web, haciéndolas accesibles a través de motores de búsqueda o para otros fines como análisis de datos y reconocimiento web.

Cómo funcionan los rastreadores web

El funcionamiento básico de un rastreador web es sencillo pero potente. Comienza con una URL inicial, que es la página web inicial a rastrear. El rastreador busca esta página, analiza su contenido y extrae todos sus enlaces. Luego agrega estos enlaces a una cola y los rastrea, repitiendo el proceso de forma iterativa. Dependiendo de su alcance y configuración, el rastreador puede explorar un sitio web completo o incluso una gran parte de la web.

  1. Homepage: comienza con la página de inicio que contiene link1, link2 y link3

Homepage
├── link1
├── link2
└── link3
  1. Visitar link1: Al visitar link1 se muestra la página de inicio, link2 y también link4y link5

link1
├── Homepage
├── link2
├── link4
└── link5
  1. Continua el Crawling: El rastreador continúa siguiendo estos enlaces sistemáticamente, recopilando todas las páginas accesibles y sus enlaces.

Este ejemplo ilustra cómo un rastreador web descubre y recopila información siguiendo enlaces sistemáticamente, distinguiéndolo de la confusión, que implica adivinar enlaces potenciales.

Hay dos tipos principales de estrategias de crawling:

Breadth-First Crawling

Breadth-first crawling prioriza explorar el ancho de un sitio web antes de profundizar. Comienza rastreando todos los enlaces de la página inicial, luego pasa a los enlaces de esas páginas, y así sucesivamente. Esto es útil para obtener una visión general amplia de la estructura y el contenido de un sitio web.

Depth-First Crawling

Por el contrario, depth-first crawling prioriza la profundidad sobre la amplitud. Sigue un único camino de enlaces en la medida de lo posible antes de retroceder y explorar otros caminos. Esto puede resultar útil para encontrar contenido específico o profundizar en la estructura de un sitio web.

La elección de la estrategia depende de los objetivos específicos del proceso de rastreo.

Extraer información valiosa

Los rastreadores pueden extraer una amplia gama de datos, cada uno de los cuales tiene un propósito específico en el proceso de reconocimiento:

  • Links (Internos y Externos): Estos son los componentes fundamentales de la web, conectando páginas dentro de un sitio web (links internos) y con otros sitios web (links internos). Los rastreadores recopilan meticulosamente estos enlaces, lo que le permite trazar la estructura de un sitio web, descubrir páginas ocultas e identificar relaciones con recursos externos.

  • Comentarios: Las secciones de comentarios en blogs, foros u otras páginas interactivas pueden ser una mina de oro de información. Los usuarios a menudo revelan sin darse cuenta detalles confidenciales, procesos internos o indicios de vulnerabilidades en sus comentarios.

  • Metadatos: Los metadatos se refieren a datos sobre datos. En el contexto de las páginas web, incluye información como títulos de páginas, descripciones, palabras clave, nombres de autores y fechas. Estos metadatos pueden proporcionar un contexto valioso sobre el contenido, el propósito y la relevancia de una página para sus objetivos de reconocimiento.

  • Archivos sensibles: Los rastreadores web se pueden configurar para buscar activamente archivos confidenciales que podrían quedar expuestos inadvertidamente en un sitio web. Esto incluye backups(p. ej. .bak, , .old), archivos de configuración(p. ej. web.config, settings.php), archivos de log (p. ej. error_log, access_log) y otros archivos que contienen contraseñas API keys u otra información confidencial. Examinar detenidamente los archivos extraídos, especialmente los archivos de copia de seguridad y de configuración, puede revelar una gran cantidad de información confidencial, como credenciales de una base de datos, claves de encriptación o incluso fragmentos de código fuente.

La importancia del contexto

Comprender el contexto que rodea los datos extraídos es primordial.

Un solo dato, como un comentario que mencione una versión de software específica, puede no parecer significativo por sí solo. Sin embargo, cuando se combina con otros hallazgos, como una versión desactualizada incluida en los metadatos o un archivo de configuración potencialmente vulnerable descubierto mediante el rastreo, puede transformarse en un indicador crítico de una vulnerabilidad potencial.

El verdadero valor de los datos extraídos radica en conectar los puntos y construir una imagen completa del panorama digital del objetivo.

Por ejemplo, una lista de enlaces extraídos puede parecer inicialmente mundana. Pero tras un examen más detenido, observa un patrón: varias URL apuntan a un directorio llamado /files/. Esto despierta su curiosidad y decide visitar manualmente el directorio. Para su sorpresa, descubre que la exploración de directorios está habilitada, lo que expone una gran cantidad de archivos, incluidos archivos de respaldo, documentos internos y datos potencialmente confidenciales. Este descubrimiento no habría sido posible simplemente observando enlaces individuales de forma aislada; El análisis contextual lo llevó a este hallazgo crítico.

De manera similar, comentarios aparentemente inofensivos pueden adquirir importancia cuando se correlacionan con otros descubrimientos. Es posible que un comentario que mencione un "servidor de archivos" no genere ninguna señal de alerta inicialmente. Sin embargo, cuando se combina con el descubrimiento del /files/directorio antes mencionado, refuerza la posibilidad de que el servidor de archivos sea de acceso público, lo que podría exponer información sensible o datos confidenciales.

Por lo tanto, es esencial abordar el análisis de datos de manera integral, considerando las relaciones entre los diferentes puntos de datos y sus posibles implicaciones para sus objetivos de reconocimiento.


Robots.txt

Imagina que eres un invitado a una gran fiesta en una casa. Si bien eres libre de socializar y explorar, es posible que haya ciertas salas marcadas como "Privadas" que se espera que evites. Esto es similar a cómo funciona robots.txt en el mundo del rastreo web. Actúa como una "guía de etiquetado" virtual para los bots, describiendo a qué áreas de un sitio web se les permite acceder y cuáles están prohibidas.

¿Qué es robots.txt?

Técnicamente, robots.txt es un archivo de texto simple ubicado en el directorio raíz de un sitio web (por ejemplo, www.example.com/robots.txt). Cumple con el Estándar de exclusión de robots, pautas sobre cómo deben comportarse los rastreadores web cuando visitan un sitio web. Este archivo contiene instrucciones en forma de "directivas" que indican a los robots qué partes del sitio web pueden y no pueden rastrear.

Cómo funciona el archivo robots.txt

Las directivas en robots.txt generalmente apuntan a user-agents específicos, que son identificadores para diferentes tipos de bots. Por ejemplo, una directiva podría verse así:

User-agent: *
Disallow: /private/

Esta directiva les dice a todos los User-agent ( *es un comodín) que no pueden acceder a ninguna URL que comience con /private/. Otras directivas pueden permitir el acceso a directorios o archivos específicos, establecer retrasos en el rastreo para evitar sobrecargar un servidor o proporcionar enlaces a sitemaps para un rastreo eficiente.

Estructura de robots.txt

El archivo robots.txt es un documento de texto sin formato que se encuentra en el directorio raíz de un sitio web. Sigue una estructura sencilla, con cada conjunto de instrucciones, o "registro", separados por una línea en blanco. Cada registro consta de dos componentes principales:

  1. User-agent: esta línea especifica a qué rastreador o bot se aplican las siguientes reglas. Un comodín ( *) indica que las reglas se aplican a todos los bots. También se pueden seleccionar agentes de usuario específicos, como "Googlebot" (el rastreador de Google) o "Bingbot" (el rastreador de Microsoft).

  2. Directivas: Estas líneas proporcionan instrucciones específicas al usuario-agente identificado.

Las directivas comunes incluyen:

Directiva

Descripción

Ejemplo

Disallow

Especifica rutas o patrones que el bot no debe rastrear.

Disallow: /admin/(no permite el acceso al directorio de administración)

Allow

Permite explícitamente que el bot rastree rutas o patrones específicos, incluso si se encuentran bajo una regla Disallow más amplia.

Allow: /public/(permite el acceso al directorio público)

Crawl-delay

Establece un retraso (en segundos) entre solicitudes sucesivas del bot para evitar sobrecargar el servidor.

Crawl-delay: 10(Retraso de 10 segundos entre solicitudes)

Sitemap

Proporciona la URL de un mapa del sitio XML para un rastreo más eficiente.

Sitemap: https://www.example.com/sitemap.xml

¿Por qué respetar el archivo robots.txt?

Si bien el archivo robots.txt no se puede aplicar estrictamente (un robot malicioso aún podría ignorarlo), la mayoría de los rastreadores web y robots de motores de búsqueda legítimos respetarán sus directivas. Esto es importante por varias razones:

  • Evitar sobrecargar los servidores: Al limitar el acceso de los rastreadores a ciertas áreas, los propietarios de sitios web pueden evitar un tráfico excesivo que podría ralentizar o incluso bloquear sus servidores.

  • Proteger información sensible: Robots.txt puede proteger la información privada o confidencial para que no sea indexada por los motores de búsqueda.

  • Cumplimiento Legal y Ético: En algunos casos, ignorar las directivas de robots.txt podría considerarse una violación de los términos de servicio de un sitio web o incluso una cuestión legal, especialmente si implica acceder a datos privados o protegidos por derechos de autor.

Robots.txt en Reconocimiento Web

Para el reconocimiento web, robots.txt constituye una valiosa fuente de inteligencia. Si bien respetan las directivas descritas en este archivo, los profesionales de la seguridad pueden obtener información crucial sobre la estructura y las posibles vulnerabilidades de un sitio web objetivo:

  • Descubrir directorios ocultos: Las rutas no permitidas en robots.txt a menudo apuntan a directorios o archivos que el propietario del sitio web desea intencionalmente mantener fuera del alcance de los rastreadores de los motores de búsqueda. Estas áreas ocultas pueden albergar información confidencial, archivos de respaldo, paneles administrativos u otros recursos que podrían interesar a un atacante.

  • Mapeo de la estructura del sitio web: Al analizar las rutas permitidas y no permitidas, los profesionales de seguridad pueden crear un mapa rudimentario de la estructura del sitio web. Esto puede revelar secciones que no están vinculadas desde la navegación principal, lo que podría conducir a páginas o funcionalidades no descubiertas.

  • Detectar Crawler Traps: Algunos sitios web incluyen intencionalmente directorios "honeypot" en robots.txt para atraer robots maliciosos. La identificación de dichas trampas puede proporcionar información sobre la conciencia de seguridad y las medidas defensivas del objetivo.

Analizando robots.txt

A continuación se muestra un ejemplo de un archivo robots.txt:

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /public/

User-agent: Googlebot
Crawl-delay: 10

Sitemap: https://www.example.com/sitemap.xml

Este archivo contiene las siguientes directivas:

  • Ningún user-agent puede acceder a los directorios /admin/ y /private/

  • Todos los user-agent pueden acceder al directorio /public/

  • Googlebot (El rastreador web de Google) recibe instrucciones específicas de esperar 10 segundos entre solicitudes.

  • El sitemap, ubicado en https://www.example.com/sitemap.xml, se proporciona para facilitar el rastreo y la indexación.

Al analizar este archivo robots.txt, podemos inferir que el sitio web probablemente tenga un panel de administración ubicado /admin/ y algún contenido privado en el /private/ directorio.


Well-Known URLs

Al establecer una ubicación coherente para dichos datos, .well-known simplifica el proceso de descubrimiento y acceso para diversas partes interesadas, incluidos navegadores web, aplicaciones y herramientas de seguridad. Este enfoque simplificado permite a los clientes localizar y recuperar automáticamente archivos de configuración específicos mediante la construcción de la URL adecuada. Por ejemplo, para acceder a la política de seguridad de un sitio web, un cliente solicitaría https://example.com/.well-known/security.txt.

Sufijo URI

Descripción

Estado

Referencia

security.txt

Contiene información de contacto para que los investigadores de seguridad informen vulnerabilidades.

Permanente

RFC 9116

/.well-known/change-password

Proporciona una URL estándar para dirigir a los usuarios a una página de cambio de contraseña.

Provisional

https://w3c.github.io/webappsec-change-password-url/#the-change-password-well-known-uri

openid-configuration

Define los detalles de configuración para OpenID Connect, una capa de identidad además del protocolo OAuth 2.0.

Permanente

http://openid.net/specs/openid-connect-discovery-1_0.html

assetlinks.json

Se utiliza para verificar la propiedad de activos digitales (por ejemplo, aplicaciones) asociados con un dominio.

Permanente

https://github.com/google/digitalassetlinks/blob/master/well-known/specification.md

mta-sts.txt

Especifica la política de seguridad de transporte estricta SMTP MTA (MTA-STS) para mejorar la seguridad del correo electrónico.

Permanente

RFC 8461

Esta es sólo una pequeña muestra de los muchos .well-knownURI registrados en la IANA. Cada entrada en el registro ofrece pautas y requisitos específicos para la implementación, lo que garantiza un enfoque estandarizado para aprovechar el mecanismo .well-known para diversas aplicaciones.

.well-known en Reconocimiento Web

En el reconocimiento web, las URLs .well-known pueden ser invaluables para descubrir endpoints y detalles de configuración que se pueden probar más durante una prueba de penetración. Un URI particularmente útil es openid-configuration.

El openid-configuration es parte del protocolo OpenID Connect Discovery, una capa de identidad construida sobre el protocolo OAuth 2.0. Cuando una aplicación cliente desea utilizar OpenID Connect para la autenticación, puede recuperar la configuración del proveedor de OpenID Connect accediendo al endpoint https://example.com/.well-known/openid-configuration. Este endpoint devuelve un documento JSON que contiene metadatos sobre los endpoints del proveedor, métodos de autenticación admitidos, emisión de tokens y más:

{
  "issuer": "https://example.com",
  "authorization_endpoint": "https://example.com/oauth2/authorize",
  "token_endpoint": "https://example.com/oauth2/token",
  "userinfo_endpoint": "https://example.com/oauth2/userinfo",
  "jwks_uri": "https://example.com/oauth2/jwks",
  "response_types_supported": ["code", "token", "id_token"],
  "subject_types_supported": ["public"],
  "id_token_signing_alg_values_supported": ["RS256"],
  "scopes_supported": ["openid", "profile", "email"]
}

La información obtenida del endpoint openid-configuration brinda múltiples oportunidades de exploración:

  1. Endpoint Discovery:

  • Authorization Endpoint: Identifica la URL para las solicitudes de autorización de usuarios.

  • Token Endpoint: Encuentra la URL donde se emiten los tokens.

  • Userinfo Endpoint: Localización del endpoint que proporciona información del usuario.

  1. JWKS URI: jwks_uri revela el JSON Web Key Set( JWKS), detallando las claves criptográficas utilizadas por el servidor.

  2. Alcances admitidos y tipos de respuesta: Comprender qué alcances y tipos de respuesta se admiten ayuda a mapear la funcionalidad y las limitaciones de la implementación de OpenID Connect.

  3. Detalles del algoritmo: La información sobre los algoritmos de firma admitidos puede ser crucial para comprender las medidas de seguridad implementadas.

AnteriorDirsearchSiguienteWeb Crawlers

Última actualización hace 6 meses

¿Te fue útil?

El estándar .well-known, definido en , sirve como un directorio estandarizado dentro del dominio raíz de un sitio web. Esta ubicación designada, generalmente accesible a través de la ruta /.well-known/ de un servidor web, centraliza los metadatos críticos de un sitio web, incluidos archivos de configuración e información relacionada con sus servicios, protocolos y mecanismos de seguridad.

( IANA - Internet Assigned Numbers Authority) mantiene un de URI, cada uno de los cuales tiene un propósito específico definido por varias especificaciones y estándares. A continuación se muestra una tabla que destaca algunos ejemplos notables:IANA.well-known

Explorar el y experimentar con los distintos .well-knownURI es un enfoque invaluable para descubrir oportunidades adicionales de reconocimiento web. Como se demostró con el punto anterior openid-configuration, estos URI estandarizados brindan acceso estructurado a metadatos críticos y detalles de configuración, lo que permite a los profesionales de la seguridad trazar de manera integral el panorama de seguridad de un sitio web.

RFC 8615
registro
Registro de la IANA
🕸️
Page cover image