# W-Zombi: Toolkit de Inyección Lateral para Windows VMs > Técnica documentada en la bitácora del [25/02/2026](../../bitacoras/2026-02-25.md) (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): ```bash 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): ```powershell 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.