Metagoofil: Extracción de Metadatos en Kali
Metagoofil: Extracción de Metadatos en Kali
Metagoofil es una herramienta clásica de reconocimiento (OSINT) incluida en Kali Linux. Su función principal es buscar documentos públicos en un dominio (PDF, Word, Excel, etc.) y extraer sus metadatos.
Aquí tienes una guía rápida de cómo usarla en español:
¿Para qué sirve Metagoofil?
A través de los archivos que encuentra, Metagoofil puede revelar información sensible sin siquiera tocar el servidor de la víctima, como:
Nombres de usuarios.
Rutas de directorios locales.
Versiones de software (Microsoft Office, Adobe, etc.).
Nombres de servidores o impresoras.
Instalación
Si no la tienes instalada en tu Kali, puedes hacerlo rápidamente con:
sudo apt update && sudo apt install metagoofil
Comandos principales
La sintaxis básica es la siguiente:
metagoofil -d dominio.com -t pdf,doc,xls -l 20 -n 10 -o carpetasalida
Desglose de los parámetros:
-d: El dominio que quieres investigar (ej. https://www.google.com/search?q=empresa.com).-t: Los tipos de archivo que buscas, separados por comas.-l: El límite de resultados a buscar en Google (por defecto es 100).-n: El número de archivos que realmente quieres descargar.-o: El directorio donde se guardarán los archivos descargados.-f: Genera un informe en formato HTML al finalizar.
Ejemplo práctico
Supongamos que quieres buscar los últimos 10 PDFs de la NASA:
metagoofil -d nasa.gov -t pdf -l 50 -n 10 -o documentos_nasa -f informe.html
[!IMPORTANT]
Nota Ética: Metagoofil utiliza técnicas de "Google Dorking". Úsala siempre en entornos controlados o bajo auditorías autorizadas. El exceso de peticiones puede causar que Google bloquee temporalmente tu dirección IP (CAPTCHA).
Alternativas modernas
Si Metagoofil te da problemas con los bloqueos de Google, muchos profesionales de ciberseguridad ahora prefieren usar FOCA (en Windows) o herramientas integradas como SpiderFoot y theHarvester, que también extraen metadatos de forma eficiente.
Automatizar Metagoofil es una excelente idea, especialmente si necesitas auditar múltiples dominios o tipos de archivos sin escribir comandos largos cada vez. La forma más eficiente de hacerlo en Kali Linux es mediante un Script en Bash.
Aquí tienes un ejemplo de un script profesional que organiza los archivos por dominio y genera un reporte automático.
Script de automatización (auto_meta.sh)
Copia este código en un archivo nuevo:
#!/bin/bash
# Colores para la terminal
VERDE="\e[32m"
RESET="\e[0m"
echo -e "${VERDE}--- Iniciando Automatización de Metagoofil ---${RESET}"
# Pedir los datos al usuario
read -p "Introduce el dominio (ej: ejemplo.com): " DOMAIN
read -p "Tipos de archivo (ej: pdf,doc,xlsx): " EXT
read -p "Número de archivos a descargar: " LIMIT
# Crear carpeta de salida basada en el dominio y la fecha
FECHA=$(date +%Y%m%d)
OUTPUT_DIR="analisis_${DOMAIN}_${FECHA}"
mkdir -p "$OUTPUT_DIR"
echo -e "${VERDE}[+] Buscando y descargando archivos...${RESET}"
# Ejecución de Metagoofil
# -d: dominio, -t: extensiones, -l: búsqueda, -n: descarga, -o: carpeta, -f: reporte
metagoofil -d "$DOMAIN" -t "$EXT" -l 100 -n "$LIMIT" -o "$OUTPUT_DIR" -f "$OUTPUT_DIR/reporte.html"
echo -e "${VERDE}[+] Proceso finalizado. Archivos guardados en: $OUTPUT_DIR${RESET}"
Pasos para ejecutarlo:
Guardar el archivo: Guárdalo como
auto_meta.sh.Dar permisos de ejecución:
Bashchmod +x auto_meta.shCorrer el script:
Bash./auto_meta.sh
¿Cómo funciona el flujo de datos?
Cuando automatizas estas herramientas, el flujo de trabajo sigue una estructura lógica de reconocimiento pasivo. Entender este proceso te ayuda a saber dónde puede fallar (por ejemplo, si Google bloquea tu IP).
Consejos para la automatización avanzada
Uso de Proxies: Si planeas automatizar búsquedas masivas, considera usar
proxychainscon tu script para rotar IPs, ya que Google detecta rápidamente el comportamiento de Metagoofil.Limpieza de archivos: Puedes añadir una línea al final del script para que, tras extraer los metadatos, borre los archivos descargados y solo conserve el reporte HTML para ahorrar espacio:
rm -rf "$OUTPUT_DIR"/*.{pdf,doc,docx,xls,xlsx}Integración: Podrías pasarle una lista de dominios en un archivo
.txty usar un bucleforpara procesar 10 o 20 empresas de una sola vez.
Vamos a elevar el nivel del script. Modificarlo para que lea una lista de dominios es la forma real en que se trabaja en auditorías de gran escala (Pentesting Externo).
Aquí tienes el script actualizado. Este leerá un archivo llamado objetivos.txt, creará una carpeta para cada dominio y guardará los resultados de forma organizada.
Script de Automatización Masiva (mass_meta.sh)
#!/bin/bash
# Colores
CYAN="\e[36m"
VERDE="\e[32m"
ROJO="\e[31m"
RESET="\e[0m"
# Archivo de entrada
INPUT_FILE="objetivos.txt"
# Verificar si el archivo existe
if [[ ! -f "$INPUT_FILE" ]]; then
echo -e "${ROJO}[!] Error: No se encuentra el archivo $INPUT_FILE${RESET}"
echo "Crea un archivo llamado objetivos.txt con un dominio por línea."
exit 1
fi
echo -e "${CYAN}--- Iniciando Escaneo Masivo con Metagoofil ---${RESET}"
# Leer el archivo línea por línea
while IFS= read -r DOMAIN || [[ -n "$DOMAIN" ]]; do
# Ignorar líneas vacías
[[ -z "$DOMAIN" ]] && continue
echo -e "${VERDE}[+] Procesando: $DOMAIN ${RESET}"
# Crear estructura de carpetas: dominios/nombre_dominio
mkdir -p "resultados/$DOMAIN"
# Ejecutar Metagoofil
# Ajustamos -l (búsqueda) a 50 y -n (descarga) a 5 para no ser bloqueados rápido
metagoofil -d "$DOMAIN" -t pdf,doc,docx,xls,xlsx -l 50 -n 5 -o "resultados/$DOMAIN" -f "resultados/$DOMAIN/reporte_$DOMAIN.html"
echo -e "${CYAN}[V] Finalizado: $DOMAIN. Esperando 10 segundos para evitar ban de IP...${RESET}"
# Pausa de cortesía para Google (evitar CAPTCHAs)
sleep 10
done < "$INPUT_FILE"
echo -e "${VERDE}--- Tarea completada. Revisa la carpeta 'resultados/' ---${RESET}"
Preparación y Estructura
Antes de correr el script, asegúrate de preparar tu entorno:
Crea el archivo de objetivos:
Bashnano objetivos.txtEscribe los dominios así:
Plaintextgoogle.com microsoft.com ucla.eduEstructura resultante:
El script generará algo como esto, manteniendo todo limpio:
resultados/google.com/-> (PDFs y reporte_google.html)microsoft.com/-> (PDFs y reporte_microsoft.html)
Consideración sobre el "Ban" de Google
Google tiene sistemas muy sensibles contra el scraping automático. Si el script empieza a fallar o Metagoofil dice que no encuentra resultados (cuando sabes que los hay), es probable que tu IP haya sido marcada.
Truco avanzado:
Si tienes instalada la herramienta tor, puedes ejecutar el script a través de ella para cambiar tu identidad:
proxychains ./mass_meta.sh
Configurar Proxychains con Tor es el "siguiente nivel" para cualquier herramienta de OSINT en Kali Linux. Básicamente, hará que tus peticiones a Google salgan desde una IP diferente cada pocos segundos, evitando que bloqueen tu dirección real.
Aquí tienes los pasos para dejarlo listo en 2 minutos:
1. Instalar y activar Tor
Primero, necesitamos el servicio que creará el túnel. En Kali viene preinstalado, pero asegúrate de que esté corriendo:
sudo apt update && sudo apt install tor -y
sudo service tor start
# Verifica que esté activo (debe decir "active (running)")
sudo service tor status
2. Configurar Proxychains
El archivo de configuración le dice a tus herramientas cómo usar Tor. Vamos a editarlo:
sudo nano /etc/proxychains4.conf
Dentro del archivo, busca y ajusta estas líneas (borra el # si lo tienen):
dynamic_chain: Actívalo (quita el#). Esto permite que el script siga funcionando aunque un nodo de Tor se caiga.strict_chain: Ponle un#al principio para desactivarlo.proxy_dns: Asegúrate de que esté activado (sin#). Esto evita que tu DNS real se filtre.Sección
[ProxyList]: Al final del archivo, debe aparecer exactamente así:socks5 127.0.0.1 9050
3. Cómo funciona el túnel (Esquema)
Cuando usas Proxychains, tu tráfico no va directo a Google, sino que salta por varios "repetidores" alrededor del mundo.
4. Ejecutar tu script de Metagoofil de forma anónima
Ahora, para usarlo con el script que creamos antes, solo tienes que anteponer la palabra proxychains:
proxychains ./mass_meta.sh
¿Cómo saber si está funcionando?
Verás que en la terminal aparecen líneas como esta:
|S-chain| <--loopback--> OK
Eso significa que tu tráfico está pasando por el túnel de Tor con éxito.
Un pequeño "Pro-Tip" de rendimiento:
Google a veces bloquea los nodos de salida conocidos de Tor. Si Metagoofil deja de recibir resultados, puedes forzar un cambio de IP en Tor reiniciando el servicio:
sudo service tor restart
Reiniciar el servicio de Tor entre dominios es la técnica definitiva de "sigilo" para evitar que los sistemas de seguridad de Google detecten un patrón de búsqueda automatizado desde una misma IP de salida.
Aquí tienes el script final, optimizado con privilegios de superusuario (necesarios para reiniciar servicios) y la integración de Proxychains.
Script Maestro: stealth_meta.sh
Este script hará lo siguiente: Lee el dominio -> Reinicia Tor (Nueva IP) -> Lanza Metagoofil vía Proxychains -> Salta al siguiente.
#!/bin/bash
# Colores y Estética
CYAN="\e[36m"
VERDE="\e[32m"
AMARILLO="\e[33m"
ROJO="\e[31m"
RESET="\e[0m"
INPUT_FILE="objetivos.txt"
# 1. Verificación de privilegios (necesario para 'service tor restart')
if [[ $EUID -ne 0 ]]; then
echo -e "${ROJO}[!] Este script debe ejecutarse como root (sudo).${RESET}"
exit 1
fi
if [[ ! -f "$INPUT_FILE" ]]; then
echo -e "${ROJO}[!] Archivo $INPUT_FILE no encontrado.${RESET}"
exit 1
fi
echo -e "${CYAN}--- Iniciando OSINT Sigiloso (Metagoofil + Tor) ---${RESET}"
while IFS= read -r DOMAIN || [[ -n "$DOMAIN" ]]; do
[[ -z "$DOMAIN" ]] && continue
# 2. Rotación de Identidad (IP)
echo -e "${AMARILLO}[*] Reiniciando circuito Tor para obtener nueva IP...${RESET}"
service tor restart
sleep 3 # Breve pausa para que el servicio levante correctamente
echo -e "${VERDE}[+] Atacando dominio: $DOMAIN ${RESET}"
mkdir -p "resultados/$DOMAIN"
# 3. Ejecución con Proxychains
# Usamos 'proxychains4' que es la versión más estable en Kali
proxychains4 metagoofil -d "$DOMAIN" -t pdf,doc,docx,xls,xlsx -l 40 -n 5 -o "resultados/$DOMAIN" -f "resultados/$DOMAIN/reporte.html"
echo -e "${CYAN}[V] Dominio $DOMAIN completado.${RESET}"
echo "----------------------------------------------------"
done < "$INPUT_FILE"
echo -e "${VERDE}--- Auditoría Finalizada Exitosamente ---${RESET}"
Cómo usar este "Script Maestro"
Dale permisos:
chmod +x stealth_meta.shEjecútalo con sudo:
sudo ./stealth_meta.shNota: Es indispensable el
sudoporque estamos reiniciando un servicio del sistema (tor).
¿Por qué esto es más efectivo?
Normalmente, si haces 100 peticiones seguidas a Google, verás un error 403 Forbidden o un CAPTCHA. Al reiniciar Tor:
El nodo de salida (la IP que ve Google) cambia.
La "reputación" de tu conexión se refresca.
Metagoofil vuelve a parecer un usuario nuevo desde una parte distinta del mundo.
Consideración Final
Ten en cuenta que Tor es más lento que tu conexión normal. No te asustes si la descarga de los archivos tarda un poco más; es el precio a pagar por el anonimato y por evitar que te bloqueen a mitad del trabajo.