Que Powershell Empire es una realidad dentro de las herramientas de seguridad es algo indudable, y lo vimos en el ao 2016 cuando empezamos a hablar de ella. El potencial y la flexibilidad de la herramienta ha llegado a un alto grado. El da de hoy vamos a hablar sobre la GUI, o una de ellas, que ofrece Powershell Empire, cules son sus requisitos, qu nos ofrece y cmo podemos montarla.

Figura 1: Powershell Empire GUI: Una interfaz grfica al ms puro estilo Armitage

Hay que decir que el proyecto se denomina EmpireProject, pero en el fondo para nosotros todo sigue siendo Powershell Empire. Desde el Github de EmpireProject podemos acceder a la nueva GUI que nos proporcionan.

Qu caractersticas trae este nuevo proyecto de GUI para Empire?

El soporte multiplataforma es fundamental, ya que podemos montarlo en Windows, Linux o MacOS. El trfico circular a travs de una conexin HTTPS, se dispone de autenticacin para los usuarios y es un entorno multiusuario.


El entorno que vamos a montar consta de dos partes:
- La primera es la parte en la que montamos el Empire en su ltima versin, la cual se puede obtener desde su Github.
- La segunda parte es la GUI que se ejecutar en NodeJS.
En la siguiente imagen, se puede ver cmo tras realizar el git clone [empire] y la ejecucin del script install.sh, se puede ejecutar Empire y darle un uso normal, como hemos ido viendo otros artculos.

Figura 3: Ejecucin de PowerShell Empire

Pero ahora Empire dispone de una caracterstica importante y es la posibilidad de levantar un servidor en un puerto y mediante el uso de una password poder acceder a las posibilidades de Empire va GUI. Los pasos son los siguientes:
1. Instalacin de NodeJS y NPM.
2. Descargar la rama 3.0-Beta de Empire. Esto se puede lograr haciendo git checkout 3.0-Beta dentro de la carpeta de Empire.
3. Arrancar el Empire Server.
4. La posibilidad de configurar listeners o generar stagers no est soportado an por la GUI, pero s veremos las mquinas con los agentes y la posibilidad de ver la informacin.
5. Ejecutar el servidor, para ello ejecutamos: ./empire server shared_password [password] port [port].
6. Para arrancar la GUI, debemos ejecutar en el directorio de Empire-GUI la siguiente instruccin: npm install y, posteriormente, npm start. 7. Una vez hecho esto, hacemos el login en Empire.
Una vez tenemos el Empire en modo Server pasamos a la ejecucin de npm, primero con install y, posteriormente, con start. En la siguiente imagen podemos ver lo comentado. Es muy probable que obtengamos algn Warning en este proceso, pero para la prueba ser vlido.

Figura 4: Pasos para la instalacin

Una vez finaliza el proceso anterior, y hemos ejecutado npm start, obtendremos una nueva ventana dnde aparece el mensaje de Login to the Empire. En esta pantalla se pide una serie de datos. Si todo ha ido bien, nos vale con introducir la direccin IP de la mquina dnde se ejecuta Empire-GUI, el puerto y la contrasea que indicamos en el arranque de Empire Server. El user alias puede ser cualquier cosa, en este caso se utiliz el nombre pablo.

Figura 5: Login to Empire GUI

Una vez accedemos al panel interno nos encontramos con una serie de iconos a la izquierda. El primero de iconos representa las mquinas o agentes desplegados de Empire. En el panel central veramos las mquinas con su sistema operativo pintado, muy parecido a Armitage. En la parte inferior vemos una pequea zona de salida de texto, que es dnde iremos viendo el log y la ejecucin de los agentes en las mquinas remotas.

El segundo icono representa los listeners. Poco a poco iremos viendo avances en esta GUI, ya que de momento es un proyecto que est comenzando y apenas tiene un mes. Fue creado el pasado 24 de abril del presente ao.

Figura 6: Panel de Empire GUI

Para probar un poco el entorno decid generar un stager, mediante el uso de usestager en Empire. El stager elegido fue un windows/launcher_bat, todo un clsico. Al generar el fichero bat lo llev a una mquina Windows 7 y lo ejecut tomando el control de la mquina. Tambin hay que indicar que cree un listener de tipo http, para que el agente pudiera comunicarse con l.

Como se puede ver en la siguiente imagen, vemos una mquina que tiene en ejecucin de dos agentes, ya que mi stager fue ejecutado un par de veces. Esta aproximacin a Armitage acerca de manera sencilla la post-explotacin a una forma ms grfica.

Figura 7: Agentes en ejecucin en una mquina

Cuando queremos interactuar o visualizar informacin de uno de los agentes, podemos ir hacia el panel de la izquierda, dnde se puede ver el nombre del agente ejecutado en la mquina y se puede acceder a funcionalidad. En este caso, como se puede ver, tenemos una nueva shell sobre la que obtener informacin.

Figura 8: Apertura de una shell en una mquina

Cuando pulsamos sobre la shell, se nos abre una nueva pestaa en el panel inferior y podemos ver la informacin del agente ejecutndose en la mquina remota. Como se puede ver, la GUI de Empire nos permite ver de forma grfica la fase de post-explotacin, aunque si me dais a elegir, me quedo con el uso y gozo de la lnea de comandos y la flexibilidad que sta nos ofrece.

Figura 9: Shell abierta con un agente

Empire es un proyecto que ha crecido y que sigue hacindolo gracias al empuje de sus creadores y de la comunidad que tiene detrs. Una herramienta que, sin duda, debis tener en la mochila del pentester.


Autor: Pablo Gonzlez Prez (@pablogonzalezpe)