Emp3r0r Framework Post-Explotación para Linux
Emp3r0r Framework Post-Explotación para Linux

Emp3r0r: Framework Post-Explotación para Linux

¿Por qué otra herramienta de post-explotación?

¿por qué no? no veo muchos frameworks de post-explotación para sistemas linux, incluso si los hubiera, no son nada como el de @jm33-m0.

Como usuario de linux, la cosa más crítica para la administración remota es la terminal. si odias la experiencia de la shell inversa (a veces ni siquiera es una shell), echa un vistazo a emp3r0r, te impresionará.

Sí, la idea era desarrollar una herramienta de post-explotación para los usuarios de Linux (¿Sabes que existen 9+1 Tipos de Usuarios Recién Llegados a Linux?), que quieren una mejor experiencia en su hacking

Otra razón es la compatibilidad. Emp3r0r está escrito en su mayoría en Go, y es completamente estático (también lo son todos los plugins utilizados por emp3r0r), se ejecutará en cualquier lugar (probado en Linux 2.6 y superior) que desees, independientemente de los entornos. En algunos casos ni siquiera encontrarás bash en tu objetivo, no te preocupes, emp3r0r carga su propio bash y muchas otras herramientas útiles.

¿por qué se llama emp3r0r? porque hay un empire.

Qué Hace

Una mirada rápida:

  • Hermosa interfaz de usuario de la terminal
  • Shell inverso perfecto (color verdadero, enlaces de teclas, bashrc personalizado, binario bash personalizado, etc)
  • Auto persistencia a través de varios métodos
  • Herramientas de post-explotación como nmap, socat, están integradas con reverse shell
  • Recolección de credenciales
  • Inyección de procesos
  • Inyección de shellcode y dropper
  • Parcheador ELF
  • Ocultar procesos y archivos mediante el secuestro de libc
  • Mapeo de puertos, proxy socks5
  • Auto root
  • Recogida de información del sistema
  • Gestión de archivos
  • Limpiador de registros
  • Conexión sigilosa
  • Antivirus
  • Comprobador de acceso a internet
  • Autoproxy para redes semiaisladas
  • Interoperabilidad con metasploit / Cobalt Strike
  • y muchos más…

Características principales

Transportes

emp3r0r utiliza HTTP2 (TLS habilitado) para su comunicación CC, pero también puedes encapsularlo en otros transportes como TOR, y CDNs. todo lo que necesitas hacer es decirle al agente de emp3r0r que use tu proxy.

A continuación se muestra una captura de pantalla del servidor CC de emp3r0r, que tiene 3 agentes procedentes de 3 transportes diferentes

Transportes de emp3r0r
Transportes de emp3r0r

Auto proxy para agentes sin acceso directo a internet

Los agentes de emp3r0r comprueban si tienen acceso a internet al arrancar, e inician un proxy socks5 si lo tienen, entonces difunden sus direcciones proxy (de forma encriptada) en cada red que puedan alcanzar

Si un agente no tiene internet, va a escuchar esas broadcasts. cuando recibe un proxy que funciona, inicia un mapeo de puertos de ese proxy y lo difunde a sus propias redes, llevando el proxy a cada agente que pueda tocar, y eventualmente llevar a todos los agentes a nuestro servidor CC.

En el siguiente ejemplo, tenemos 3 agentes, entre los cuales sólo uno () tiene acceso a internet, y tiene que usar el proxy pasado por

Autoproxy emp3r0r
Autoproxy emp3r0r

Anti antivirus (o anti lo que sea)

  • un criptor que carga el agente en la memoria
  • un dropper de shellcode
  • todo es aleatorio
  • un agente construido para cada objetivo

Tráfico de agentes

Cada vez que un agente se inicia, comprueba el estado de CC en una URL preestablecida, si sabe que CC está fuera de línea, no se ejecutará ninguna acción más, espera a que CC se conecte.

Puedes establecer la URL a una página de GitHub u otros sitios menos sospechosos, tus agentes sondearán esa URL cada minuto al azar

No se producirá ninguna comunicación con CC cuando el agente crea que CC está desconectado

si no lo está:

desnuda el tráfico HTTP2:

Tráfico de agente
Tráfico de agente

Packer – iniciar el agente en memoria

El packer encripta el binario del agente, y lo ejecuta desde la memoria (usando memfd_create)

Actualmente emp3r0r se basa principalmente en la memoria, si se utiliza con este packer:

packer de emp3r0r
packer de emp3r0r

dropper – lanzamiento de agente basado en memoria pura

dropper deja caer un shellcode o un script en su objetivo, que finalmente ejecuta su agente, de forma sigilosa

A continuación, se muestra una captura de pantalla de una entrega de shellcode basada en Python para la ejecución del agente:

dropper de emp3r0r
dropper de emp3r0r

Ocultar procesos y archivos

Aactualmente emp3r0r utiliza libemp3r0r para ocultar sus archivos y procesos, que utiliza glibc hijacking

Persistencia

Métodos actualmente implementados: (se añadirán más en el futuro)

  • inyección de shellcode
  • libemp3r0r
  • cron
  • inyección de perfiles y comandos bash

Módulos

  • Inyección de shellcode
  • Shellcode loader
  • Shell de comandos básicos (esto no es un shell, sólo ejecuta cualquier comando que envíes con sh -c y te devuelve el resultado)
  • Shell bash totalmente interactivo y sigiloso (un shell bash inverso, iniciado con el binario bash personalizado y el bashrc, sin dejar rastro en el shell del sistema)
  • Recolección de credenciales
  • Auto root (actualmente emp3r0r soporta CVE-2018-14665)
  • Mapeo de puertos
  • Mapeo de puertos inverso (interoperabilidad con otros frameworks)
  • Sistema de plugins (leer Wiki para más información)
Más artículos
TeleGram Scraper Scraping Grupos Usuarios
TeleGram-Scraper: Scraping Grupos de Telegram (Información de miembros)