From 360314e14f58aab34fdaf69e25e5062eaa2abcb9 Mon Sep 17 00:00:00 2001 From: Ricardo Monla Date: Thu, 9 Apr 2026 12:51:54 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=8B=20Nuevo=20plan=20A01.P010:=20W-Zom?= =?UTF-8?q?bi=20Relay=20Switch=20(redes=20internas=20v=C3=ADa=20srv-dasu)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dtic-ADN/A01.P010_W-ZOMBI-Relay-Switch.md | 121 ++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 docs/ambito/dtic-ADN/A01.P010_W-ZOMBI-Relay-Switch.md diff --git a/docs/ambito/dtic-ADN/A01.P010_W-ZOMBI-Relay-Switch.md b/docs/ambito/dtic-ADN/A01.P010_W-ZOMBI-Relay-Switch.md new file mode 100644 index 00000000..612c3c5a --- /dev/null +++ b/docs/ambito/dtic-ADN/A01.P010_W-ZOMBI-Relay-Switch.md @@ -0,0 +1,121 @@ +# A01.P010 - W-ZOMBI Relay Switch (Alcance a Redes Internas) + +> **Estado**: ⏳ Pendiente +> **Pertenece a**: [A01 - Ecosistema ADN](./A01_dtic-ADN.md) +> **Fecha**: 2026-04-09 +> **Responsable**: Lic. Ricardo MONLA +> **Versión**: 1.0 — Plan inicial +> **Prerequisito**: W-Zombi v2.1 (A01.P003) + +--- + +## 📋 Resumen Ejecutivo + +Extender W-Zombi para alcanzar **PCs y VMs en redes internas** que no tienen conectividad directa con NS8 vía Tailscale, usando un nodo intermedio (ej: `srv-dasu`) como **relay/switch**. + +**Topología actual (problema):** +``` +NS8 (Tailscale) ──✔──► srv-dasu (Tailscale + LAN) + │ +NS8 ──────✖──────────► VM-interna (solo LAN) +``` + +**Topología objetivo:** +``` +NS8 ──► srv-dasu (relay) ──► VM/PC interna (LAN) + ↕ retransmite + cmd.json + log +``` + +--- + +## 🎯 Objetivo + +Permitir que W-Zombi controle PCs/VMs en redes internas inaccesibles directamente desde NS8, utilizando un nodo intermedio con visibilidad en ambas redes como relay transparente. + +--- + +## 🏗️ Opciones de Arquitectura + +### Opción A: Relay HTTP en srv-dasu (Recomendada) + +srv-dasu corre un mini-servidor que: +1. Escucha en puerto local (ej: 8001) +2. El zombi PS1 en la VM interna se conecta a `srv-dasu:8001` +3. srv-dasu reenvía `cmd.json` desde NS8 y `log` hacia NS8 + +**Pros:** Independiente, no requiere cambios en firewall +**Contras:** Requiere un servicio en srv-dasu + +``` +NS8:8000 ←──tailscale──→ srv-dasu:8001 ←──LAN──→ VM-target + (server) (relay) (zombi) +``` + +### Opción B: SSH Port Forward + +```bash +# Desde NS8: +ssh -L 8001:IP_VM_INTERNA:8000 srv-dasu +``` + +**Pros:** Cero código nuevo +**Contras:** Requiere sesión SSH activa, no es autónomo + +### Opción C: Tailscale Subnet Router + +Configurar srv-dasu como subnet router para exponer la LAN interna. + +**Pros:** Solución nativa Tailscale, todas las VMs accesibles +**Contras:** Requiere configuración de Tailscale admin, posibles implicaciones de seguridad + +--- + +## 📋 Tareas (Opción A — Relay HTTP) + +| ID | Tarea | Descripción | Estado | +|:--:|-------|-------------|--------| +| T1 | Diseño del relay | Definir protocolo de retransmisión | ⏳ | +| T2 | `relay.rb` / `relay.ps1` | Script relay para srv-dasu | ⏳ | +| T3 | Multi-target | Soportar múltiples VMs (ej: `cmd_vm101.json`, `cmd_vm102.json`) | ⏳ | +| T4 | CLI `w-zombi relay` | Subcomando para gestionar relays | ⏳ | +| T5 | Validación | Test con PC Windows real vía relay | ⏳ | + +--- + +## 📝 Contexto Técnico + +### Nodos involucrados + +| Nodo | Red | Rol | IP Tailscale | +|------|-----|-----|-------------| +| NS8 | Tailscale | Servidor W-Zombi (control) | 100.111.195.4 | +| srv-dasu | Tailscale + LAN | Relay/Switch | 100.116.210.36 | +| PC target | Solo LAN | Zombi (ejecuta comandos) | ¿? (LAN interna) | + +### Flujo de datos + +``` +1. NS8 escribe cmd.json (id:201, cmd:"ipconfig") +2. srv-dasu (relay) polling NS8:8000/cmd.json cada 5s +3. srv-dasu sirve cmd.json en su puerto local 8001 +4. PC-target (zombi PS1) polling srv-dasu:8001/cmd.json cada 5s +5. PC-target ejecuta "ipconfig", POST resultado a srv-dasu:8001/log +6. srv-dasu reenvía log a NS8:8000/log +``` + +--- + +## 🔮 Evolución Futura + +- **Multi-relay**: Cadena de relays para redes muy segmentadas +- **Registro automático**: Zombis se anuncian al conectarse +- **Dashboard**: Ver estado de todos los zombis (directos + relay) +- **Integración Dron**: Lanzar comandos remotos como drones con eventos en Bitácora + +--- + +## 📚 Referencias + +- [A01.P003 — W-ZOMBI v2.0](./A01.P003_W-ZOMBI-v2.0.md) +- Fix v2.1: Ruta `/cmd` + JSON parsing robusto (2026-04-09)