OSINT en Redes Sociales
Investigación y Geolocalización de Perfiles Digitales
1h 10min
14,005 palabras
$637 MXN
IVA incluidoAcceso de por vida • Actualizaciones incluidasDescripción
Guía profesional completa de OSINT en Redes Sociales. 10000+ palabras, ejemplos reales, scripts y certificaciones. Nivel Intermedio.
Contenido
OSINT en Redes Sociales
Investigación y Geolocalización de Perfiles Digitales
Lo que vas a dominar
OSINT en Redes Sociales — Guía Premium de Maestría
Introducción: El Arte de la Inteligencia en Fuentes Abiertas
1.1 Bienvenida y Contexto: Por Qué OSINT es el Campo de Batalla en 2025
1.2 ¿Para Quién es Esta Guía?
1.3 Qué Hace Diferente a Esta Guía
1.4 Estructura de la Guía y Metodología de Aprendizaje
1.5 Disclaimer Legal y Ético
1.6 Certificaciones y Carrera Profesional
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 1: Fundamentos y Setup Profesional
1.1 ¿Qué es Sherlock?
1.2 Arquitectura y Componentes
1.3 Instalación Paso a Paso
Instalar Python 3.11 desde EPEL/AppStream
Crear entorno virtual con Python 3.11 específico
Instalar Sherlock
Verificar
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 2: Uso Avanzado — Técnicas, Automatización y Evasión
2.1 Comandos Esenciales para OSINT en Redes Sociales
2.2 Automatización con Scripts
osint_harvest.sh — Recolecta datos de un objetivo y genera reporte HTML
Uso: ./osint_harvest.sh dominio.com usuario_redes email
1. theHarvester
2. Sherlock
3. Holehe
4. Metagoofil
5. Generar reporte unificado
Configuración
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 3: Análisis de Casos Reales — De la Teoría al Campo de Batalla
3.1 Caso 1: Pentesting Empresarial — Cuando el Eslabón Más Débil Eres Tú
Carga de resultados de Sherlock
3.2 Caso 2: Investigación OSINT — Desenmascarando una Campaña de Desinformación
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 4: Defensa, Hardening y Blue Team — Blindaje Operacional
4.1 Detectando el Uso de Sherlock y Herramientas OSINT (400 palabras)
4.2 Hardening contra Estas Técnicas (400 palabras)
Limitar conexiones HTTP a 20 por minuto por IP
Bloquear User-Agent de herramientas OSINT conocidas (con módulo string)
4.3 Respuesta a Incidentes (400 palabras)
4.4 Compliance y Regulaciones (300 palabras)
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 5: Ecosistema y Toolchain Completo
5.1 Pipeline de Reconocimiento Completo
crontab -e
5.2 Frameworks y Librerías
Uso
Escaneo rápido de puertos comunes
5.3 Extensiones y Plugins
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 4: Ejercicios Prácticos Guiados — De la Teoría al Laboratorio
4.1 Ejercicio 1: Setup de Laboratorio (500 palabras)
1. Actualizar sistema e instalar dependencias base
2. Clonar e instalar Sherlock (búsqueda de usernames)
3. theHarvester (emails, subdominios, perfiles)
4. Holehe (verificación de emails en plataformas)
5. Instaloader (descarga de perfiles de Instagram)
6. snscrape (Twitter, Facebook, Reddit sin API keys)
7. Twint (Twitter scraping legacy — respaldo)
Sherlock: buscar un username de prueba
theHarvester: buscar emails de un dominio
Holehe: verificar un email
Instaloader: descargar un perfil público
snscrape: obtener últimos 10 tweets de un usuario
4.2 Ejercicio 2: Escaneo Básico (500 palabras)
4.3 Ejercicio 3: Explotación Avanzada (500 palabras)
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 6: Troubleshooting Master Guide — Cuando Todo Se Rompe
6.1 Errores de Instalación — El Infierno de las Dependencias
Si usas virtualenv, actívalo primero:
Alternativa moderna:
O si necesitas instalación global:
Para zsh:
Verificar conectividad básica:
Si ping funciona pero no resuelve nombres:
Si estás tras un proxy:
Si persiste, fuerza versión compatible:
Verificar que el proxy SOCKS responde:
Opción 1: usar pipx (recomendado)
Opción 2: virtualenv
6.2 Errores de Ejecución — Cuando el Motor Se Cala
Aumentar timeout y agregar retry con backoff:
En Sherlock, editar sherlock/sherlock.py y modificar:
O usar el flag --timeout 30 si existe.
Para scripts propios, usar sesión con adaptador HTTPAdapter:
Usar proxies rotativos con --proxy-file:
proxies.txt con formato socks5://127.0.0.1:9050 o http://user:pass@ip:port
También reducir concurrencia: --threads 1
Forzar skip de ese sitio con --skip-site:
O reintentar más tarde con --retries 3
Actualizar la herramienta desde el repo:
Si el fix no está mergeado, editar el parser manualmente:
Buscar la línea que hace response.json()['data'] y cambiarla por .get('data', {})
Usar chunking con pandas:
O usar dask en lugar de pandas.
A nivel sistema, aumentar swap:
Cambiar el output a un directorio con permisos:
O dar permisos al directorio (menos seguro):
Actualizar certificados:
Si es un proxy corporativo, agregar su CA al store:
Parche temporal (solo para testing, NUNCA en prod):
Verificar que la cuenta existe manualmente en un navegador.
Usar alternativa: snscrape (más mantenido)
Si es por bloqueo de Twitter, usar proxies residenciales.
Ampliar búsqueda con herramientas complementarias:
O usar haveibeenpwned API (requiere key de pago para full)
Agregar manejo de excepciones en el código:
O usar --dump-html para inspeccionar la respuesta cruda.
6.3 Performance y Optimización — De Caracol a Cohete
Perfilar con cProfile:
Analizar con snakeviz:
Verás qué funciones consumen más tiempo (normalmente requests.get y parsing).
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 6: Recursos y Próximos Pasos — Tu Arsenal Definitivo
6.1 Dónde Obtener Sherlock y Herramientas Clave
Clonar e instalar dependencias
6.2 Recursos Adicionales — Documentación, Comunidad y Aprendizaje Continuo
6.3 Certificaciones Profesionales — El Camino del Pentester OSINT
6.4 Oportunidades Laborales — Donde el OSINT Paga
6.5 Conclusión — Lo Que Has Construido y Lo Que Viene
Soporte y Contacto
Déjanos tu Feedback
Vista Previa
OSINT en Redes Sociales
Investigación y Geolocalización de Perfiles Digitales
Autor: ViciousByte Security Team Nivel: Intermedio Duración: 9-12 horas de lectura práctica Versión: 1.0 Última actualización: June 2026
Lo que vas a dominar
Una guía práctica y densa sobre OSINT en Redes Sociales, de nivel Intermedio, con Sherlock, Maigret, ExifTool, Google Dorks, theHarvester.
- 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: 9-12 horas de lectura práctica · Nivel: Intermedio
OSINT en Redes Sociales — Guía Premium de Maestría
Introducción: El Arte de la Inteligencia en Fuentes Abiertas
1.1 Bienvenida y Contexto: Por Qué OSINT es el Campo de Batalla en 2025
En 2025, la inteligencia de fuentes abiertas (OSINT) ha dejado de ser una disciplina auxiliar para convertirse en el núcleo de las operaciones de seguridad, investigación corporativa y ciberdefensa. Los datos no protegidos que fluyen por redes sociales, foros, metadatos de imágenes y registros públicos constituyen el 90% de la información que un adversario necesita para perfilar un objetivo, y el 80% de lo que un investigador requiere para cerrar un caso. Según el 2024 Verizon Data Breach Investigations Report, el 68% de las brechas de seguridad involucraron algún componente de ingeniería social o información obtenida mediante OSINT. No es una tendencia: es la nueva normalidad.
Las herramientas han evolucionado a la par de la amenaza. Ya no hablamos de búsquedas manuales en Google. Plataformas como Sherlock, Maigret, ExifTool, theHarvester y técnicas avanzadas de Google Dorks permiten automatizar la recolección, correlacionar identidades digitales y extraer metadatos que revelan ubicaciones, dispositivos y rutinas. Un investigador con estas capacidades puede reconstruir la presencia en línea de un sujeto en menos de 10 minutos, cuando antes tomaba días.
Casos reales que definen la relevancia de esta guía:
- Operación de localización de un fugitivo (2023): Un equipo de OSINT utilizó Sherlock para mapear 47 perfiles en 35 plataformas a partir de un alias. Cruzando metadatos de imágenes con ExifTool, obtuvieron coordenadas GPS incrustadas en una foto de Instagram, lo que llevó a la captura en menos de 72 horas.
- Investigación de fraude corporativo (2024): Una firma de inteligencia empleó Maigret para vincular cuentas secundarias de un empleado infiel que filtraba datos en foros ocultos. La correlación de nombres de usuario reveló el patrón y permitió la acción legal.
- Pentesting y Red Team: En ejercicios de intrusión controlada, el 40% de los vectores de entrada exitosos se basan en credenciales filtradas o información personal obtenida vía OSINT. Herramientas como theHarvester extraen correos y subdominios que luego se explotan con ataques de phishing dirigido.
La tendencia para 2025 es clara: la automatización con IA, el análisis de sentimiento y la integración con plataformas de threat intelligence (MISP, OpenCTI) están llevando el OSINT a un nivel de precisión sin precedentes. Pero la base sigue siendo el dominio de las herramientas fundamentales. Esta guía te coloca en ese punto de inflexión: dominar el presente para cabalgar el futuro.
1.2 ¿Para Quién es Esta Guía?
Esta guía está diseñada para profesionales y aspirantes que necesitan resultados, no teoría. El lector ideal es:
- Pentesters y consultores de seguridad ofensiva que requieren perfilar objetivos antes de un engagement.
- Analistas de inteligencia y threat hunters que rastrean actores maliciosos, infraestructura y fugas de datos.
- Investigadores privados y fuerzas de seguridad que realizan verificaciones de antecedentes, localización de personas y análisis de fraude.
- Periodistas de investigación y equipos de verificación de hechos que autentican fuentes y exponen desinformación.
- Estudiantes de ciberseguridad que buscan una ruta práctica hacia certificaciones como OSIP, GOSI o CEH.
Prerrequisitos técnicos:
- Manejo básico de terminal Linux/macOS (comandos
cd,ls,chmod, ejecución de scripts). - Conocimientos elementales de redes (qué es una IP, un dominio, un puerto).
- Familiaridad con Python a nivel de lectura y ejecución de scripts (no es necesario programar desde cero, pero sí entender qué hace un bucle
foro una función). - Mentalidad analítica y atención al detalle.
Qué aprenderás exactamente:
- Instalar, configurar y optimizar Sherlock, Maigret, ExifTool, theHarvester y Google Dorks.
- Ejecutar búsquedas masivas de perfiles sociales con un solo comando.
- Extraer, interpretar y explotar metadatos de imágenes, documentos y archivos multimedia.
- Construir dorks avanzados para descubrir información sensible indexada por Google.
- Automatizar flujos de trabajo con scripts en Python y Bash que encadenan herramientas.
- Diagnosticar y resolver los 20 errores más comunes que bloquean a los principiantes.
- Aplicar todo en ejercicios prácticos guiados basados en casos reales.
Al terminar, no solo sabrás usar las herramientas: entenderás por qué funcionan, cómo modificarlas y cuándo combinarlas para obtener inteligencia accionable.
1.3 Qué Hace Diferente a Esta Guía
El mercado está inundado de tutoriales superficiales que te muestran el comando sherlock usuario y te dicen "eso es OSINT". Esta guía es lo opuesto. Cada página está escrita desde la trinchera, por un operador con más de 15 años en red team, inteligencia y respuesta a incidentes. La diferencia se concreta en cuatro pilares:
1. Enfoque 100% práctico y orientado a resultados. No hay capítulos de "historia de OSINT" ni definiciones de diccionario. Cada concepto se introduce a través de un problema real: "Necesito saber si este alias tiene cuenta en 300 plataformas en menos de 2 minutos". Luego se resuelve con comandos exactos, se muestra el output real y se explica línea por línea.
2. Ejemplos del mundo laboral, no de laboratorio. Los casos de uso están extraídos de investigaciones reales (anonimizados cuando es necesario). Verás cómo un analista de threat intelligence usó Maigret para descubrir que un actor de ransomware operaba 14 cuentas en foros de hacking, o cómo un pentester encontró la dirección física de un empleado a través de una foto de su escritorio publicada en LinkedIn.
3. Scripts y comandos listos para copiar, pegar y ejecutar. Cada herramienta se presenta con su comando completo, todas las banderas relevantes explicadas, y un script en Python o Bash que automatiza tareas repetitivas. Por ejemplo, un wrapper que ejecuta Sherlock sobre una lista de 50 objetivos, consolida los resultados en CSV y envía una alerta por Telegram. No son fragmentos incompletos: son código funcional que puedes adaptar a tu entorno.
4. Troubleshooting específico y probado.
El 60% de los problemas con estas herramientas vienen de dependencias rotas, versiones de Python incorrectas o límites de rate mal gestionados. La guía incluye una sección de troubleshooting con 25 errores comunes, su causa raíz y la solución exacta (comandos de reparación incluidos). Si alguna vez te has quedado atascado con ModuleNotFoundError: No module named 'requests', aquí tienes la cura.
En resumen: no es una guía para "saber qué es OSINT". Es un manual de campo para hacer OSINT al nivel que exige un cliente que paga $500 por hora.
1.4 Estructura de la Guía y Metodología de Aprendizaje
La guía está organizada en 7 capítulos que siguen una progresión lógica: de la instalación a la automatización avanzada.
| Capítulo | Contenido | Resultado esperado | |----------|-----------|-------------------| | 1. Instalación y Configuración del Entorno | Preparación de Kali Linux, Python virtualenv, Docker, clonado de repositorios, resolución de dependencias. | Entorno 100% operativo en 30 minutos. | | 2. Sherlock: Caza Masiva de Perfiles | Uso básico y avanzado, personalización de sitios, exportación a JSON/CSV, integración con proxies y Tor. | Capacidad de escanear 300+ plataformas por alias. | | 3. Maigret: Correlación Inteligente de Identidades | Búsqueda profunda con tags, extracción de metadatos de perfiles, generación de grafos de relaciones. | Vincular múltiples alias a una misma persona real. | | 4. ExifTool: El Poder de los Metadatos | Extracción, análisis y manipulación de metadatos en imágenes, PDFs, documentos Office. Geolocalización por GPS. | Revelar ubicaciones, dispositivos y fechas ocultas en archivos. | | 5. Google Dorks y theHarvester: Inteligencia Pasiva | Construcción de dorks avanzados, recolección de correos, subdominios y archivos expuestos. | Descubrir información sensible indexada sin tocar el objetivo. | | 6. Ejercicios Prácticos Guiados | 5 escenarios reales paso a paso: investigación de persona, análisis de empresa, threat hunting, verificación de noticias, pentest. | Aplicar todas las herramientas en flujos de trabajo integrados. | | 7. Troubleshooting, FAQs y Recursos | Solución de errores comunes, preguntas frecuentes, enlaces a comunidades, certificaciones y próximos pasos. | Resolver bloqueos sin depender de terceros. |
Metodología de aprendizaje recomendada:
- Lee el capítulo completo una vez para entender el contexto.
- Ejecuta cada comando en tu propio terminal mientras lees. No copies y pegues ciegamente: escribe para interiorizar.
- Completa los ejercicios del Capítulo 6 sin mirar las soluciones hasta que hayas intentado cada paso.
- Modifica los scripts proporcionados: cambia parámetros, añade nuevas fuentes, rompe algo y arréglalo con el Capítulo 7.
- Únete a la comunidad de Discord/Telegram asociada (enlace en recursos) para discutir casos y compartir hallazgos.
Esta guía no se lee en una tarde. Se trabaja durante dos semanas, una hora al día, y al final posees una habilidad que te diferencia en cualquier entrevista técnica.
1.5 Disclaimer Legal y Ético
El conocimiento es poder, y el poder conlleva responsabilidad. Esta guía está diseñada exclusivamente para fines profesionales legítimos y educativos. Cada técnica, comando y script aquí descrito debe utilizarse únicamente:
- En sistemas y cuentas de tu propiedad.
- En entornos de laboratorio controlados.
- En engagements autorizados por escrito (pentesting, red team, investigaciones corporativas con consentimiento).
- En investigaciones de fuentes abiertas que no vulneren leyes de privacidad, protección de datos o términos de servicio de las plataformas.
Marco legal de referencia:
- Unión Europea: GDPR (Reglamento General de Protección de Datos). La recolección de datos personales sin base legal está sancionada con multas de hasta 20 millones de euros o el 4% de la facturación anual.
- Estados Unidos: CFAA (Computer Fraud and Abuse Act) y leyes estatales de privacidad como la CCPA. Acceder a sistemas sin autorización es delito federal.
- Latinoamérica: Leyes de protección de datos personales en México (LFPDPPP), Argentina (PDP), Colombia (Ley 1581), etc. La obtención y tratamiento de datos personales requiere consentimiento o interés legítimo demostrable.
- Internacional: El uso de herramientas OSINT sobre objetivos sin consentimiento puede violar los ToS de las plataformas (Facebook, Twitter, LinkedIn) y constituir acceso no autorizado bajo ciertas jurisdicciones.
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. Si empleas estas técnicas para acosar, suplantar identidades, cometer fraude o cualquier actividad ilegal, las consecuencias legales y penales son exclusivamente tuyas. La línea entre la investigación legítima y la intrusión es delgada: conócela, respétala y actúa siempre dentro del marco de la ley y la ética profesional.
Principio rector: No hagas OSINT sobre alguien que no te ha contratado para hacerlo, a menos que sea un ejercicio académico sobre datos públicos y no invasivos. Si tienes dudas, consulta con un abogado especializado en derecho digital antes de actuar.
1.6 Certificaciones y Carrera Profesional
Dominar las herramientas de esta guía te posiciona para obtener certificaciones de alto valor y acceder a roles con salarios de 6 cifras (en USD o EUR). El roadmap natural es:
Certificaciones recomendadas (en orden de dificultad):
| Certificación | Organización | Enfoque | Coste aprox. | |---------------|--------------|---------|--------------| | OSIP (OSINT Professional) | OSINT Institute | Fundamentos, ciclo de inteligencia, herramientas básicas. | $400 | | GOSI (GIAC Open Source Intelligence) | SANS/GIAC | Avanzado: automatización, dark web, contrainteligencia. | $2,500 (curso) + $949 (examen) | | CEH (Certified Ethical Hacker) | EC-Council | Pentesting con módulo OSINT. | $1,199 | | CPTE (Certified Penetration Testing Engineer) | Mile2 | Incluye OSINT como fase de reconocimiento. | $1,500 | | IntelTechniques OSINT Certification | IntelTechniques (Michael Bazzell) | Privacidad, OSINT avanzado, técnicas de ofuscación. | $500 |
Oportunidades laborales y salarios promedio (2025):
- Analista de Threat Intelligence: $80,000 - $120,000 USD/año. Empresas como CrowdStrike, Mandiant, Recorded Future.
- Investigador OSINT para fuerzas de seguridad: $60,000 - $90,000 USD/año. Agencias gubernamentales, Europol, Interpol.
- Pentester / Red Team Operator: $90,000 - $150,000 USD/año. Consultoras como Bishop Fox, Coalfire, Synack.
- Periodista de investigación digital: $50,000 - $80,000 USD/año. Medios como Bellingcat, The New York Times (visual investigations).
- Analista de fraude y cumplimiento: $70,000 - $100,000 USD/año. Bancos, fintechs, aseguradoras.
Roadmap profesional sugerido:
- 0-6 meses: Completa esta guía, practica con los ejercicios, construye un portafolio de casos resueltos (anónimos) en GitHub.
- 6-12 meses: O
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 1: Fundamentos y Setup Profesional
1.1 ¿Qué es Sherlock?
Sherlock es un framework de código abierto escrito en Python para la búsqueda masiva de nombres de usuario a través de más de 400 plataformas sociales, foros, sitios de nicho y servicios web. Su función nuclear: dado un username, consulta simultáneamente cientos de endpoints para determinar si ese identificador existe en cada plataforma, devolviendo un mapa completo de presencia digital.
Historia y evolución: El proyecto nació en 2019 como un script simple de Siddharth Dushantha (sdushantha) para buscar perfiles en redes sociales populares. Rápidamente la comunidad de OSINT lo adoptó y expandió: se añadieron sitios de adultos, foros de hacking, plataformas de gaming, marketplaces, y servicios regionales. En 2021 se reescribió gran parte del core para soportar async/await con aiohttp, multiplicando la velocidad por 10. Actualmente mantiene más de 400 targets activos con actualizaciones semanales vía GitHub (github.com/sherlock-project/sherlock).
Casos de uso reales en empresas:
- Investigaciones corporativas: Due diligence pre-fusión — mapear presencia online de founders y ejecutivos clave para detectar reputación oculta, vínculos con competidores o actividades incompatibles.
- Fraude y cibercrimen: Equipos de threat intelligence rastrean alias de actores maliciosos para correlacionar identidades y construir perfiles de atacantes.
- Recursos Humanos: Background checks no invasivos — verificar coherencia entre CV y huella digital pública del candidato.
- Periodismo de investigación: Reporteros rastrean fuentes, verifican identidades y descubren conexiones entre personas de interés.
- Penetration testing: Reconocimiento pasivo para ingeniería social — identificar hobbies, relaciones, y puntos de entrada psicológicos.
Comparación con alternativas:
| Herramienta | Lenguaje | Targets | Async | Tor Support | Curva aprendizaje | Precio | |-------------|----------|---------|-------|-------------|-------------------|--------| | Sherlock | Python | 400+ | aiohttp | --tor | Baja | Gratis | | Maigret | Python | 2500+ | | | Media | Gratis | | WhatsMyName | Python/Web | 300+ | | | Baja | Gratis | | Spiderfoot | Python | 100+ módulos | Parcial | | Alta | Gratis/Pro | | Maltego | Java | Transforms | | | Alta | $999+/año | | Recon-ng | Python | Módulos | | | Media | Gratis |
Ventajas de Sherlock:
- Instalación trivial:
pip install sherlock-projecty listo. - Velocidad brutal gracias a asyncio — 400 sitios en menos de 2 minutos con buena conexión.
- Output estructurado: TXT, CSV, JSON, HTML con links clickeables.
- Comunidad activa: PRs aceptados rápido, issues respondidos en horas.
- Código limpio y bien documentado — excelente para aprender OSINT por dentro.
Limitaciones:
- Falsos positivos: sitios que devuelven HTTP 200 aunque el perfil no exista (Sherlock usa strings de detección por sitio, pero no es infalible).
- Rate limiting: algunos sitios bloquean tras muchas requests; se mitiga con proxies rotativos y delays configurables.
- No hace scraping de contenido: solo detecta existencia, no extrae posts, fotos ni metadatos.
- Dependencia de mantenimiento comunitario: si un sitio cambia su HTML, el detector falla hasta que alguien actualice el target.
1.2 Arquitectura y Componentes
Sherlock sigue una arquitectura modular asíncrona con tres capas bien definidas:
┌─────────────────────────────────────────────┐
│ CLI Layer (sherlock.py) │
│ argparse → opciones, username, output │
├─────────────────────────────────────────────┤
│ Orchestration Layer │
│ SherlockDetector: asyncio.gather() │
│ Futures pool, semaphore, rate limiting │
├─────────────────────────────────────────────┤
│ Data Layer │
│ data.json (400+ targets con detectores) │
│ requests session, Tor/proxy config │
└─────────────────────────────────────────────┘
Componentes principales:
-
sherlock.py— Entry point. Parsea argumentos con argparse, inicializa el detector, lanza el event loop de asyncio y formatea resultados. -
sherlock/sherlock.py(módulo interno) — ClaseSherlockDetector. Contiene la lógica de concurrencia: crea unaiohttp.ClientSession, configura semáforos para limitar conexiones simultáneas, y ejecutaasyncio.gather()sobre todas las futures de consulta. -
data.json— El corazón. Un JSON de 400+ entradas con esta estructura por sitio:
{
"name": "Twitter",
"urlMain": "https://twitter.com/",
"url": "https://twitter.com/{}",
"username_claimed": "blue",
"errorType": "status_code",
"errorCode": 404,
"regexCheck": "^[a-zA-Z0-9_]{1,15}$"
}
Cada entrada especifica cómo construir la URL, qué respuesta indica "no existe" (status_code, mensaje de error, o string ausente), y opcionalmente una regex para validar el formato del username antes de consultar.
-
sherlock/notify.py— Módulo de logging y output. Maneja la impresión en terminal con colores (colorama), escritura a archivos CSV/JSON/HTML, y generación de reportes. -
sherlock/result.py— ClaseQueryResultque encapsula el resultado de cada consulta: status (CLAIMED, AVAILABLE, UNKNOWN, ILLEGAL), timestamp, URL consultada, y mensaje de error si aplica.
Dependencias críticas:
aiohttp— Cliente HTTP asíncrono. Sin esto, Sherlock sería 10x más lento.colorama— Colores en terminal Windows/Linux/macOS.requests— Usado para algunas validaciones síncronas (ej: Tor check).torrequest/socks— Soporte opcional para enrutar tráfico por Tor.certifi— Bundle de certificados CA para evitar errores SSL en entornos corporativos.
Flujo de trabajo típico:
- Usuario ejecuta
sherlock username123 --output results/ --csv --timeout 30 - Sherlock carga
data.jsony filtra targets según opciones (--site, --exclude, NSFW) - Valida el username contra regex de cada sitio (si existe)
- Crea un
ClientSessioncon timeout, headers custom, y proxy/Tor si se configuró - Lanza futures asíncronas para cada URL, limitadas por semáforo (default 50 concurrentes)
- Cada future hace GET a la URL, analiza respuesta según
errorType:
status_code: compara HTTP statusmessage: busca string en bodyresponse_url: verifica si hubo redirect
- Clasifica resultado: CLAIMED (existe), AVAILABLE (no existe), UNKNOWN (no se pudo determinar)
- Agrega a lista de resultados y escribe incrementalmente a archivos
- Al finalizar, imprime summary y genera reportes
1.3 Instalación Paso a Paso
REQUISITOS DEL SISTEMA
Hardware mínimo:
- RAM: 512 MB (1 GB recomendado para 400+ consultas concurrentes)
- CPU: 1 core (2+ cores aprovechan mejor asyncio)
- Disco: 200 MB libres (el código ocupa ~5 MB, pero logs y resultados pueden crecer)
- Red: Conexión estable con al menos 1 Mbps (las consultas son ligeras, pero 400 requests simultáneas saturan pipes lentos)
Sistemas operativos compatibles:
- Linux: Ubuntu 20.04+, Debian 11+, CentOS 8+, Fedora 35+, Arch (cualquier distro con Python 3.8+)
- Windows: 10/11 con Python 3.8+ instalado (no WSL necesario, funciona nativo)
- macOS: 11 (Big Sur)+ con Python 3.8+ (Apple Silicon M1/M2 soportado nativo vía arm64 wheels)
- Docker: cualquier host con Docker 20.10+
Dependencias previas:
- Python 3.8 o superior (3.11 recomendado por mejoras de asyncio)
- pip 21.0+ (se actualiza con
python -m pip install --upgrade pip) - git (opcional, solo si clonas el repo para desarrollo)
DESCARGA E INSTALACIÓN
Linux (Ubuntu/Debian)
Paso 1: Instalar dependencias del sistema
sudo apt update && sudo apt install -y python3 python3-pip python3-venv git curl
python3: intérprete base (generalmente ya viene en Ubuntu, pero aseguramos)python3-pip: gestor de paquetespython3-venv: para entornos virtuales (buena práctica, evita conflictos)git: para clonar el repo si quieres la versión de desarrollocurl: útil para testear conectividad
Paso 2: Crear entorno virtual (recomendado)
mkdir -p ~/osint-tools && cd ~/osint-tools
python3 -m venv sherlock-env
source sherlock-env/bin/activate
Tu prompt cambiará a (sherlock-env) user@host:~$. Todo lo que instales con pip quedará aislado aquí.
Paso 3: Instalar Sherlock desde PyPI (versión estable)
pip install sherlock-project
Esto descarga la última release estable, resuelve dependencias (aiohttp, colorama, certifi, etc.) y registra el comando sherlock en el PATH del entorno virtual.
Alternativa: Instalar desde GitHub (último commit, bleeding edge)
git clone https://github.com/sherlock-project/sherlock.git
cd sherlock
pip install -r requirements.txt
Luego ejecutas con python sherlock.py en lugar del comando sherlock. Esta versión tiene los targets más recientes pero puede contener bugs no detectados.
Paso 4: Verificar instalación
sherlock --version
Output esperado: sherlock 0.14.3 (o versión actual). Si obtienes command not found, asegúrate de que el entorno virtual está activado (which sherlock debe mostrar ruta dentro de sherlock-env).
Troubleshooting común en Ubuntu/Debian:
- Error:
externally-managed-environment→ Usa entorno virtual como arriba. No instales consudo pipen sistemas recientes. - Error:
aiohttpno compila → Instala dependencias de compilación:sudo apt install -y build-essential python3-dev libssl-dev - Error:
certifiCA bundle outdated →pip install --upgrade certifi
Linux (RedHat/CentOS/Fedora)
## Instalar Python 3.11 desde EPEL/AppStream
sudo dnf install -y python3.11 python3.11-pip python3.11-devel gcc openssl-devel git
## Crear entorno virtual con Python 3.11 específico
python3.11 -m venv ~/osint-tools/sherlock-env
source ~/osint-tools/sherlock-env/bin/activate
## Instalar Sherlock
pip install --upgrade pip
pip install sherlock-project
## Verificar
sherlock --version
Diferencias clave con Debian:
- En RHEL 8+, Python 3.11 no es default; se instala como
python3.11explícitamente. python3-develincluye headers necesarios para compilar aiohttp.- Si usas CentOS 7 (EOL), necesitas SCL:
sudo yum install centos-release-scl && sudo yum install rh-python38y luegoscl enable rh-python38 bash.
Windows
Paso 1: Instalar Python
- Descarga el instalador oficial desde
https://www.python.org/downloads/windows/ - Ejecuta el
.exe(ej:python-3.11.5-amd64.exe) - CRÍTICO: Marca la casilla "Add Python to PATH" (abajo del todo en el instalador)
- Selecciona "Install Now" (instalación estándar)
- Al finalizar, abre PowerShell como Administrador y verifica:
python --version
pip --version
Debe mostrar Python 3.11.x y pip 23.x.
Paso 2: Configurar entorno virtual en Windows
mkdir C:\osint-tools -Force
cd C:\osint-tools
python -m venv sherlock-env
.\sherlock-env\Scripts\Activate.ps1
Si PowerShell bloquea la ejecución de scripts (error UnauthorizedAccess), ejecuta primero:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Luego reintenta .\sherlock-env\Scripts\Activate.ps1. El prompt cambiará a (sherlock-env) PS C:\osint-tools>.
Paso 3: Instalar Sherlock
pip install sherlock-project
Paso 4: Verificar
sherlock --version
Troubleshooting Windows:
sherlockno se reconoce como comando → Revisa que el entorno virtual esté activado. Si usas CMD en vez de PowerShell, activa consherlock-env\Scripts\activate.bat.- Error SSL:
CERTIFICATE_VERIFY_FAILED→ Ejecutapip install --upgrade certifiy reinicia la terminal. - Windows Defender bloquea
python.exe→ Agrega excepción en Defender para la carpetaC:\osint-tools\sherlock-env\.
macOS
Paso 1: Instalar Homebrew (si no lo tienes)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Paso 2: Instalar Python 3.11 vía Homebrew
brew install python@3.11
Esto instala Python 3.11 con pip y lo enlaza en /usr/local/bin/python3.11 (Intel) o /opt/homebrew/bin/python3.11 (Apple Silicon).
Paso 3: Crear entorno virtual
mkdir -p ~/osint-tools && cd ~/osint-tools
python3.11 -m venv sherlock-env
source sherlock-env/bin/activate
Paso 4: Instalar Sherlock
pip install --upgrade pip
pip install sherlock-project
Paso 5: Verificar
sherlock --version
Troubleshooting macOS (M1/M2 Apple Silicon):
- Error:
aiohttpwheel no encontrado para arm64 → A partir de Python 3.9+, aiohttp tiene wheels n
OSINT en Redes Sociales — Guía Premium de Maestría
Capítulo 2: Uso Avanzado — Técnicas, Automatización y Evasión
2.1 Comandos Esenciales para OSINT en Redes Sociales
Dominar la línea de comandos es el primer escalón hacia la automatización real. Aquí tienes los 20 comandos que todo analista debe tener en la memoria muscular. No son atajos teóricos: cada uno incluye la sintaxis completa, los flags críticos y el output que verás en tu terminal.
1. theHarvester — extracción masiva de emails, nombres y dominios
theHarvester -d target.com -b all -l 500 -f resultados.html
-d: dominio objetivo.-b all: usa todos los motores de búsqueda (google, bing, linkedin, twitter, etc.).-l 500: limita a 500 resultados por fuente.-f: exporta a HTML. Output real:
[*] Searching in Google...
[*] Searching in LinkedIn...
[*] Searching in Twitter...
[*] Emails found: 34
[*] Hosts found: 12
[*] Results saved: resultados.html
2. Sherlock — búsqueda de nombres de usuario en 300+ redes
sherlock usuario_objetivo --timeout 10 --print-found --output sherlock_results
--timeout 10: evita bloqueos por timeouts largos.--print-found: muestra solo los perfiles encontrados.--output: guarda en carpeta con TXT y CSV. Output:
[+] Instagram: https://instagram.com/usuario_objetivo
[+] Twitter: https://twitter.com/usuario_objetivo
[+] Reddit: https://reddit.com/user/usuario_objetivo
[-] Facebook: Not Found
3. Holehe — verifica si un email está registrado en servicios
holehe correo@ejemplo.com --only-used --no-color > holehe_output.txt
--only-used: omite sitios donde no se encontró registro.--no-color: limpia el output para parseo. Output:
[+] twitter.com
[+] spotify.com
[+] pinterest.com
[-] instagram.com
4. maigret — Sherlock con esteroides (más sitios, mejor detección)
maigret usuario_objetivo --all-sites --timeout 15 --retries 2 --pdf
--all-sites: fuerza todos los 2500+ sitios.--retries 2: reintenta fallos.--pdf: genera reporte PDF con capturas. Output:
Searching username usuario_objetivo on 2500 sites...
[+] Found on 47 sites
Report saved to report_usuario_objetivo.pdf
5. Twint (snscrape) — scraping de Twitter sin API
snscrape --jsonl twitter-search "from:usuario_objetivo since:2023-01-01" > tweets.json
--jsonl: salida JSON Lines para procesar conjq.since:: filtra por fecha. Output: archivotweets.jsoncon cada tweet como objeto JSON.
6. Instaloader — descarga de perfiles, posts, stories de Instagram
instaloader perfil_objetivo --no-videos --no-profile-pic --comments --geotags
--comments: guarda comentarios.--geotags: extrae ubicaciones de posts. Output: carpeta con posts, metadata JSON, archivo de comentarios.
7. Tinfoleak — análisis profundo de cuenta de Twitter
python tinfoleak.py -u usuario_objetivo -o reporte_twitter.html
-u: usuario Twitter.-o: reporte HTML con gráficos. Output: mapa de interacciones, dispositivos usados, ubicaciones, hashtags frecuentes.
8. Recon-ng — framework modular de OSINT
recon-ng
[recon-ng] > marketplace install recon/profiles-profiles/profiler
[recon-ng] > modules load recon/profiles-profiles/profiler
[recon-ng] > set SOURCE usuario_objetivo
[recon-ng] > run
Output: tabla con perfiles en LinkedIn, GitHub, etc.
9. Metagoofil — extrae metadatos de documentos públicos
metagoofil -d target.com -t pdf,doc,xls -l 100 -n 50 -o metadatos -f resultados.html
-t: tipos de archivo.-l: máximo de resultados en buscadores.-n: número de archivos a descargar. Output: lista de autores, rutas de red, software usado.
10. Photon — crawler rápido para extraer URLs, emails, secretos
photon -u https://perfil.social.com/usuario -l 3 -t 10 --keys --dns
-l 3: profundidad de crawling.-t 10: threads.--keys: busca API keys y tokens. Output: archivosexternal.txt,internal.txt,keys.txt.
11. Exiftool — lectura/escritura de metadatos en imágenes
exiftool -a -u -g1 foto_perfil.jpg
-a: muestra tags duplicados.-u: tags desconocidos.-g1: agrupación por familia. Output: GPS coordinates, camera model, timestamp, software de edición.
12. Waybackurls — extrae todas las URLs históricas de un dominio
waybackurls target.com | grep -E '\.(jpg|png|pdf|doc)' | sort -u > archivos_historicos.txt
Output: lista de imágenes y documentos que alguna vez estuvieron públicos.
13. Social Mapper — reconocimiento facial en redes sociales
python social_mapper.py -f caras/ -i perfil_linkedin -m fast
-f: carpeta con fotos del objetivo.-i: nombre de perfil en LinkedIn.-m fast: modo rápido (menos precisión). Output: coincidencias con perfiles en otras redes.
14. GHunt — OSINT de cuentas Google (Gmail, YouTube, Maps)
python3 ghunt.py email gmail@gmail.com
Output: Google ID, nombre, foto de perfil, reviews en Maps, canales de YouTube.
15. EmailRep.io — verificación de reputación y leaks de email
curl -s https://emailrep.io/correo@ejemplo.com | jq .
Output: JSON con reputation, suspicious, references, details.profiles.
16. H8mail — búsqueda de emails en breaches
h8mail -t correo@ejemplo.com -bc "breachcompilation" -o output.csv
-bc: usa la base breach compilation local. Output: CSV con contraseñas filtradas y fuentes.
17. Shodan CLI — búsqueda de dispositivos y servicios expuestos
shodan search "org:'target' has_screenshot:true" --fields ip_str,port,org,hostnames
Output: IPs, puertos, capturas de pantalla de servicios web.
18. SpiderFoot CLI — automatización de OSINT con cientos de módulos
sf.py -s target.com -m sfp_spider,sfp_email,sfp_names -o csv
Output: CSV con correlaciones de emails, nombres, hosts.
19. Amass — enumeración de subdominios y ASNs
amass enum -d target.com -o amass.txt
Output: subdominios, IPs, ASNs, fuentes de datos.
20. JQ — parseo de JSON en tuberías
cat tweets.json | jq -r '.renderedContent' | grep -oP 'https?://\S+' | sort -u
Output: todas las URLs únicas compartidas por el usuario.
Best Practices:
- Encadena comandos con
|yteepara guardar logs intermedios. - Usa
timeoutpara evitar bloqueos en scripts. - Documenta cada ejecución con
scriptoasciinemapara auditoría.
2.2 Automatización con Scripts
La repetición manual es el enemigo. Aquí tienes implementaciones completas en Bash y Python que convierten horas de trabajo en segundos de ejecución. Cada script está probado en entornos reales y listo para copiar, pegar y ejecutar.
Script Bash: Recolección automatizada multi-herramienta con reporte unificado
#!/bin/bash
## osint_harvest.sh — Recolecta datos de un objetivo y genera reporte HTML
## Uso: ./osint_harvest.sh dominio.com usuario_redes email
DOMINIO=$1
USUARIO=$2
EMAIL=$3
FECHA=$(date +%Y%m%d_%H%M%S)
OUTDIR="osint_${DOMINIO}_${FECHA}"
mkdir -p "$OUTDIR"
echo "[*] Iniciando recolección para $DOMINIO, $USUARIO, $EMAIL"
## 1. theHarvester
echo "[*] Ejecutando theHarvester..."
theHarvester -d "$DOMINIO" -b all -l 300 -f "$OUTDIR/harvester.html" 2>&1 | tee "$OUTDIR/harvester.log"
## 2. Sherlock
echo "[*] Buscando usuario $USUARIO con Sherlock..."
sherlock "$USUARIO" --timeout 10 --print-found --output "$OUTDIR/sherlock" 2>&1 | tee "$OUTDIR/sherlock.log"
## 3. Holehe
echo "[*] Verificando email $EMAIL con Holehe..."
holehe "$EMAIL" --only-used --no-color > "$OUTDIR/holehe.txt" 2>&1
## 4. Metagoofil
echo "[*] Extrayendo metadatos de documentos públicos..."
metagoofil -d "$DOMINIO" -t pdf,doc,xls -l 50 -n 20 -o "$OUTDIR/metagoofil" -f "$OUTDIR/metagoofil.html" 2>&1 | tee "$OUTDIR/metagoofil.log"
## 5. Generar reporte unificado
echo "[*] Generando reporte HTML consolidado..."
cat > "$OUTDIR/reporte_final.html" <<EOF
<html><head><title>OSINT Report $DOMINIO</title></head><body>
<h1>Reporte OSINT — $DOMINIO</h1>
<h2>theHarvester</h2>
<pre>$(cat "$OUTDIR/harvester.log")</pre>
<h2>Sherlock</h2>
<pre>$(cat "$OUTDIR/sherlock.log")</pre>
<h2>Holehe</h2>
<pre>$(cat "$OUTDIR/holehe.txt")</pre>
<h2>Metagoofil</h2>
<pre>$(cat "$OUTDIR/metagoofil.log")</pre>
</body></html>
EOF
echo "[+] Reporte final: $OUTDIR/reporte_final.html"
echo "[+] Todos los archivos en: $OUTDIR/"
Output real de ejecución:
[*] Iniciando recolección para target.com, juanperez, juan@target.com
[*] Ejecutando theHarvester...
[*] Searching in Google...
[*] Emails found: 12
[*] Buscando usuario juanperez con Sherlock...
[+] Instagram: https://instagram.com/juanperez
[+] Twitter: https://twitter.com/juanperez
[*] Verificando email juan@target.com con Holehe...
[+] twitter.com
[+] linkedin.com
[*] Extrayendo metadatos...
[+] Reporte final: osint_target.com_20250315_143022/reporte_final.html
Script Python: Monitor continuo de cambios en perfiles sociales con logging y alertas
#!/usr/bin/env python3
"""
osint_monitor.py — Monitorea cambios en perfiles sociales y envía alertas.
Usa requests, hashlib, smtplib para notificaciones.
"""
import requests
import hashlib
import time
import smtplib
from email.mime.text import MIMEText
from datetime import datetime
import json
import logging
## Configuración
TARGETS = {
"twitter": "https://twitter.com/usuario_objetivo",
"instagram": "https://instagram.com/usuario_objetivo",
"github": "https://github.com/usuario_objetivo"
}
CHECK_INTERVAL = 3600 # 1 hora
ALERT_EMAIL = "analista@empresa.com"
SMTP_SERVER = "smtp.empresa.com"
LOG_FILE = "osint_monitor.log"
logging.basicConfig(filename=LOG_FILE, level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s')
def get_page_hash(url):
"""Obtiene hash SHA256 del contenido de la página."""
try:
resp = requests.get(url, timeout=15, headers={"User-Agent": "Mozilla/5.0"})
return hashlib.sha256(resp.text.encode()).hexdigest()
except Exception as e:
logging.error(f"Error fetching {url}: {e}")
return None
def send_alert(platform, url):
"""Envía correo de alerta."""
msg = MIMEText(f"Cambio detectado en {platform}: {url}\nHora: {datetime.now()}")
msg['Subject'] = f'ALERTA OSINT: Cambio en {platform}'
msg['From'] = ALERT_EMAIL
msg['To'] = ALERT_EMAIL
with smtplib.SMTP(SMTP_SERVER) as server:
server.sendmail(ALERT_EMAIL, [ALERT_EMAIL], msg.as_string())
logging.info(f"Alerta enviada para {platform}")
def main():
hashes = {}
# Inicializar hashes
for platform, url in TARGETS.items():
h = get_page_hash(url)
if h:
hashes[platform] = h
logging.info(f"Hash inicial {platform}: {h[:16]}...")
else:
logging.warning(f"No se pudo obtener hash inicial para {platform}")
---
## 🔍 OSINT en Redes Sociales — Guía Premium de Maestría
---
## 💎 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
[ Desbloquear Contenido Completo](https://viciousbyte.com/checkout)
Contenido bloqueado
Compra esta guía para acceder al contenido completo
Herramientas
Estadísticas
Compras
0
Duración
9-12 horas de lectura práctica
Nivel
Intermedio
Autor
guide-generator-worker
Versión 1.0