Este writeup tiene fines educativos y de práctica profesional. Las respuestas corresponden al laboratorio público de CyberDefenders. Los nombres de usuario, contraseñas, claves API, direcciones URL y perfiles mostrados pertenecen al escenario controlado del reto, no a personas ni infraestructura real. No se debe intentar acceder a ninguna de las cuentas o servicios mencionados.
0x00 — Introducción
Sexto post de la serie de laboratorios de CyberDefenders y el primero en Level 2.
En esta ocasión nos enfrentamos a Lespion, un laboratorio de Threat Intel donde investigamos un compromiso de red que se originó desde una única cuenta de usuario, apuntando a un posible insider threat.
El objetivo es rastrear las acciones del atacante, identificar la cuenta comprometida y desmontar los métodos utilizados para la exfiltración de datos.
Para ello combinaremos técnicas de OSINT, análisis de repositorios de código, inspección de metadatos y correlación de perfiles en línea.
A lo largo de la investigación emplearemos herramientas como Sherlock para rastrear nombres de usuario en múltiples plataformas, CyberChef para decodificar credenciales ofuscadas y Google Image Search para geolocalizar ubicaciones a partir de fotografías.
0x01 — El Escenario
| Elemento | Detalle |
|---|---|
| Tipo de amenaza | Insider Threat |
| Alerta inicial | Compromiso de red con interrupción significativa del servicio |
| Evidencia | Repositorios GitHub, perfiles sociales, fotografías, cámara IP |
| Herramientas | Sherlock, CyberChef, Google Image Search |
| Misión | Rastrear huella digital, identificar credenciales expuestas, perfilar al atacante |
0x02 — Análisis
¿Cuál es la clave API que el insider agregó a sus repositorios de GitHub?
Empiezo por el perfil de GitHub del sospechoso: EMarseille99, que se presenta como backend dev en una consultora de software. Tiene varios repos públicos, y uno en concreto llama la atención: Project-Build---Custom-Login-Page.
Al examinar el historial de commits del repositorio, encontramos una actualización al archivo Login Page.js que incluye la adición de una variable llamada API Key con un valor hardcodeado directamente en el código fuente.
Hardcodear una API key en un repo público es de manual: cualquiera con acceso puede pillarla y usarla contra los servicios conectados. Clásico rookie mistake.
RESPUESTA Q1
Respuesta: aJFRaLHjMXvYZgLPwiJkroYLGRkNBW
¿Cuál es la contraseña de texto sin formato que el insider agregó a sus repositorios de GitHub?
Siguiendo con el historial de commits del mismo repo, hay otro cambio en Login Page.js — esta vez con un formulario de login que tiene credenciales hardcodeadas.
El usuario es EMarseille99, que coincide con el dueño del repo. Otro indicio más de que esto es actividad interna.
El password está en Base64: UGljYXNzb0JhZ3VldHRlOTk=. Base64 no es cifrado, es encoding — reversible en dos clicks.
Lo tiro a CyberChef y sale la contraseña en texto plano.
Guardar passwords así es pedir que te los roben. Cualquiera decodifica esto en segundos.
Lo que me preocupa de verdad es si esta contraseña se reutiliza en otros sistemas o cuentas del entorno.
RESPUESTA Q2
Respuesta: PicassoBaguette99
¿Qué herramienta de minería de criptomonedas utilizó el insider?
Revisando los repos del perfil, encuentro un fork de XMRig — el miner de código abierto por excelencia para Monero (XMR).
XMRig soporta RandomX, CryptoNight, AstroBWT y Argon2, y tira tanto en CPU como en GPU.
Es una tool legítima, sí, pero es la favorita del cryptojacking: eficiente, configurable y Monero es anónimo por diseño.
RESPUESTA Q3
Respuesta: xmrig
¿En qué sitio web de juegos tenía una cuenta el insider?
Para ampliar la huella del sospechoso le paso Sherlock, que busca un username en cientos de plataformas y te devuelve los enlaces a los perfiles que existen.
sherlock EMarseille99
Entre los resultados sale un perfil en Steam Community — la plataforma de juegos de toda la vida.
Con el enlace directo puedo revisar su lista de amigos, grupos y actividad reciente por si hay conexiones relacionadas con el incidente.
Usando un visualizador anónimo de perfiles de Instagram observo:
RESPUESTA Q4
Respuesta: Steam
¿Cuál es el enlace al perfil de Instagram del insider?
La misma salida de Sherlock me da también el perfil de Instagram asociado al handle EMarseille99.
El perfil es de Émilie Marseille, que se define como “Backend programmer for Software Consultants Inc.”.
Este perfil va a ser la mina de oro para las siguientes preguntas: los posts y fotos del insider sueltan datos sobre sus viajes y su ubicación familiar.
RESPUESTA Q5
Respuesta: https://www.instagram.com/EMarseille99/
¿A dónde fue el insider durante las vacaciones? (Solo país)
Reviso los posts del Instagram y hay fotos de un viaje reciente. Entre las imágenes y la geolocalización de los posts queda claro: el insider se fue a Singapur.
RESPUESTA Q6
Respuesta: Singapore
¿Dónde vive la familia del insider? (Solo ciudad)
El Instagram del sospechoso tiene un par de fotos geolocalizadas en Dubai. Tiene muchas fotos desde la misma ubicación, lo que me refuerza la hipótesis: no es una visita puntual, su familia está allí.
RESPUESTA Q7
Respuesta: Dubai
Se le ha proporcionado una fotografía del edificio en el que la empresa tiene una oficina. ¿En qué ciudad está ubicada la empresa?
Aquí toca OSINT clásico: búsqueda inversa de imágenes.
Subo el office.jpg del laboratorio a Google Image Search a ver qué me dice del edificio y su ubicación.
El resultado identifica el edificio como parte del complejo de la estación Birmingham New Street y el centro comercial Grand Central. Birmingham, Reino Unido.
RESPUESTA Q8
Respuesta: Birmingham
Nuestra unidad de vigilancia terrestre siguió al sospechoso hasta el aeropuerto. Su avión despegó y aterrizó en otro país.
Nuestro equipo de inteligencia detectó al objetivo con esta cámara IP. ¿En qué estado se encuentra esta cámara?
Mismo enfoque que antes: búsqueda inversa de imágenes, esta vez con el Webcam.png del laboratorio.
La imagen es una webcam pública de EarthCam en la Universidad de Notre Dame (de noche por la diferencia horaria).
La Universidad de Notre Dame está en el condado de St. Joseph, Indiana, EEUU.
RESPUESTA Q9
Respuesta: Indiana
0x03 — Resumen de la Investigación
| Fase | Hallazgo | IOC / Artefacto |
|---|---|---|
| Credenciales expuestas | API Key hardcodeada en código fuente | aJFRaLHjMXvYZgLPwiJkroYLGRkNBW |
| Credenciales expuestas | Contraseña en Base64 en repositorio público | PicassoBaguette99 |
| Cryptojacking | Fork de herramienta de minería Monero | XMRig |
| Huella digital | Perfiles correlacionados vía Sherlock | GitHub · Instagram · Steam |
| Geolocalización | Oficina identificada por imagen | Birmingham, UK |
| Rastreo | Cámara IP localizada por búsqueda inversa | Indiana, USA (Notre Dame) |
0x04 — Lecciones Aprendidas
- Repositorios públicos como vector de fuga
Las claves API y contraseñas hardcodeadas en repositorios de GitHub son una de las fuentes de fuga de credenciales más frecuentes.
Herramientas como git-secrets o truffleHog deben integrarse en los pipelines de CI/CD para detectar y bloquear estos commits antes de que lleguen al repositorio remoto.
- Base64 no es cifrado
La codificación Base64 proporciona ofuscación visual pero cero protección real.
Cualquier analista puede revertirla en segundos con herramientas como CyberChef.
Las credenciales deben almacenarse en gestores de secretos dedicados, nunca en código fuente.
- Correlación de identidades con OSINT
Herramientas como Sherlock permiten mapear la huella digital completa de un sospechoso a partir de un único nombre de usuario.
Este caso sencillo se demuestra cómo un mismo handle enlaza perfiles en GitHub, Instagram, Steam y otras plataformas, ofreciendo una visión integral del sujeto investigado.
- Cryptojacking como indicador de compromiso
La presencia de herramientas como XMRig en repositorios de un empleado es una señal clara de abuso de recursos corporativos.
La monitorización de uso de CPU/GPU y la restricción de ejecución de binarios no autorizados son contramedidas esenciales.
- Búsqueda inversa de imágenes para geolocalización
Google Image Search y herramientas similares permiten identificar edificios, ubicaciones y cámaras a partir de una sola fotografía.
Esta técnica es fundamental en investigaciones OSINT para vincular a un sospechoso con ubicaciones físicas concretas.
- Las redes sociales como fuente de inteligencia
Los perfiles de Instagram del insider revelaron información crítica sobre sus desplazamientos (Singapore) y la ubicación de su familia (Dubai).
Esto subraya la importancia de que las organizaciones conciencien a sus empleados sobre la información que comparten públicamente.
[EOF] “The insider left breadcrumbs everywhere — OSINT just follows the trail”