Post91 nn

Comprometiendo Windows con PowerShell Empire


Logo uri spioni mh 1
Cristian Palma P

¿Que es Empire?

Empire es una herramienta de post-explotación de PowerShell construido sobre comunicaciones cripto-lógicamente seguras y una arquitectura flexible. Empire implementa la capacidad de ejecutar agentes de PowerShell sin necesidad de powershell.exe, módulos de post-explotación rápidamente desplegables que van desde un keyloggers a Mimikatz, y comunicaciones adaptables para evadir la detección de redes, todo ello envuelto en un Framework fácil de utilizar.

PowerShell Empire es un framework diseñado en Python y basado en agentes que se ejecuta en el equipo comprometido mientras nosotros podemos gestionar el control de diversas acciones como elevar privilegios, descargar o subir archivos, entre otros. Es una herramienta que podemos observar es un similar a Metasploit Framework y de cierto modo es como la temática en la que fue orientado Empire, adicionalmente de ofrecernos una comunicación cifrada que dificulte nuestra detección en la red.

En este primer apartado presentaremos un ejemplo práctica de una fase de explotación con esta herramienta.

Primero debemos descargar Empire desde Github:

#git clone https://github.com/powershellempire/empire

Acceder a la carpeta y asignar permisos de ejecución o iniciar con python

#chmod +x empire

Ahora iniciaremos PowerShell Empire

#./empire


Se nos desplegará el siguiente banner donde se nos visualiza la totalidad de módulos, las conexiones a la escucha “Listeners” y los agentes “Agents


Banner PowerShell Empire


Listeners: Se encargan de esperar las conexiones de los agentes desplegados en las máquinas comprometidas.

Agents: Los agentes son el código ejecutado en las máquinas comprometidas como por ejemplo BAT, VBS, DLL e incluso, un código preparado para Rubber Ducky.

En la siguiente imagen podemos observar las acciones principales que podemos realizar con Empire.


Menú de comandos principales 

Para comenzar debemos configurar nuestra primer módulo que se encargue de estar escuchando las conexiones de algún equipo comprometido con nuestro host, esto lo realizaremos seleccionando “Listeners” y cómo podemos observar a continuación Empire nos indica que no hay ningún listeners a la espera de alguna conexión.



Menú de acciones para configurar el/los Listeners

Empire nos permite generar diferentes tipos de conexión vía https o generar una conexión por meterpreter.


Ejemplos del listeners


Para esta ocasión crearemos una conexión mediante el siguiente comando

# uselistener http “nombre para listener”

Y con info podremos ver los parámetros que requiere el listener para operar

# info 


Configuración del Listener

Como podemos observar si tenemos más de alguna conexión creada para detectar claramente quien es nuestra víctima podemos indicar un nombre a la conexión adicionalmente debemos indicar nuestro host al módulo, para insertar un valor se realiza al igual que en Metasploit:

# set Host 192.168.200.124 

En caso que tengamos operativo el puerto 81 o simplemente queremos cambiar el puerto de conexión también lo podemos realizar mediante:

# set Port 81

Posteriormente regresamos con el comando # back y ejecutamos el código del listeners que recién acabamos de crear, esto lo realizamos ingresando:


# launcher powershell Control_11


C:\Users\Crisxyz\Desktop\Informes Backtrack\Apoyo\Imagenes informe Empire-20171010T005912Z-001\Imagenes informe Empire\Selección_034.jpg

Código Powershell que debe ser ejecutado en el equipo víctima

Como podemos observar en la imagen se creará un código encodeado en Base64 que debemos explotar desde el equipo víctima, cuando este se ejecute el Powershell ejecutará el código a través de Base64 (-Enc), en un proceso oculto (-W Hidden) y no interactivo (-NonI).


Existen diferentes maneras de ofuscar un código en un archivo para que nuestra víctima nos genere la conexión pero esto lo realizamos más adelante, para esta ocasión ingresamos el código generado en la imagen anterior en la consola de Windows.

C:\Users\Crisxyz\Desktop\Informes Backtrack\Apoyo\Imagenes informe Empire-20171010T005912Z-001\Imagenes informe Empire\Selección_025.jpg

Inyección del código ofuscado de Empire en la consola de Windows

Posteriormente a haber comprometido el equipo víctima Empire nos levantará un mensaje donde indica que se ha iniciado un agente desde la IP “Máquina comprometida”

C:\Users\Crisxyz\Desktop\Informes Backtrack\Apoyo\Imagenes informe Empire-20171010T005912Z-001\Imagenes informe Empire\Selección_026.jpg
Mensaje de conexión

Como podemos observar se generó un agente entre nuestro Host y el equipo víctima


Lista de agentes


Para comenzar a operar sobre nuestra víctima debemos usar el comando interact y el nombre del agente como podemos ver a continuación:


# interact MYFRW1D8


C:\Users\Crisxyz\Desktop\Informes Backtrack\Apoyo\Imagenes informe Empire-20171010T005912Z-001\Imagenes informe Empire\Selección_029_1.jpg

Interacción con el agente

Ahora podemos comenzar a ejecutar código de manera remota también podemos visualizar la información del sistema comprometido con:

# sysinfo


C:\Users\Crisxyz\Desktop\Informes Backtrack\Apoyo\Imagenes informe Empire-20171010T005912Z-001\Imagenes informe Empire\Selección_030.jpg

Resumen del equipo comprometido


En la siguiente imagen podemos observar las herramientas que nos ofrece Empire cuando logramos tomar el control del equipo, dentro de las características podríamos elevar privilegios con Bypassuac, descargar o subir archivos, ejecutar mimikatz, también contamos un apartado con módulos post explotación el cual aplicaremos a continuación:


C:\Users\Crisxyz\Desktop\Informes Backtrack\Apoyo\Imagenes informe Empire-20171010T005912Z-001\Imagenes informe Empire\Selección_033.jpg

Opción de ayuda de Metasploit


Pero no solo contamos con módulos de explotación de servicios, Empire también nos ofrece algunos módulos para jugar bromas como por ejemplo desplegar un mensaje en pantalla a la víctima indicando que su equipo ha sido comprometido.

Esto lo podemos realizar con el siguiente módulo:

# use modulo “trollsploit/message” ← nombre del módulo

Posteriormente como podemos ver a continuación con info podemos configurar el módulo para que el exploit presente un mensaje personalizado a la víctima:

# MsgText: Mensaje personalizado que leerá el usuario del equipo.
# IconType: Tipo de mensaje que aparecerá en pantalla (Critical: Pop-up en pantalla)
#Agent Title: Título de la ventana. 

Opciones del modulo


Posteriormente a haber configurado nuestro módulo lo ejecutamos mediante el comando #execute y cómo podemos observar en la siguiente imagen, a la víctima le aparecerá un mensaje en pantalla indicando que su equipo se encuentra comprometido.

C:\Users\Crisxyz\Desktop\Informes Backtrack\Apoyo\Imagenes informe Empire-20171010T005912Z-001\Imagenes informe Empire\Selección_032.jpg

Foto pantalla equipo comprometido



Artículos que te pueden interesar