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

ElementoDetalle
Tipo de amenazaInsider Threat
Alerta inicialCompromiso de red con interrupción significativa del servicio
EvidenciaRepositorios GitHub, perfiles sociales, fotografías, cámara IP
HerramientasSherlock, CyberChef, Google Image Search
MisiónRastrear 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

FaseHallazgoIOC / Artefacto
Credenciales expuestasAPI Key hardcodeada en código fuenteaJFRaLHjMXvYZgLPwiJkroYLGRkNBW
Credenciales expuestasContraseña en Base64 en repositorio públicoPicassoBaguette99
CryptojackingFork de herramienta de minería MoneroXMRig
Huella digitalPerfiles correlacionados vía SherlockGitHub · Instagram · Steam
GeolocalizaciónOficina identificada por imagenBirmingham, UK
RastreoCámara IP localizada por búsqueda inversaIndiana, USA (Notre Dame)

0x04 — Lecciones Aprendidas

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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.

  1. 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”