Guía rápida para mapear roles, equipos y convenciones de identidad a partir de información profesional pública. Recopila solo los datos necesarios para el objetivo autorizado, evita información personal ajena al trabajo y protege el inventario resultante.
Flujo rápido
- Confirmar páginas corporativas y dominios de correo.
- Identificar equipos y roles relevantes, no recopilar empleados indiscriminadamente.
- Construir organigramas e hipótesis de relaciones funcionales.
- Inferir convenciones de usernames y correo con muestras públicas confirmadas.
- Contrastar perfiles entre LinkedIn, web corporativa, GitHub y buscadores.
- Marcar cada identidad como confirmada, probable, histórica o descartada.
- Separar los datos profesionales de teléfonos y cuentas personales.
Nombre | Rol | Equipo | Ubicación | Username | Email | Fuente | Fecha | Confianza | En alcanceIdentificación de empleados
Fuentes habituales:
- Página de equipo, autores, notas de prensa y webinars.
- LinkedIn y perfiles profesionales.
- Repositorios y organizaciones públicas de GitHub.
- Conferencias, publicaciones técnicas y documentación.
- Ofertas de empleo y páginas de departamentos.
- Registros corporativos cuando publiquen administradores.
site:example.com (equipo OR team OR leadership OR authors)
site:linkedin.com/in "Example Corp"
site:github.com "@example.com"
"Example Corp" (engineer OR developer OR security)Confirmar empresa actual, fecha, ubicación y coherencia del perfil. No asumir que una relación laboral histórica sigue vigente.
Roles interesantes
Priorizar roles en función del escenario y reducir la recopilación a lo necesario:
- Administración de identidad, sistemas y redes.
- Seguridad, SOC, respuesta y arquitectura.
- Desarrollo, DevOps, SRE y plataforma.
- Helpdesk y soporte interno.
- Finanzas, legal y recursos humanos cuando estén dentro del escenario.
- Ejecutivos y asistentes con funciones públicas relevantes.
- Propietarios de aplicaciones o productos expuestos.
Un rol interesante para el modelo de amenaza no implica que la persona sea vulnerable ni que deba contactarse.
IT, Security, Developers y Helpdesk
Términos útiles para búsquedas:
site:linkedin.com/in "Example Corp" (IT OR sysadmin OR infrastructure)
site:linkedin.com/in "Example Corp" (security OR SOC OR CISO)
site:linkedin.com/in "Example Corp" (developer OR engineer OR DevOps OR SRE)
site:linkedin.com/in "Example Corp" (helpdesk OR "service desk" OR support)
site:github.com "Example Corp" (DevOps OR platform OR security)Datos relevantes: cargo, equipo, sede, tecnologías mencionadas y relación funcional. Evitar almacenar hobbies, familiares, direcciones privadas u otros datos no necesarios.
Ejecutivos
Los ejecutivos aparecen normalmente en fuentes oficiales y documentación regulatoria.
Buscar en:
- Página de liderazgo y gobierno corporativo.
- Informes anuales y relación con inversores.
- Registros mercantiles.
- Notas de prensa y entrevistas.
- Perfiles corporativos verificados.
Registrar nombre, cargo, entidad legal y vigencia. Distinguir consejeros, ejecutivos, fundadores y portavoces.
Usuarios privilegiados potenciales
No es posible confirmar privilegios reales mediante OSINT. Clasificar únicamente probabilidad funcional según el rol.
Indicadores:
- Identity/IAM, Active Directory o Microsoft 365 administrator.
- Cloud, platform, infrastructure o network engineer.
- DevOps, SRE, release manager o CI/CD owner.
- SOC, incident response o security engineering.
- Helpdesk con funciones de recuperación de cuentas.
- Propietario técnico de una aplicación crítica.
Usar etiquetas como posible acceso administrativo, propietario funcional o sin confirmar. No afirmar que una cuenta es privilegiada sin evidencia autorizada.
Naming conventions
Derivar patrones únicamente de direcciones o usernames publicados legítimamente por la organización.
Patrones habituales:
nombre.apellido
nombreapellido
napellido
nombrea
iniciales
identificador numérico# Extraer dominio y parte local de una lista autorizada
awk -F@ 'NF==2 {print $1}' confirmed-emails.txt | sort -u
awk -F@ 'NF==2 {print $2}' confirmed-emails.txt | sort -uRevisar colisiones, segundos apellidos, guiones, caracteres no ASCII, cuentas externas y cambios de nombre.
Generación de usernames
Generar candidatos localmente a partir de personas confirmadas y patrones observados.
# Ejemplo con username_generator
python3 username_generator.py -w users.txt
# Ejemplo con namemash de SecLists
while IFS= read -r full_name; do
printf '%s\n' "$full_name" | ./namemash.py
done < names.txt | sort -u > username-candidates.txtLas listas generadas son hipótesis. No validarlas mediante autenticación, recuperación de contraseña, SMTP RCPT TO ni otros mecanismos que contacten cuentas sin autorización expresa.
Emails corporativos
Fuentes de direcciones publicadas:
- Contacto, prensa, seguridad y relación con inversores.
- Autores de documentos e informes.
- Repositorios y commits corporativos.
- Hunter, Phonebook.cz y otras bases OSINT.
- Certificados de firma o documentación pública.
site:example.com "@example.com"
site:example.com filetype:pdf "@example.com"
site:github.com "@example.com"
"Nombre Apellido" "@example.com"Separar:
- Dirección publicada y confirmada.
- Dirección inferida por patrón.
- Alias genérico como
security@osupport@. - Dirección histórica.
No enviar mensajes de prueba ni comprobar existencia contra portales de login fuera de un escenario autorizado.
Teléfonos
Recopilar preferentemente números corporativos públicos:
- Centralita y oficinas.
- Soporte o atención al cliente.
- Prensa, ventas y relación con inversores.
- Números publicados en registros y documentos oficiales.
Normalizar en formato internacional:
País | Tipo | Número E.164 | Departamento | Fuente | Fecha | Público | En alcanceEvitar números personales y no realizar llamadas, mensajería o validaciones automáticas sin autorización específica.
Organigramas
Construir relaciones funcionales, no perfiles personales detallados.
Dirección
├── Tecnología
│ ├── Infraestructura / Cloud
│ ├── Desarrollo / Plataforma
│ └── Helpdesk
└── Seguridad
├── SOC / Respuesta
├── GRC
└── Ingeniería de seguridadFuentes: páginas de liderazgo, cargos de LinkedIn, ofertas de empleo, presentaciones y documentación corporativa. Marcar las relaciones inferidas y la fecha de observación.
LinkedIn es útil para localizar empleados, cargos, equipos y cambios históricos.
site:linkedin.com/in "Example Corp" "Security"
site:linkedin.com/in "Example Corp" "DevOps"
site:linkedin.com/in "Example Corp" "Help Desk"
site:linkedin.com/in "Example Corp" "Country"
site:linkedin.com/company "Example Corp"Revisar:
- Empresa actual frente a experiencias anteriores.
- Cargo y equipo.
- Ubicación profesional.
- Tecnologías descritas públicamente.
- Empresas afiliadas o nombres anteriores.
Respetar las condiciones de uso de la plataforma y evitar automatización invasiva.
linkedin2username
linkedin2username genera listas de nombres y posibles usernames desde resultados profesionales.
Uso general:
# Consultar la ayuda de la versión instalada
python3 linkedin2username.py --helpLa sintaxis y los métodos de autenticación pueden variar entre versiones. Revisar la ayuda, las restricciones de LinkedIn y el alcance antes de automatizar consultas. Tratar toda salida como candidata, no como cuenta confirmada.
Phonebook.cz
Phonebook.cz permite buscar dominios, direcciones de correo y URLs observadas en fuentes públicas.
Proceso recomendado:
- Buscar el dominio corporativo confirmado.
- Exportar únicamente resultados necesarios para el alcance.
- Separar aliases genéricos de direcciones personales.
- Contrastar cada dirección con una segunda fuente.
- Registrar fecha y procedencia.
La aparición de una dirección no demuestra que siga activa.
Hunter
Hunter aporta patrones de correo, fuentes y direcciones asociadas a dominios.
Revisar:
- Patrón dominante del dominio.
- Fuente y fecha de cada resultado.
- Tipo personal o genérico.
- Nivel de confianza proporcionado.
- Dominios alternativos de filiales o países.
No utilizar funciones de verificación activa si no están autorizadas. Conservar la diferencia entre correo publicado e inferido.
Apollo y bases de leads
Apollo y otras bases comerciales pueden ayudar a encontrar cargos, departamentos y estructura corporativa.
Usarlas como fuente secundaria porque pueden contener:
- Cargos o empresas desactualizados.
- Datos agregados sin procedencia clara.
- Emails inferidos en lugar de observados.
- Duplicados y perfiles homónimos.
Validar con fuentes corporativas, LinkedIn u otras evidencias públicas y cumplir los requisitos legales aplicables al tratamiento de datos personales.
site:example.com (team OR equipo OR leadership)
site:example.com filetype:pdf "@example.com"
site:linkedin.com/in "Example Corp" (security OR developer OR helpdesk)
site:github.com "@example.com"
"Example Corp" "Nombre Apellido"
"Example Corp" (speaker OR ponente OR author OR autor)Combinar nombre, cargo, empresa, país y dominio. Usar comillas para homónimos y guardar la fuente original, no solo el resultado del buscador.
GitHub
GitHub puede relacionar empleados con organizaciones, repositorios, commits y direcciones publicadas en historiales.
# Búsquedas mediante GitHub CLI
gh search users 'example location:Spain'
gh search repos 'org:example-corp'
gh search commits 'author-email:@example.com' --limit 100
gh search code '"@example.com"' --limit 100Revisar perfil, organización, repositorios corporativos y fecha de actividad. No asumir que una cuenta con el nombre de la empresa pertenece a un empleado.
No utilizar tokens o secretos encontrados. Documentar el hallazgo y seguir el procedimiento de reporte autorizado.
Correlación y confianza
| Nivel | Criterio orientativo |
|---|---|
| Confirmada | Fuente corporativa o dos fuentes profesionales coherentes |
| Probable | Nombre, cargo y empresa coinciden en una fuente fiable |
| Inferida | Username o email generado mediante un patrón |
| Histórica | Relación válida en el pasado, sin confirmación actual |
| Descartada | Homónimo, empresa distinta o evidencia contradictoria |
Plantilla de inventario
Nombre | Cargo | Equipo | Empresa | País | Username | Email | Teléfono corporativo | Fuente | Fecha | Confianza | En alcanceProteger este inventario, limitar su acceso y eliminar los datos que no sean necesarios al finalizar la operación.