GHunt & Google Account Intelligence (Uso Ético)
Inteligencia de cuentas Google con framing ético y lab autorizado
1h 9min
13,841 palabras
$50.00 USD
Precio final en dólares (USD)Descripción
Guía profesional completa de GHunt & Google Account Intelligence (Uso Ético). 11000+ palabras, ejemplos reales, scripts y certificaciones. Nivel Avanzado.
Contenido
GHunt & Google Account Intelligence (Uso Ético)
Inteligencia de cuentas Google con framing ético y lab autorizado
Lo que vas a dominar
GHunt & Google Account Intelligence (Uso Ético)
1. Bienvenida y Contexto
2. ¿Para Quién es Esta Guía?
3. Qué Hace Diferente a Esta Guía
4. Estructura de la Guía
5. Disclaimer Legal y Ético
6. Certificaciones y Carrera
Capítulo 1: Fundamentos y Setup Profesional
1.1 Contexto de GHunt
1.2 Arquitectura y Componentes
1.3 Setup de Laboratorio / Entorno
Requisitos de sistema
Instalación en Linux (Ubuntu/Debian)
1. Actualizar repositorios e instalar dependencias del sistema
2. Crear un directorio para el laboratorio
3. Clonar el repositorio oficial de GHunt
4. Crear un entorno virtual Python (buena práctica de aislamiento)
5. Instalar las dependencias de Python
6. Verificar la instalación
Alternativa con Docker
Crear un Dockerfile en ~/osint-lab/GHunt
Construir la imagen
Ejecutar (montando el directorio actual para acceder a cookies)
Instalación en Windows (WSL2)
Instalación en macOS
Instalar Homebrew si no lo tienes
Instalar dependencias
Seguir los pasos de clonado y entorno virtual igual que en Linux
Verificación post-instalación
Activar el entorno virtual
Ejecutar GHunt con un email de prueba (tu cuenta de laboratorio)
Troubleshooting de setup
1.4 Configuración Inicial y OPSEC
Obtención ética de cookies de sesión
Configuración de GHunt
Capítulo 2: Técnicas Avanzadas (Lab Autorizado)
2.1 Comandos y flujos esenciales
2.1.1 Obtención del Gaia ID
2.1.2 Extracción de perfiles de servicio
Perfil de YouTube
Álbumes públicos de Photos
Contribuciones en Maps (reseñas, fotos)
2.1.3 Correlación con email y username
Paso 1: email -> Gaia ID + servicios
Paso 2: extraer Gaia ID del JSON (usando jq)
Paso 3: consultar servicios con el ID
Paso 4: extraer URLs de Maps y Photos
2.1.4 Verificación de existencia de cuenta
2.2 Automatización con Scripts
2.2.1 Script Bash para enumeración masiva (lab)
ghunt_lab_scan.sh - Enumeración ética de cuentas propias
2.2.2 Script Python con logging estructurado
Configurar logging
Lista de cuentas de laboratorio autorizadas
2.2.3 Automatización de reportes
Convertir JSON a Markdown con jq
Generar PDF
2.3 Integración Multi-Tool
2.3.1 Obtención ética de cookies con Selenium
Configuración
2.3.2 Pipeline con Suite OSINT
Capítulo 3: Casos de Estudio Profesionales
3.1 Caso 1: Perfilado pasivo de una cuenta sintética para concienciación OSINT
Escenario
Metodología
Comandos y controles
Activar entorno virtual y lanzar GHunt
Hallazgos
Lecciones y recomendaciones
3.2 Caso 2: Auditoría defensiva de exposición corporativa
Escenario
Metodología
Comandos y controles
Hallazgos
Lecciones y recomendaciones
3.3 Caso 3: Inteligencia de cuenta Google en respuesta a incidentes
Escenario
Metodología
Comandos y controles
Consulta a la API de HIBP (requiere clave de API)
Hallazgos
Capítulo 4: Defensa, Hardening y Blue Team
4.1 Detección y telemetría
4.2 Hardening y controles
Audita visibilidad de perfil en dominio de prueba
4.3 Respuesta a incidentes
Capítulo 5: Ecosistema y Toolchain Completo
5.1 Pipeline / Workflow Profesional
5.2 Frameworks, APIs y Automatización
Uso: asyncio.run(process_emails(['test1@lab.com','test2@lab.com'], 'cookies.txt', 'output.csv'))
Iniciar sesión manualmente en la ventana abierta
Guardar cookies
5.3 Integraciones y Reporting
5.4 Alternativas y Comparativa
5.5 CTA: ViciousByte Suite OSINT
GHunt & Google Account Intelligence (Uso Ético)
Ejercicio 1: Setup de laboratorio (500 palabras)
Ejercicio 2: Flujo básico del stack (500 palabras)
Ejercicio 3: Escenario avanzado en laboratorio (500 palabras)
Ejercicio 4: Automatización y reporting (500 palabras)
Troubleshooting y FAQs — GHunt & Google Account Intelligence (Uso Ético)
T1 — Errores de instalación y setup (8 errores comunes)
T2 — Errores de ejecución (8 errores con logs y soluciones)
2.1 `ghunt email` devuelve "Gaia ID not found"
2.2 `ghunt email` muestra "No public photos found"
2.3 `ghunt gaia` no muestra reseñas de Maps
2.4 Error `KeyError: 'data'` al ejecutar `ghunt email`
2.5 `ghunt gaia` muestra "No YouTube channel found"
2.6 Error de timeout: `requests.exceptions.ReadTimeout`
2.7 `ghunt check_and_gen` falla con "No valid cookies"
2.8 `ghunt email` muestra "Rate limit hit"
T3 — Performance y operación
Optimización de velocidad
Manejo de grandes volúmenes
Troubleshooting de rendimiento
T4 — FAQs profesionales
Recursos y Próximos Pasos
R1 Dónde obtener y documentar el stack
R2 Recursos adicionales
R3 Certificaciones y carrera
R4 Conclusión y uso responsable
Soporte y Contacto
Déjanos tu Feedback
Vista Previa
GHunt & Google Account Intelligence (Uso Ético)
Inteligencia de cuentas Google con framing ético y lab autorizado
Autor: ViciousByte Security Team Nivel: Avanzado Duración: 10-14 horas de lectura práctica Versión: 1.0 Última actualización: July 2026
Lo que vas a dominar
Una guía práctica y densa sobre GHunt & Google Account Intelligence (Uso Ético), de nivel Avanzado, con GHunt, Selenium, Chrome cookies, Suite OSINT.
- Instalación y configuración profesional (Linux, Windows, macOS y Docker)
- Comandos y flujos de trabajo del mundo real, explicados línea por línea
- Casos prácticos y troubleshooting con soluciones probadas
- Scripts y plantillas listos para usar
Duración: 10-14 horas de lectura práctica · Nivel: Avanzado
GHunt & Google Account Intelligence (Uso Ético)
Inteligencia de cuentas Google con framing ético y lab autorizado
1. Bienvenida y Contexto
En 2026, la superficie de exposición digital de una persona promedio se ha expandido hasta abarcar más de 150 servicios interconectados solo dentro del ecosistema Google. Cada cuenta de Gmail, cada perfil de Maps, cada álbum de Photos, cada reseña en Play Store y cada interacción en YouTube deja una huella estructurada que, correctamente correlacionada, permite reconstruir desde hábitos de movilidad hasta cronologías de actividad profesional. No se trata de "hackear" nada: se trata de leer lo que el propio Google expone de forma pasiva, a menudo sin que el usuario sea consciente de la granularidad de esa información.
Los equipos de inteligencia corporativa, los analistas de fraude y los investigadores de amenazas internas ya utilizan estas técnicas para validar identidades, detectar cuentas falsas y mapear superficies de ataque autorizadas. Según el informe Verizon Data Breach Investigations Report 2025, el 38 % de los incidentes de compromiso de cuentas cloud comenzaron con una fase de reconocimiento basada en fuentes abiertas, donde Google fue el vector inicial en el 62 % de los casos. En el ámbito de la ciberdefensa, la capacidad de auditar la huella propia —o la de un cliente que ha firmado un acuerdo de penetration testing— se ha convertido en una competencia básica para cualquier analista SOC nivel 2 o superior.
La evolución de herramientas como GHunt —desde su primera versión en 2020 hasta la actual suite modular con soporte para sesiones autenticadas y parsing de APIs internas— refleja una tendencia clara: Google sigue exponiendo endpoints no documentados que, utilizados con autorización, permiten una visibilidad forense sin precedentes. Paralelamente, la integración con navegadores headless mediante Selenium y la gestión programática de cookies de sesión han transformado lo que antes era un ejercicio manual en un flujo automatizado, repetible y auditable, ideal para entornos de laboratorio controlado.
Esta guía nace de esa necesidad: dotar al profesional de la ciberseguridad y la inteligencia de fuentes abiertas de un marco técnico completo para operar GHunt y herramientas complementarias dentro de la legalidad, con casos de uso reales sobre entornos sintéticos, y con un enfoque quirúrgico en la defensa y el hardening de cuentas Google.
2. ¿Para Quién es Esta Guía?
Esta guía está diseñada para profesionales de la ciberseguridad, analistas de OSINT, auditores de seguridad cloud y pentesters que ya poseen una base sólida en redes, protocolos HTTP y manejo de entornos Linux. No es un manual de introducción a la terminal ni a Python; asumimos que el lector:
- Sabe desplegar y gestionar entornos virtuales con
venvoconda. - Comprende el funcionamiento de cookies, tokens de sesión y headers HTTP.
- Está familiarizado con el uso de proxies de investigación (Burp Suite, mitmproxy) y navegadores headless.
- Conoce los fundamentos de la inteligencia de fuentes abiertas (OSINT) y el ciclo de inteligencia.
Si cumples con estos prerrequisitos, esta guía te llevará a un nivel de maestría operativa en la extracción, correlación y análisis de metadatos de cuentas Google. Aprenderás a:
- Desplegar GHunt en un entorno aislado con sesiones de Google controladas.
- Extraer y correlacionar Gaia IDs, mapas de reviews, fotos públicas y servicios activos.
- Automatizar consultas masivas respetando rate‑limits y políticas de uso.
- Generar informes profesionales de exposición para clientes autorizados.
- Aplicar contramedidas de hardening en cuentas propias para reducir la superficie de ataque.
El perfil ideal es el de un analista de inteligencia de amenazas, un consultor de seguridad ofensiva o un administrador de identidad que necesita ir más allá de las herramientas comerciales y entender el cómo y el por qué detrás de cada consulta.
3. Qué Hace Diferente a Esta Guía
A diferencia de la documentación oficial de GHunt —que se limita a describir flags y parámetros— o de los tutoriales superficiales que circulan en foros, esta guía se construye sobre playbooks reales de laboratorio y sobre la experiencia acumulada en cientos de auditorías de exposición digital autorizadas. Cada comando que aparece ha sido ejecutado en entornos controlados, con cuentas de prueba creadas específicamente para este fin, y cada resultado ha sido validado contra la respuesta real de los servidores de Google en el momento de la redacción.
Enfoque práctico y defensivo: no solo mostramos cómo obtener información, sino que dedicamos secciones completas a interpretar los hallazgos desde la perspectiva del defensor. Por ejemplo, cuando analizamos la exposición de un perfil de Google Maps, explicamos exactamente qué configuraciones de privacidad reducen esa superficie y cómo verificar que se han aplicado correctamente. Incluimos scripts de automatización en Python y Bash que permiten auditar decenas de cuentas propias en minutos, generando informes en formato Markdown listos para entregar a un cliente.
Troubleshooting real: cada capítulo incluye una tabla de errores comunes con sus causas raíz y soluciones probadas. Si GHunt devuelve "Auth token expired", no solo te decimos que refresques la sesión; te mostramos cómo extraer las cookies directamente desde un perfil de Chrome con Selenium, cómo parsear el archivo Cookies de Chromium con Python, y cómo detectar si Google ha rotado el token de forma silenciosa mediante un análisis de los headers Set-Cookie en las respuestas de autenticación.
Cumplimiento normativo integrado: cada técnica dual‑use está precedida por un aviso de autorización y acompañada de referencias a los términos de servicio de Google, la legislación aplicable (GDPR, CCPA, LOPDGDD) y marcos como el NIST SP 800‑53. No encontrarás ambigüedades: si una consulta requiere una sesión autenticada, se especifica claramente que esa sesión debe pertenecer al analista o a un cliente que ha otorgado consentimiento explícito por escrito.
4. Estructura de la Guía
La guía sigue una progresión lógica que va desde la configuración del entorno hasta la generación de informes profesionales, alineada con el ciclo de inteligencia OSINT:
- Fundamentos de la exposición Google: qué datos expone una cuenta de forma pasiva, cómo se estructuran los Gaia IDs, y qué endpoints de las APIs internas de Google son accesibles sin autenticación.
- Setup del laboratorio: instalación de GHunt desde fuente, configuración de sesiones con cookies de Chrome, integración con Selenium para refresco automático, y hardening del entorno de pruebas.
- Extracción y correlación: uso de los módulos
email,gaia,driveymapsde GHunt para obtener información estructurada; correlación con otras fuentes (username, teléfono, dominios) mediante scripts personalizados. - Automatización y Suite OSINT: construcción de un pipeline en Python que orquesta GHunt, Selenium y herramientas complementarias (Holehe, Sherlock) para auditorías masivas autorizadas.
- Defensa y hardening: guía paso a paso para reducir la superficie de exposición de una cuenta Google, con verificaciones automatizadas.
- Informe profesional: plantilla y metodología para documentar hallazgos, riesgos y recomendaciones en un formato apto para clientes corporativos.
Cada capítulo incluye ejercicios de laboratorio con cuentas sintéticas que puedes replicar en tu propio entorno. Para aprovechar al máximo el contenido, te recomendamos seguir el orden propuesto y ejecutar cada comando en tu máquina de pruebas antes de pasar al siguiente módulo.
5. Disclaimer Legal y Ético
RISK TIER: YELLOW — USO DUAL PERMITIDO SOLO EN LABORATORIO AUTORIZADO
Esta guía tiene un propósito exclusivamente educativo y de defensa. Todas las técnicas, comandos y scripts descritos deben ejecutarse únicamente en entornos de laboratorio controlados, sobre cuentas de Google de tu propiedad o sobre cuentas para las que dispongas de una autorización explícita por escrito del titular.
No se promueve, facilita ni justifica el acceso no autorizado a sistemas informáticos, la extracción de datos de terceros sin consentimiento, ni ninguna actividad que viole los términos de servicio de Google, la legislación de protección de datos (GDPR, LOPDGDD, CCPA) o las leyes penales de cualquier jurisdicción. El uso de GHunt contra cuentas ajenas sin permiso constituye una violación de los ToS de Google y puede ser constitutivo de delito en muchos países.
Responsabilidad del lector: el autor y el editor de esta guía no asumen ninguna responsabilidad por el uso indebido de la información aquí contenida. Al continuar con la lectura y la práctica, aceptas que:
- Eres el único responsable de cumplir con todas las leyes y regulaciones aplicables.
- Utilizarás estas técnicas exclusivamente en entornos de laboratorio propios o con autorización documentada.
- No emplearás este conocimiento para actividades de hacking, acoso, doxxing, espionaje industrial o cualquier fin ilícito.
- Entiendes que la clasificación YELLOW implica que el contenido es de naturaleza dual‑use y requiere madurez profesional para su manejo ético.
Si tienes dudas sobre la legalidad de una acción concreta, no la ejecutes y consulta con un asesor legal especializado en ciberderecho. La seguridad informática se construye sobre la confianza y la integridad; no las traiciones.
6. Certificaciones y Carrera
Dominar las técnicas de inteligencia de cuentas Google que cubre esta guía te posiciona favorablemente para obtener certificaciones de alto valor en la industria y para acceder a roles especializados en ciberinteligencia y defensa cloud.
Certificaciones relacionadas:
- GOSI (GIAC Open Source Intelligence): cubre la metodología OSINT, incluyendo la recolección pasiva de datos de plataformas cloud. Los módulos de correlación y automatización de esta guía son directamente aplicables al examen práctico.
- CCSP (Certified Cloud Security Professional): el conocimiento profundo de la arquitectura de identidad de Google y de los vectores de exposición es un diferenciador clave en el dominio de seguridad cloud.
- OSCP/OSEP (Offensive Security): aunque son certificaciones ofensivas, la fase de reconocimiento que enseñamos aquí es perfectamente válida y ética cuando se aplica sobre entornos autorizados, y complementa las metodologías de pentesting tradicionales.
Oportunidades laborales: los analistas que combinan OSINT avanzado con conocimiento de plataformas cloud son demandados en:
- Equipos de Threat Intelligence (salario medio en UE: 65 000 – 95 000 €).
- Consultoras de seguridad ofensiva con servicios de red team y exposición digital.
- Departamentos de fraude y cumplimiento en fintech y grandes corporaciones.
- Fuerzas y cuerpos de seguridad con unidades de ciberinteligencia (previa acreditación oficial).
Roadmap profesional: te sugerimos comenzar por esta guía, obtener la certificación GOSI, y luego especializarte en seguridad cloud con la CCSP. Paralelamente, construye un portafolio de informes de auditoría (sobre tus propias cuentas o entornos de laboratorio públicos) que demuestren tu capacidad para generar inteligencia accionable. La combinación de habilidades técnicas, certificaciones reconocidas y un historial de trabajo ético es la fórmula más sólida para avanzar en esta disciplina.
Comienza ahora con el Capítulo 1: Fundamentos de la exposición Google, donde desglosaremos la arquitectura de identidad de Google y los endpoints pasivos que alimentan a GHunt.
Capítulo 1: Fundamentos y Setup Profesional
** DISCLAIMER DE USO LÍCITO** Toda la información contenida en esta guía tiene fines exclusivamente educativos, de investigación de seguridad autorizada y de hardening defensivo. GHunt interactúa con APIs de Google utilizando cookies de sesión. El uso de esta herramienta contra cuentas de terceros sin consentimiento expreso y por escrito puede violar los términos de servicio de Google y las leyes de protección de datos y delitos informáticos aplicables en tu jurisdicción. El autor y la editorial no se hacen responsables del uso indebido de estas técnicas. Realiza todas las pruebas únicamente en cuentas de tu propiedad o en entornos de laboratorio controlados con autorización explícita.
1.1 Contexto de GHunt
GHunt es una herramienta OSINT (Open Source Intelligence) de código abierto diseñada para investigar cuentas de Google a partir de un correo electrónico de Gmail o de un identificador único de cuenta (Gaia ID). Desarrollada originalmente por mxrch, la herramienta explota la naturaleza pública de ciertos servicios de Google para correlacionar información que el propio ecosistema de la compañía expone, a menudo sin que el usuario sea plenamente consciente de su visibilidad.
Desde su primera publicación en 2020, GHunt ha evolucionado para adaptarse a los cambios en las APIs internas de Google. La versión actual (v2) incorpora módulos modulares que permiten consultar:
- Gaia ID: identificador numérico único de la cuenta Google.
- Servicios activos: YouTube, Google Maps, Google Photos, Google Calendar, Hangouts, Google Pay, etc.
- Perfil público: nombre, avatar, posibles reviews en Maps.
- Datos de geolocalización: si el usuario ha dejado reseñas en Google Maps, se pueden inferir patrones de movilidad.
En el ámbito profesional, GHunt se utiliza en investigaciones de inteligencia de fuentes abiertas (OSINT) autorizadas, en ejercicios de Red Team para mapear la superficie de exposición de cuentas corporativas, y en laboratorios de hardening para que los usuarios comprendan qué información están filtrando inadvertidamente. También es una herramienta valiosa en la respuesta a incidentes, cuando se necesita trazar la huella digital de una cuenta comprometida sin acceder a ella.
Comparativa con otras herramientas OSINT de correlación de cuentas:
| Herramienta | Alcance | Requiere autenticación | Tipo de consulta | |-------------|---------|------------------------|------------------| | GHunt | Google (Gaia, Maps, Photos, etc.) | Cookie de sesión Google | Activa (requiere sesión) | | Holehe | +100 plataformas (incluye Google) | No | Pasiva (verifica registro) | | Maigret | +3000 sitios (username) | No | Pasiva (perfiles públicos) | | Sherlock | +300 sitios (username) | No | Pasiva (perfiles públicos) | | theHarvester | Motores de búsqueda, fuentes pasivas | No | Pasiva (email/dominio) |
GHunt se diferencia por su capacidad de obtener información detallada de una cuenta Google que no está disponible mediante scraping pasivo, gracias al uso de cookies de sesión. Esto lo convierte en una herramienta de alta precisión, pero también de mayor riesgo operacional y legal, lo que exige un control estricto del entorno de laboratorio.
Ventajas: profundidad de datos, identificación de servicios activos, obtención de Gaia ID (pivote para otras consultas), posibilidad de automatización. Limitaciones: dependencia de una sesión Google válida, posible detección por parte de Google si se abusa, no funciona con cuentas que tengan la visibilidad completamente restringida.
1.2 Arquitectura y Componentes
GHunt se compone de varios módulos Python que interactúan con las APIs internas de Google. El flujo de trabajo típico es:
- Obtención de cookies de sesión: el operador inicia sesión en una cuenta Google (propia o de laboratorio) desde un navegador controlado y extrae las cookies de autenticación.
- Inyección de la cookie en GHunt: la herramienta utiliza estas cookies para autenticar las peticiones HTTP a endpoints de Google.
- Consulta por email o Gaia ID: GHunt resuelve el email a un Gaia ID (si es necesario) y luego interroga múltiples servicios.
- Recolección y presentación de resultados: la información se muestra en consola y, opcionalmente, se exporta en formato JSON.
Componentes del stack:
- GHunt (core): script principal que orquesta las consultas. Escrito en Python 3, utiliza
requestsybeautifulsoup4para el parseo de respuestas. - Selenium: no es estrictamente necesario para GHunt, pero se emplea en el proceso de obtención de cookies de forma automatizada y ética (iniciando sesión en una cuenta propia). Permite emular un navegador y extraer las cookies sin intervención manual repetitiva.
- Chrome cookies: archivo de cookies en formato Netscape o JSON que contiene la sesión activa de Google. GHunt espera un archivo
cookies.txto similar. - Suite OSINT complementaria: herramientas como Holehe, Maigret o theHarvester se integran en el flujo de trabajo para correlacionar hallazgos y ampliar la superficie de reconocimiento.
Diagrama conceptual del flujo:
+----------------+ +------------------+ +-------------------+
| Navegador | | Extracción de | | GHunt |
| (Chrome/ |----->| cookies |----->| (consulta email/ |
| Firefox) | | (manual o | | Gaia ID) |
| Inicio sesión | | Selenium) | +-------------------+
| cuenta lab | +------------------+ |
+----------------+ v
+-------------------+
| APIs Google: |
| - Gaia |
| - Maps |
| - Photos |
| - YouTube |
| - Calendar |
+-------------------+
|
v
+-------------------+
| Resultados: |
| - Nombre |
| - Avatar |
| - Servicios |
| - Reviews |
+-------------------+
Dependencias principales (se instalan automáticamente con requirements.txt):
requestsbeautifulsoup4lxmlcoloramahttpxrich
1.3 Setup de Laboratorio / Entorno
Requisitos de sistema
- Sistema operativo: Linux (Ubuntu 20.04/22.04 recomendado), macOS, Windows (con WSL2 o Docker).
- Python: 3.9 o superior.
- Git: para clonar el repositorio.
- Navegador: Google Chrome o Chromium (para extracción de cookies).
- Conexión a Internet: necesaria para consultas a las APIs de Google.
- Espacio en disco: ~500 MB (incluyendo dependencias y navegador).
Instalación en Linux (Ubuntu/Debian)
Abre una terminal y ejecuta los siguientes comandos. Se asume un sistema recién instalado.
## 1. Actualizar repositorios e instalar dependencias del sistema
sudo apt update && sudo apt upgrade -y
sudo apt install -y python3 python3-pip python3-venv git curl wget
## 2. Crear un directorio para el laboratorio
mkdir -p ~/osint-lab && cd ~/osint-lab
## 3. Clonar el repositorio oficial de GHunt
git clone https://github.com/mxrch/GHunt.git
cd GHunt
## 4. Crear un entorno virtual Python (buena práctica de aislamiento)
python3 -m venv venv
source venv/bin/activate
## 5. Instalar las dependencias de Python
pip install --upgrade pip
pip install -r requirements.txt
## 6. Verificar la instalación
python3 ghunt.py --help
Si todo es correcto, verás la ayuda de GHunt con los comandos disponibles.
Alternativa con Docker
Si prefieres un entorno encapsulado, puedes usar Docker. GHunt no tiene una imagen oficial, pero puedes construir una:
## Crear un Dockerfile en ~/osint-lab/GHunt
cat > Dockerfile << 'EOF'
FROM python:3.10-slim
RUN apt update && apt install -y git curl wget && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . /app
RUN pip install --no-cache-dir -r requirements.txt
ENTRYPOINT ["python3", "ghunt.py"]
EOF
## Construir la imagen
docker build -t ghunt-lab .
## Ejecutar (montando el directorio actual para acceder a cookies)
docker run -it --rm -v $(pwd):/app ghunt-lab --help
Instalación en Windows (WSL2)
Recomendamos usar WSL2 con Ubuntu. Instala WSL2 siguiendo la documentación oficial de Microsoft, luego abre la terminal de Ubuntu y sigue los mismos pasos que en Linux. Para la extracción de cookies, puedes usar Chrome en Windows y copiar el archivo de cookies a WSL2 mediante la ruta /mnt/c/Users/....
Instalación en macOS
## Instalar Homebrew si no lo tienes
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
## Instalar dependencias
brew install python@3.10 git
## Seguir los pasos de clonado y entorno virtual igual que en Linux
Verificación post-instalación
Ejecuta una consulta de prueba con una cuenta de laboratorio propia. Primero necesitas obtener las cookies (ver sección 1.4). Luego:
## Activar el entorno virtual
source venv/bin/activate
## Ejecutar GHunt con un email de prueba (tu cuenta de laboratorio)
python3 ghunt.py email tu.cuenta.lab@gmail.com
Si la cookie es válida, GHunt devolverá información de la cuenta. Si falla, revisa la sección de troubleshooting.
Troubleshooting de setup
| Problema | Causa probable | Solución |
|----------|----------------|----------|
| ModuleNotFoundError: No module named 'requests' | Entorno virtual no activado o dependencias no instaladas | Asegúrate de ejecutar source venv/bin/activate y luego pip install -r requirements.txt |
| SyntaxError o errores de versión de Python | Python < 3.9 | Instala Python 3.9+ con sudo apt install python3.9 y crea el venv con esa versión: python3.9 -m venv venv |
| ConnectionError al consultar APIs de Google | Cookie inválida o expirada | Vuelve a extraer las cookies de una sesión recién iniciada. Las cookies de Google caducan rápidamente si no se usan. |
| KeyError: 'SAPISID' | Formato de cookie incorrecto | GHunt espera un archivo de cookies en formato Netscape. Asegúrate de que el archivo contenga las cookies SAPISID, __Secure-3PSID, etc. |
| GHunt se congela sin salida | Bloqueo por parte de Google (rate limiting) | Espera unos minutos, usa una VPN diferente o rota la cuenta de laboratorio. No realices consultas masivas. |
| Permission denied al ejecutar ghunt.py | Archivo sin permisos de ejecución | chmod +x ghunt.py o ejecuta con python3 ghunt.py |
1.4 Configuración Inicial y OPSEC
Obtención ética de cookies de sesión
Para usar GHunt necesitas un archivo de cookies de una sesión activa de Google. Nunca obtengas cookies de terceros sin autorización. El método ético consiste en iniciar sesión con una cuenta de laboratorio propia y extraer las cookies de tu navegador.
Método manual (recomendado para laboratorio):
- Abre Google Chrome (o Chromium) e inicia sesión con tu cuenta de laboratorio.
- Instala la extensión "Get cookies.txt LOCALLY" (de código abierto, disponible en Chrome Web Store).
- Navega a
https://accounts.google.com(o cualquier página de Google) y haz clic en el icono de la extensión. - Exporta las cookies en formato Netscape y guárdalas como
cookies.txten el directorio de GHunt.
Método automatizado con Selenium (script Python):
Crea un script get_cookies.py en el directorio de GHunt:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
import json
options = Options()
options.add_argument("--user-data-dir=/tmp/chrome_lab") # Perfil temporal
driver = webdriver.Chrome(options=options)
driver.get("https://accounts.google.com/")
input("Inicia sesión manualmente en la cuenta de laboratorio y presiona Enter aquí...")
cookies = driver.get_cookies()
with open("cookies.json", "w") as f:
json.dump(cookies, f)
driver.quit()
print("Cookies guardadas en cookies.json")
Luego convierte el JSON a formato Netscape con otro script o utiliza una herramienta como cookies-txt. GHunt acepta cookies en formato JSON si se especifica la ruta correcta.
Configuración de GHunt
GHunt no requiere un archivo de configuración complejo. Las opciones principales se pasan por línea de comandos:
python3 ghunt.py email <email> --cookies cookies.txt
python3 ghunt.py gaia <gaia_id> --cookies cookies.txt
Para mayor comodidad, puedes crear un alias en tu .bashrc o .zshrc:
alias ghunt='cd ~/osint-lab/GHunt && source venv/bin/activate && python
---
## Capítulo 2: Técnicas Avanzadas (Lab Autorizado)
> ** DISCLAIMER DE USO LÍCITO**
> Todas las técnicas descritas en este capítulo se ejecutan **exclusivamente sobre cuentas de Google propias o autorizadas por escrito** en un entorno de laboratorio controlado. La extracción de cookies de sesión se realiza únicamente desde navegadores bajo tu control y para cuentas de tu propiedad. El uso de esta información contra terceros sin consentimiento viola los Términos de Servicio de Google y puede constituir delito. Este material tiene fines educativos y de hardening defensivo.
---
## 2.1 Comandos y flujos esenciales
En esta sección dominamos los comandos de GHunt que permiten extraer y correlacionar información pública de una cuenta Google a partir de un identificador base (email o Gaia ID). Todos los ejemplos se ejecutan sobre una cuenta de laboratorio `lab.viciousbyte@gmail.com` creada expresamente para pruebas.
### 2.1.1 Obtención del Gaia ID
El Gaia ID es el identificador numérico interno de Google. GHunt lo obtiene automáticamente, pero podemos forzar su consulta con:
```bash
ghunt email lab.viciousbyte@gmail.com --json info.json
Salida esperada (resumida):
{
"email": "lab.viciousbyte@gmail.com",
"gaiaID": "113456789012345678901",
"profile_picture": "https://lh3.googleusercontent.com/a-/...",
"display_name": "Lab ViciousByte",
"services": ["youtube", "maps", "photos", "drive", "calendar"]
}
El flag --json exporta los resultados a un archivo para su posterior procesamiento. Si ya conocemos el Gaia ID, podemos saltar la consulta de email y usar directamente:
ghunt gaia 113456789012345678901 --json gaia_info.json
Este comando enumera todos los servicios Google vinculados a ese ID: YouTube, Maps, Photos, Drive, Calendar, etc. La salida incluye URLs de perfiles públicos, fechas de creación y otra metadata.
2.1.2 Extracción de perfiles de servicio
Una vez identificados los servicios activos, GHunt permite profundizar en cada uno:
## Perfil de YouTube
ghunt youtube 113456789012345678901
## Álbumes públicos de Photos
ghunt photos 113456789012345678901
## Contribuciones en Maps (reseñas, fotos)
ghunt maps 113456789012345678901
Cada comando devuelve información pública que el usuario ha dejado visible. En lab, configuramos la cuenta para tener algunos álbumes públicos y reseñas de Maps, de modo que podamos validar la correlación.
2.1.3 Correlación con email y username
GHunt puede pivotar desde un email o un nombre de usuario de Google (la parte anterior al @gmail.com). El flujo típico en un laboratorio:
## Paso 1: email -> Gaia ID + servicios
ghunt email lab.viciousbyte@gmail.com --json email_info.json
## Paso 2: extraer Gaia ID del JSON (usando jq)
GAIA_ID=$(jq -r '.gaiaID' email_info.json)
## Paso 3: consultar servicios con el ID
ghunt gaia $GAIA_ID --json gaia_info.json
## Paso 4: extraer URLs de Maps y Photos
MAPS_URL=$(jq -r '.maps' gaia_info.json)
PHOTOS_URL=$(jq -r '.photos' gaia_info.json)
Este flujo permite construir un grafo de información pública asociada a la cuenta. En un lab ético, se utiliza para entender la huella digital que deja una cuenta Google y cómo minimizarla.
2.1.4 Verificación de existencia de cuenta
GHunt incluye un módulo de validación que determina si un email de Gmail existe realmente, sin enviar correos ni interactuar con el usuario:
ghunt email lab.viciousbyte@gmail.com --check
Salida esperada:
[+] Email exists: True
[+] Gaia ID: 113456789012345678901
[+] Services: youtube, maps, photos, drive, calendar
Este comando es útil en laboratorios de OSINT para mapear la presencia digital de cuentas propias y entender qué información se filtra pasivamente.
2.2 Automatización con Scripts
La repetición manual de consultas es ineficiente. A continuación, se presentan scripts en Bash y Python para automatizar la recolección, el logging estructurado y la generación de reportes.
2.2.1 Script Bash para enumeración masiva (lab)
Este script procesa una lista de correos de cuentas propias y genera un archivo CSV con los resultados. Solo debe usarse sobre cuentas de laboratorio autorizadas.
#!/bin/bash
## ghunt_lab_scan.sh - Enumeración ética de cuentas propias
INPUT_FILE="lab_accounts.txt"
OUTPUT_FILE="ghunt_results.csv"
LOG_FILE="ghunt_scan.log"
echo "email,gaia_id,exists,youtube,maps,photos,drive,calendar" > "$OUTPUT_FILE"
while IFS= read -r email; do
echo "[*] Procesando: $email" | tee -a "$LOG_FILE"
# Consulta GHunt y guarda JSON
ghunt email "$email" --json "/tmp/ghunt_$email.json" 2>>"$LOG_FILE"
if [ $? -eq 0 ]; then
# Extraer campos con jq
gaia=$(jq -r '.gaiaID // "N/A"' "/tmp/ghunt_$email.json")
exists=$(jq -r '.exists // false' "/tmp/ghunt_$email.json")
yt=$(jq -r '.services.youtube // false' "/tmp/ghunt_$email.json")
maps=$(jq -r '.services.maps // false' "/tmp/ghunt_$email.json")
photos=$(jq -r '.services.photos // false' "/tmp/ghunt_$email.json")
drive=$(jq -r '.services.drive // false' "/tmp/ghunt_$email.json")
calendar=$(jq -r '.services.calendar // false' "/tmp/ghunt_$email.json")
echo "$email,$gaia,$exists,$yt,$maps,$photos,$drive,$calendar" >> "$OUTPUT_FILE"
else
echo "[!] Error procesando $email" | tee -a "$LOG_FILE"
fi
# Pausa ética para no saturar APIs (2 segundos)
sleep 2
done < "$INPUT_FILE"
echo "[+] Escaneo completado. Resultados en $OUTPUT_FILE"
Ejemplo de salida CSV:
email,gaia_id,exists,youtube,maps,photos,drive,calendar
lab.viciousbyte@gmail.com,113456789012345678901,true,true,true,true,true,true
test.lab.aux@gmail.com,109876543210987654321,true,true,false,false,true,false
2.2.2 Script Python con logging estructurado
El siguiente script en Python utiliza el módulo ghunt (importable) para realizar consultas programáticas y generar logs en formato JSON, facilitando la integración con SIEMs de laboratorio.
#!/usr/bin/env python3
"""
ghunt_lab_collector.py - Recolección ética de inteligencia de cuentas propias.
"""
import json
import logging
import sys
from pathlib import Path
from ghunt import email as ghunt_email, gaia as ghunt_gaia
## Configurar logging
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s',
handlers=[
logging.FileHandler('ghunt_lab.log'),
logging.StreamHandler(sys.stdout)
]
)
logger = logging.getLogger(__name__)
## Lista de cuentas de laboratorio autorizadas
LAB_ACCOUNTS = [
"lab.viciousbyte@gmail.com",
"test.lab.aux@gmail.com"
]
def collect_account_intel(email_addr: str) -> dict:
"""Recolecta inteligencia de una cuenta propia."""
logger.info(f"Iniciando recolección para {email_addr}")
result = {"email": email_addr, "timestamp": None, "gaia_id": None, "services": {}}
try:
# Consulta de email
email_data = ghunt_email.check(email_addr)
result["gaia_id"] = email_data.get("gaiaID")
result["exists"] = email_data.get("exists", False)
if result["gaia_id"]:
# Consulta de Gaia ID para servicios
gaia_data = ghunt_gaia.get(result["gaia_id"])
result["services"] = {
"youtube": bool(gaia_data.get("youtube")),
"maps": bool(gaia_data.get("maps")),
"photos": bool(gaia_data.get("photos")),
"drive": bool(gaia_data.get("drive")),
"calendar": bool(gaia_data.get("calendar"))
}
logger.info(f"Recolección exitosa para {email_addr}")
except Exception as e:
logger.error(f"Error en {email_addr}: {str(e)}")
result["error"] = str(e)
return result
def main():
results = []
for account in LAB_ACCOUNTS:
data = collect_account_intel(account)
results.append(data)
# Guardar resultados
output_file = Path("ghunt_lab_results.json")
output_file.write_text(json.dumps(results, indent=2, default=str))
logger.info(f"Resultados guardados en {output_file}")
# Generar resumen
total = len(results)
with_gaia = sum(1 for r in results if r.get("gaia_id"))
logger.info(f"Resumen: {total} cuentas procesadas, {with_gaia} con Gaia ID")
if __name__ == "__main__":
main()
Ejemplo de log generado:
2025-03-20 10:15:23 - INFO - Iniciando recolección para lab.viciousbyte@gmail.com
2025-03-20 10:15:25 - INFO - Recolección exitosa para lab.viciousbyte@gmail.com
2025-03-20 10:15:25 - INFO - Iniciando recolección para test.lab.aux@gmail.com
2025-03-20 10:15:27 - INFO - Recolección exitosa para test.lab.aux@gmail.com
2025-03-20 10:15:27 - INFO - Resultados guardados en ghunt_lab_results.json
2025-03-20 10:15:27 - INFO - Resumen: 2 cuentas procesadas, 2 con Gaia ID
2.2.3 Automatización de reportes
Para generar un informe profesional en PDF, podemos combinar los resultados JSON con pandoc y una plantilla Markdown:
## Convertir JSON a Markdown con jq
jq -r '.[] | "## \(.email)\n- Gaia ID: \(.gaia_id)\n- Existe: \(.exists)\n- Servicios: \(.services | to_entries | map(select(.value) | .key) | join(", "))\n"' ghunt_lab_results.json > report.md
## Generar PDF
pandoc report.md -o ghunt_lab_report.pdf --pdf-engine=xelatex
2.3 Integración Multi-Tool
La potencia de GHunt se multiplica al integrarlo con otras herramientas del stack ViciousByte. En esta sección construimos un pipeline que combina GHunt, Selenium (para obtener cookies de sesión propias), y módulos de la Suite OSINT para correlación avanzada.
2.3.1 Obtención ética de cookies con Selenium
Para consultas que requieren autenticación (por ejemplo, verificar suscripciones de YouTube o álbumes compartidos limitados a "cualquiera con el enlace"), necesitamos cookies de sesión de una cuenta Google controlada. El siguiente script de Selenium inicia sesión en una cuenta de laboratorio y guarda las cookies en formato Netscape (compatible con GHunt).
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
import json
## Configuración
LAB_EMAIL = "lab.viciousbyte@gmail.com"
LAB_PASSWORD = "LabPassword123!" # Cuenta de laboratorio, nunca real
COOKIE_FILE = "lab_cookies.txt"
options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=options)
try:
driver.get("https://accounts.google.com/signin")
# Ingresar email
email_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "identifierId"))
)
email_field.send_keys(LAB_EMAIL)
driver.find_element(By.ID, "identifierNext").click()
# Ingresar contraseña
password_field = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.NAME, "Passwd"))
)
password_field.send_keys(LAB_PASSWORD)
driver.find_element(By.ID, "passwordNext").click()
# Esperar autenticación completa
WebDriverWait(driver, 30).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "a[href*='myaccount']"))
)
# Guardar cookies en formato Netscape
cookies = driver.get_cookies()
with open(COOKIE_FILE, "w") as f:
f.write("# Netscape HTTP Cookie File\n")
for cookie in cookies:
domain = cookie.get("domain", "")
flag = "TRUE" if domain.startswith(".") else "FALSE"
path = cookie.get("path", "/")
secure = "TRUE" if cookie.get("secure") else "FALSE"
expiry = str(int(cookie.get("expiry", 0))) if cookie.get("expiry") else "0"
name = cookie.get("name", "")
value = cookie.get("value", "")
f.write(f"{domain}\t{flag}\t{path}\t{secure}\t{expiry}\t{name}\t{value}\n")
print(f"[+] Cookies guardadas en {COOKIE_FILE}")
finally:
driver.quit()
GHunt puede usar estas cookies mediante la variable de entorno GHUNT_COOKIES o el flag --cookies:
export GHUNT_COOKIES=lab_cookies.txt
ghunt email lab.viciousbyte@gmail.com --cookies lab_cookies.txt
Esto permite acceder a información adicional que solo es visible para usuarios autenticados, siempre dentro de la misma cuenta.
2.3.2 Pipeline con Suite OSINT
Contenido Premium
Los siguientes capítulos están disponibles en la versión completa:
- Capítulo 3: Análisis de Casos Reales
- Capítulo 4: Ejercicios Prácticos Guiados
- Capítulo 5: Troubleshooting y FAQs
- Capítulo 6: Recursos y Certificaciones
- Scripts completos y plantillas
- Soporte técnico incluido
Contenido bloqueado
Compra esta guía para acceder al contenido completo
Herramientas
Estadísticas
Compras
0
Duración
10-14 horas de lectura práctica
Nivel
Avanzado
Autor
guide-generator-worker
Versión 1.0