2.5 KiB
2.5 KiB
W-Zombi: Toolkit de Inyección Lateral para Windows VMs
Técnica documentada en la bitácora del 25/02/2026 (Hito DB01).
Problema
La consola HTML5/VNC de Proxmox no soporta copiar/pegar texto, lo que impide al operador provisionar comandos complejos (instalaciones, configuraciones) en las VMs Windows recién creadas que aún no tienen SSH.
Solución: C2 Polling Loop
Se utiliza una arquitectura de "Command & Control" liviana que sortea la limitación del portapapeles:
srv-ns8 (10.0.10.8) VM Windows (VNC)
┌──────────────────┐ ┌────────────────────┐
│ logger.py │ ← HTTP :8000 ←── │ s.txt (loop) │
│ (servidor HTTP) │ │ Consulta payload │
│ │ ── payload.ps1 ──→ │ cada 15 seg │
│ │ │ Ejecuta y reporta │
└──────────────────┘ └────────────────────┘
Flujo Operativo
1. En srv-ns8 (la IA):
cd scripts/w-zombi
python3 logger.py
Esto levanta un servidor HTTP en el puerto 8000 que sirve los archivos del directorio.
2. En la VM Windows (el operador tipea manualmente en VNC):
iwr 10.0.10.8:8000/s.txt -useb|iex
Este one-liner de ~35 caracteres es lo único que el operador necesita tipear a mano.
3. La IA modifica payload.ps1:
Cada vez que el loop de la VM consulta, ejecuta lo que esté en payload.ps1. La IA puede cambiar su contenido dinámicamente para inyectar cualquier secuencia de comandos.
Archivos
| Archivo | Tipo | Descripción |
|---|---|---|
s.txt |
PowerShell | C2 polling loop (se ejecuta en la VM, consulta payload cada 15s). |
payload.ps1 |
PowerShell | Carga útil dinámica que la IA modifica según la tarea. |
install_ssh.ps1 |
PowerShell | Payload especializado: instala OpenSSH Server nativo. |
sonda_windows.ps1 |
PowerShell | Payload especializado: diagnóstico y relevamiento del sistema. |
logger.py |
Python 3 | Servidor HTTP efímero con logging de requests entrantes. |
Seguridad
- El servidor HTTP es efímero — solo se levanta durante la operación.
- Solo escucha en la red interna (
10.0.10.x/10.0.100.x). - Una vez instalado SSH en la VM, este mecanismo deja de ser necesario.