Volver a actualizaciones
Nuevo releaseSep 5, 2026

emp3r0r v4.15.0

Auto‑recuperable Gossip Mesh C2 con Descubrimiento de Pares Asistido, Ejecución BOF Multiplataforma y Agentes Programables.

Compartir
emp3r0r

emp3r0r

Un C2 autorreparable y solo en memoria para Linux y Windows — agentes que sobreviven a enlaces rotos, nunca tocan el disco y se abren camino mediante scripts a través de la API de Win32.


Discord GitHub Sponsors

GitHub go.mod Go version Tests GitHub License GitHub release


emp3r0r-readme

¿Qué es emp3r0r?

emp3r0r es un framework de post-explotación y C2 diseñado para entornos Linux y Windows donde el sigilo y la resiliencia no son opcionales. En lugar de asumir una conexión fiable a un único servidor, los agentes forman una malla autorreparable que sigue funcionando cuando los enlaces se rompen. En lugar de pedirle Python o PowerShell al objetivo, ejecutan todo en memoria. Y en lugar de limitarte a los trucos de una sola plataforma, emp3r0r ejecuta BOFs de Windows, objetos de Linux y scripts de Starlark — todo sin archivos, todo en proceso.


Aspectos destacados y características únicas

🐍 Agentes programables (motor Starlark embebido y proxy de la API de Win32)

Cada agente lleva su propio motor de scripting, así que puedes incorporar nueva lógica de post-explotación sin compilar ni desplegar binarios.

  • Los scripts se ejecutan completamente en memoria — no se requiere Python, Bash ni PowerShell en el objetivo, y no se generan intérpretes de comandos.
  • Un conjunto completo de APIs integradas cubre E/S de archivos, HTTP, ejecución de comandos y más, directamente desde el código del script.
  • En Windows, los scripts pueden llamar directamente a funciones nativas de Win32 — el agente actúa como proxy directo hacia las DLL del sistema.
  • Los módulos son simples archivos Starlark con un pequeño manifiesto JSON, así que añadir los tuyos es fácil y sin archivos.

Por qué importa: escribir y extender la funcionalidad del agente se vuelve tan simple como editar un script, sin la huella de dejar un intérprete o un nuevo binario en el objetivo.


🔐 Fijación de identidad criptográfica TOFU

Los agentes vinculan su identidad a una clave criptográfica la primera vez que hablan contigo — y ese vínculo nunca cambia.

  • El re-registro con credenciales diferentes se trata como un impostor y se rechaza.
  • Eliminar un agente es una decisión explícita del operador, no algo que una clave robada pueda hacer en silencio.

Por qué importa: el secuestro de sesiones y la clonación de agentes simplemente no ocurren; cada agente con el que hablas es el que registraste.


🔒 Secreto perfecto hacia adelante (PFS)

Cada enlace C2 y entre pares usa claves ECDH efímeras con claves de cifrado derivadas de la sesión.

Por qué importa: incluso si una clave de largo plazo se ve comprometida después, no puede usarse para descifrar tráfico que ya pasó.


🕸️ Red de malla gossip P2P autónoma

Los agentes se descubren entre sí y retransmiten tráfico a través de una malla gossip, así que la operación no se derrumba cuando un enlace o un servidor desaparece.

  • Los pares se conectan mediante mTLS 1.3 de camuflaje o UDP fiable (KCP), con cada salto cifrado.
  • El tráfico se redirige automáticamente alrededor de retransmisores muertos — sin cirugía manual de proxies a mitad de operación.
  • Los segmentos sin acceso directo al C2 siguen siendo alcanzables a través de sus vecinos.

Por qué importa: la red hace el pivoting por ti. Corta un enlace, pierde una máquina o bloquea el C2 — los agentes se redirigen solos.


📂 Sistema de archivos P2P

Los archivos se mueven directamente entre agentes, no solo a través del C2.

  • Las transferencias viajan por túneles cifrados entre pares, así que las redes internas no se convierten en cuello de botella de tu servidor.
  • Los archivos se almacenan en caché en la memoria del agente como blobs cifrados y se sirven a los pares bajo demanda.
  • Si ningún par tiene un archivo, el agente lo obtiene automáticamente del C2.

Por qué importa: la entrega es rápida y en gran medida invisible para el canal C2 — ideal para entornos con restricciones de salida.


📡 Listeners multiprotocolo y stagers conectables

Conseguir que un agente entre se trata con la misma seriedad que mantenerlo vivo.

  • Listeners HTTP, TCP y UDP con framing fiable y perfiles HTTP personalizables.
  • Un stager de aproximadamente 2KB construido sobre llamadas directas al sistema de Linux — sin libc, sin toolchain en el objetivo.
  • Transportes de stager conectables y empaquetadores auto-desempaquetables te permiten mezclar el acceso inicial con cualquier canal que tu objetivo permita, y derrotar la coincidencia de firmas estáticas en el proceso.
  • El código del stager y del agente respeta la disciplina de lectura/escritura/ejecución — nunca RWX.

Por qué importa: un acceso inicial pequeño, adaptable e higiénico en memoria significa que puedes aterrizar en hosts que de otro modo estarían fuera de alcance.


🧩 Soporte nativo multiplataforma de BOF y PICO (COFF, ELF y PICO)

Ejecuta módulos C compilados en proceso en cualquiera de las dos plataformas:

  • Binarios COFF/BOF de Windows con empaquetado de argumentos tipados.
  • Objetos reubicables ELF de Linux cargados directamente en la memoria del agente.
  • Módulos PICO de Crystal-Kit con spoofing de pila de llamadas SilentMoonwalk.
  • Kerbeus-BOF, Remote-OPs y una suite de Conocimiento Situacional vienen listos para usar.

Por qué importa: los BOFs son tan buenos como su cargador — emp3r0r los ejecuta en proceso sin un nuevo proceso y sin dejar rastro, tanto en Linux como en Windows.


🧬 Cargador de bibliotecas en memoria (memmod)

Las bibliotecas nativas se mapean en el propio espacio de direcciones del agente y se llaman allí — sin LoadLibrary, sin dlopen, sin que ningún archivo toque el disco.

  • memmod carga DLLs PE en Windows y .so ELF en Linux, gestionando reubicaciones, importaciones y llamadas a exportaciones en proceso.
  • Se basa en trabajo upstream probado: el cargador PE memmod de WireGuard y el cargador ELF y la maquinaria de llamadas de Sliver C2 / sliverarmory/reflektor.
  • memdeps se sitúa por encima: una dependencia declarada se resuelve desde memfs/C2 cifrado, se mapea solo para la operación que la necesita y se desmapea al retornar.

Por qué importa: extender el agente con código nativo no requiere un nuevo binario, un servicio cargador ni un archivo en disco.


🐧 Módulos de Linux y eBPF

Los módulos de Linux son scripts de Starlark que pueden llegar hasta el propio kernel. El agente mapea libbpf bajo demanda y expone su API a los scripts como builtins respaldados por Go, así que un módulo puede enumerar, adjuntarse y desmontar objetos eBPF sin compilador y sin proceso hijo.

Categorías