1 jun 2018

Powershell Empire GUI: Una interfaz al más puro estilo Armitage

Que Powershell Empire es una realidad dentro de las herramientas de seguridad es algo indudable, y lo vimos en el año 2016 cuando empezamos a hablar de ella. El potencial y la flexibilidad de la herramienta ha llegado a un alto grado, tal y como se ha podido ver en otros artículos como en el que trabajábamos con Pass the hash, Mimikatz y el Empire. El día de hoy vamos a hablar sobre la GUI, o una de ellas, que ofrece Powershell Empire, cuáles son sus requisitos, qué nos ofrece y cómo podemos montarla. 

Hay que decir que el proyecto se denomina EmpireProject, pero en el fondo para nosotros todo sigue siendo Powershell Empire. Desde el Github de EmpireProjectpodemos acceder a la nueva GUI que nos proporcionan. ¿Qué característica trae este nuevo proyecto de GUI para Empire? El soporte multiplataforma es fundamental, ya que podemos montarlo en Windows, Lunux o Mac. El tráfico circulará a través de una conexión HTTPS, se dispone de autenticación 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 Empireen su última versión, 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 cómo tras realizar el git clone [empire]y la ejecución del script install.sh, se puede ejecutar Empirey darle un uso normal, como hemos ido viendo otros artículos. Pero ahora Empiredispone de una característica importante y es la posibilidad de levantar un servidor en un puerto y mediante el uso de una passwordpoder acceder a las posibilidades de Empirevía GUI. Los pasos son los siguientes:

1.    Instalación de NodeJSy NPM. 
2.    Descargar la rama 3.0-Betade Empire. Esto se puede lograr haciendo git checkout 3.0-Betadentro de la carpeta de Empire.
3.    Arrancar el Empire Server.
4.    La posibilidad de configurar listenerso generar stagersno está soportado aún por la GUI, pero sí veremos las máquinas con los agentes y la posibilidad de ver la información. 
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-GUIla siguiente instrucción: npm instally, posteriormente, npm start
7.    Una vez hecho esto, hacemos el loginen Empire


Una vez tenemos el Empireen modoServerpasamos a la ejecución de npm, primero con instally, posteriormente, con start. En la siguiente imagen podemos ver lo comentado. Es muy probable que obtengamos algunos Warningen este proceso, pero para la prueba será válido. 


Una vez finaliza el proceso anterior, y hemos ejecutado npm start, obtendremos una nueva ventana dónde 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 dirección IP de la máquina dónde se ejecuta Empire-GUI, el puerto y la contraseña que indicamos en el arranque de Empire Server. El user aliaspuede ser cualquier cosa, en este caso se utilizó el nombre “pablo”


Una vez accedemos al panel interno nos encontramos con una serie de iconos a la izquierda. El primero de iconos representa las máquinas o agentes desplegados de Empire. En el panel central veríamos las máquinas con su sistema operativo pintado, muy parecido a Armitage. En la parte inferior vemos una pequeña zona de salida de texto, que es dónde iremos viendo el logy la ejecución de los agentes en las máquinas 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 año. 


Para probar un poco el entorno decidí generar un stager, mediante el uso de usestageren Empire. El stagerelegido fue un windows/launcher_bat, todo un clásico. Al generar el fichero batlo llevé a una máquina Windows 7y lo ejecuté tomando el control de la máquina. También hay que indicar que cree un listenerde tipo http, para que el agente pudiera comunicarse con él. 

Como se puede ver en la siguiente imagen, vemos una máquina que tiene en ejecución de dos agentes, ya que mi stagerfue ejecutado un par de veces. Esta aproximación a Armitageacerca de manera sencilla la post-explotacióna una forma más gráfica. 


Cuando queremos interactuar o visualizar información de uno de los agentes, podemos ir hacia el panel de la izquierda, dónde se puede ver el nombre del agente ejecutado en la máquina y se puede acceder a funcionalidad. En este caso, como se puede ver, tenemos una nueva shellsobre la que obtener información. 


Cuando pulsamos sobre la shell, se nos abre una nueva pestaña en el panel inferior y podemos ver la información del agente ejecutándose en la máquina remota. 


Como se puede ver, la GUI de Empirenos permite ver de forma gráfica la fase de post-explotación, aunque si me dais a elegir, me quedo con el uso y gozo de la línea de comandos y la flexibilidad que ésta nos ofrece. Empirees un proyecto que ha crecido y que sigue haciéndolo gracias al empuje de sus creadores y de la comunidad que tiene detrás. Una herramienta que, sin duda, debéis tener en la mochila del pentester.

No hay comentarios:

Publicar un comentario