Vulnerabilidad Subdomain Takeover con Subjack
Vulnerabilidad Subdomain Takeover con Subjack
Subjack es una herramienta de ciberseguridad escrita en Go diseñada específicamente para detectar una vulnerabilidad llamada Subdomain Takeover (apropiación de subdominios).
Su gran ventaja es la velocidad: al usar concurrencia, permite escanear listas enormes de subdominios en pocos segundos.
¿Qué es el Subdomain Takeover?
Ocurre cuando un subdominio (por ejemplo, tienda.tuempresa.com) apunta mediante un registro DNS (como un CNAME) a un servicio externo (como una tienda en Shopify, un cubo de AWS S3 o una página de GitHub Pages). Si la empresa borra su cuenta en ese servicio externo pero olvida borrar el registro DNS, un atacante puede ir a ese servicio, reclamar el nombre y tomar el control del subdominio para colgar contenido malicioso o robar cookies.
1. Instalación en Kali Linux
Aunque no viene preinstalada por defecto en todas las versiones de Kali, se instala fácilmente ya que está en los repositorios oficiales. Abre tu terminal y ejecuta:
sudo apt update && sudo apt install subjack -y
2. Configuración Esencial (El archivo de huellas)
Para que Subjack sepa si un servicio externo está "libre" para ser hackeado, necesita un archivo de configuración en formato JSON (llamado fingerprints.json). Este archivo contiene las "huellas" o mensajes de error típicos de servicios como AWS, GitHub o Heroku (por ejemplo: "There is no app here").
Puedes descargar el archivo oficial directamente desde el repositorio del creador con este comando:
curl -o fingerprints.json https://raw.githubusercontent.com/haccer/subjack/master/fingerprints.json
3. Cómo usar Subjack (Comandos principales)
Para usar la herramienta, primero necesitas una lista de subdominios en un archivo de texto (por ejemplo, subdominios.txt), con un subdominio por línea.
Escaneo Básico
subjack -w subdominios.txt -c fingerprints.json -t 100 -v -o resultados.txt
Explicación de los parámetros:
-w subdominios.txt: El archivo (wordlist) que contiene los subdominios a escanear.-c fingerprints.json: El archivo de huellas que descargaste en el paso anterior.-t 100: El número de hilos (threads) concurrentes. A mayor número, más rápido el escaneo.-v: Modo verbose (muestra en pantalla todo lo que va haciendo en tiempo real).-o resultados.txt: Guarda únicamente los subdominios vulnerables en un archivo de texto.
Escaneo forzando HTTPS
Por defecto, Subjack realiza las peticiones a través de HTTP. Si quieres forzar a que verifique las conexiones seguras, añade el parámetro -ssl:
subjack -w subdominios.txt -c fingerprints.json -ssl
¿Cómo interpretar los resultados?
Si Subjack encuentra un subdominio vulnerable, verás una salida en la terminal estructurada de la siguiente manera:
[VULNERABLE] subdominio.ejemplo.com :: GitHub Pages
Esto te indica que subdominio.ejemplo.com apunta a un servicio de GitHub Pages que actualmente está disponible para ser reclamado por cualquiera.