Arquitectura y fronteras de confianza
La arquitectura define qué componente puede autenticar, enrutar, leer, modificar y recuperar. El objetivo no es añadir capas por apariencia, sino impedir que un frontal expuesto otorgue acceso directo al estado más sensible.
Flujo de control
Sección titulada «Flujo de control»operador | | identidad administrativa + MFA vruta de acceso ------> team server | | estado del listener, claves y tareas v listener/servicio de origen ^ | proxy inverso autenticado |agente en el objetivo -> Internet -> redirector HTTP/SEl redirector conoce el origen de la petición, su contenido y la ubicación del servicio de origen (upstream). No necesita credenciales administrativas del team server. El team server no necesita escuchar públicamente si solo acepta conexiones del redirector y del canal de operadores.
Fronteras de confianza
Sección titulada «Fronteras de confianza»| Frontera | Riesgo | Control verificable |
|---|---|---|
| operador → gestión | robo o abuso de identidad | MFA, identidad nominal, registro y acceso mínimo |
| Internet → redirector | escaneo, explotación y bloqueo | imagen mínima, filtrado, parcheado, registros y reemplazo |
| redirector → servicio de origen | descubrimiento o inyección | lista de permitidos, mTLS, SNI y firewall |
| agente → listener | agente no autorizado o repetición | claves y autenticación del framework |
| team server → almacenamiento | pérdida o exposición de resultados | cifrado, control de acceso, retención y copia de seguridad |
| recuperación → proveedor | toma de control de la cuenta | MFA resistente al phishing y acceso de emergencia comprobado |
Team server
Sección titulada «Team server»El team server concentra:
- configuración de listeners
- claves y perfiles
- identidades de operadores
- agentes y asignación de tareas
- resultados y archivos
- credenciales o secretos recogidos
Reduce los servicios, separa la administración del C2, cifra el almacenamiento y registra las acciones de cada operador. Una instantánea (snapshot) en caliente puede reducir el tiempo de recuperación, pero también puede contener sesiones, claves y estado inconsistente. Prueba la copia de seguridad y su restauración con la versión exacta del framework.
Listeners y agentes
Sección titulada «Listeners y agentes»Un listener recibe un protocolo y lo asocia con un perfil, unas claves y un comportamiento. Un agente implementa el transporte, los intervalos de espera (sleep), su variación (jitter), la recepción de tareas y la ejecución. La comprobación de salud del listener debe verificar más que un puerto:
- resolución y TLS desde el redirector
- ruta admitida por el perfil
- autenticación del protocolo
- registro en team server
- ida y vuelta de una tarea no modificadora mediante un simulador
No uses un agente implantado en un objetivo para la única prueba de salud. Necesitas un simulador o un entorno de preproducción.
Redirectors y nodos de salida
Sección titulada «Redirectors y nodos de salida»Un redirector HTTP/S filtra y reenvía tráfico. Un nodo de salida cambia el origen de una operación. Pueden compartir software, pero resuelven problemas distintos.
El filtrado puede usar:
- nombre y SNI
- método
- ruta HTTP
- cabeceras
- cookie o token de perfil
- horario o origen
- versión de protocolo
Cada condición añade una forma de bloquear también al agente legítimo. Prueba positivos y negativos.
Registros
Sección titulada «Registros»Separa:
- acceso administrativo
- acceso público al redirector
- comprobaciones de estado
- errores del proxy inverso
- listener y framework
- acciones de operador
- recursos del proveedor
Sin separación, una comprobación de estado puede parecer tráfico procedente del objetivo. Sin un reloj sincronizado, no se puede reconstruir una ruta entre proveedores.
Los registros pueden contener direcciones del objetivo, rutas, identificadores y payloads. Define minimización, acceso y retención. Eliminar toda observabilidad para reducir indicadores también elimina información necesaria para recuperar la operación.
Fallos y recuperación
Sección titulada «Fallos y recuperación»| Fallo | Señal | Primera comprobación |
|---|---|---|
| DNS no resuelve | ausencia de conexión | delegación, TTL y resolver |
| TLS falla | handshake sin HTTP | SAN, cadena, SNI, reloj y cipher |
| redirector devuelve 404 | petición llega al frontal | ruta, método, cabeceras y perfil |
| upstream 502 | frontal no conecta | firewall, DNS interno, mTLS y listener |
| agente conecta sin registrar | upstream recibe | claves, perfil y listener |
| team server inaccesible | agentes y operadores fallan | host, storage, proceso y recovery plane |
Cada fallo tiene una ruta de recuperación que no depende del componente roto.