← Todas las entradas

El amigo: una infección sencilla pensada para enseñar persistencia, sabotaje y cuentas ocultas

Un laboratorio de análisis de infección en Linux, con creación masiva de cuentas, una cuenta privilegiada oculta, persistencia en systemd y sabotaje de red.

Avanzado · Linux
URL del reto: labs.thehackerslabs.com/machines/105


Por qué la diseñé

El amigo es un laboratorio de análisis de infección, no de explotación. La monté para mostrar cómo una intrusión relativamente simple degrada un sistema sin necesidad de una cadena sofisticada, y para que la resolución obligue a leer la máquina como en una respuesta ante incidentes. El foco está en reconstruir qué hizo el atacante, cómo mantuvo presencia y de qué forma alteró el comportamiento del equipo, más que en llegar a una flag.

Quise representar tres decisiones típicas de una infección con impacto operativo, la creación masiva de cuentas para meter ruido, una cuenta privilegiada escondida entre ese ruido y la persistencia de un servicio que sabotea la conectividad. Cada evidencia está puesta para forzar una lectura, ver que algo falla y explicar por qué falla.


La máquina de un vistazo

Aquí se investiga un sistema ya comprometido, no se explota nada. Hay que reconstruir cuatro artefactos que dejé encadenados, decenas de cuentas creadas de golpe, una de ellas privilegiada y camuflada entre las demás, un servicio de systemd que persiste en estado fallido y un script que rompe la salida a internet con reglas de iptables.


Cómo la monté, paso a paso

El ruido, decenas de cuentas creadas de golpe

La primera pieza es un montón de usuarios con un patrón común, challangueXX, creados para meter volumen y dificultar el análisis. Los quise ahí para enseñar que no todas las cuentas nuevas valen lo mismo, y que el listado de /home/ no basta, hay que cruzarlo con la base de cuentas del propio sistema en /etc/passwd. La ocultación por volumen es una técnica sencilla y muy usada, enterrar algo entre artefactos repetitivos para que pase desapercibido en una revisión rápida.

La cuenta privilegiada escondida en el ruido

Entre esas decenas de cuentas metí la que de verdad importa. Se llama challangue1O, con una O en lugar del cero para provocar un error de lectura rápida, su home no sigue el patrón visible porque está oculto y, sobre todo, pertenece al grupo sudo con un UID alto. Quería enseñar que hay que mirar el contexto de privilegios, UID, GID y grupos, y no quedarse en los nombres. Un atacante no necesita una cuenta con nombre escandaloso, le basta incrustarla en una estructura que parezca desordenada pero inocua. Lo que importa de esa cuenta es su capacidad efectiva dentro del sistema, más que la cuenta en sí.

La persistencia en un servicio de systemd

Para la persistencia elegí algo reconocible a propósito, un servicio de systemd malicioso, che.service, que dejé en estado fallido. Lo dejé fallido para que el análisis mire también unidades cargadas o caídas que siguen contando en el historial, y no solo los servicios activos. Y le puse una descripción engañosa, dice que deshabilita el DNS cuando el efecto va por otro lado. Ese desajuste entre lo que declara un artefacto y lo que hace también es parte del aprendizaje.

El sabotaje de red que finge una caída de internet

El síntoma que arranca la investigación es que internet no funciona. Lo monté como un sabotaje que se puede reconstruir, no como una caída abstracta. En el home oculto de la cuenta privilegiada hay un redirect.sh que, con dos reglas de iptables, redirige la salida por los puertos 80 y 443 hacia 0.0.0.0. No hace falta malware complejo para romper algo crítico, basta con tocar las reglas NAT en el punto adecuado, y de paso desvía la investigación hacia una falsa caída de internet. Quería que persistencia e impacto quedaran conectados, el servicio apunta al script y el script explica el síntoma.


Qué quería enseñar

El amigo es una cadena pequeña pero coherente de post-infección en Linux. No hace falta una intrusión aparatosa para comprometer la operativa de un sistema y dejar persistencia útil, y muchas incidencias menores esconden cambios básicos pero bien colocados.

FaseQué enseñaError que representa
Creación masiva de cuentasDistinguir ruido de evidencia útilFalta de control sobre cuentas locales
Cuenta oculta con privilegiosRevisar privilegios efectivos, no solo nombresPersistencia sobre membresías privilegiadas
che.serviceEnumerar persistencia más allá de lo que correRevisiones superficiales de systemd
redirect.sh con iptablesRelacionar el síntoma con el sabotaje del hostManipulación de tráfico sin malware complejo
Redirección a 0.0.0.0Entender el impacto operativo directoRuptura deliberada de conectividad como cobertura

La idea que quería dejar es que aquí se aprende a leer una infección sencilla con criterio, sin explotar nada. Cada artefacto responde a una decisión de diseño, y juntos cuentan la historia completa de lo que pasó en la máquina.

ciberseguridadlaboratorioCTFescalada de privilegiosLinux