From Empire to iBombShell en SecAdmin 2019
El pasado sábado 16 de noviembre, bajo un frío importante, se celebró la sexta edición de SecAdmin. Por cuarta vez tuve la suerte de acudir a la cita en la ciudad de Sevilla. En esta ocasión, un sábado, junto a mi compañero Álvaro Nuñez-Romero. El taller de dos horas sobre cómo funcionaba iBombshell, cómo surgió y cómo evoluciona la herramienta, pero antes, hablamos de Empire y la importancia de esta herramienta en el Ethical Hacking moderno. Lo que ha proporcionado y en qué ha derivado el proyecto, por ejemplo, Covenant.
La idea del taller era lo que acabo de comentar, mostrar una transición en nuestra forma de trabajar con estas herramientas y cómo Empire ayudó a crear iBombshell. Hicimos hincapié en que iBombshell surge siendo una shell dinámica de pentesting que puede cargarse, gracias al modo everywhere, en cualquier sistema sin necesidad de tener persistencia. Mientras que su modo de trabajo silently permite controlar de forma remota los Warriors o agentes de post-explotación escritos en Powershell que éste ofrece. Aquí es donde se ve el parecido o la influencia con Empire, siempre salvando las distancias.
iBombshell es una herramienta que sigue creciendo en el poco tiempo que tenemos para hacerlo. Incluyendo funcionalidades y aportando estabilidad, que necesita y merece, dicha herramienta.
From Empire
Respecto a Empire se explicó, principalmente, su arquitectura: listeners, stagers, módulos, agents. Se detalló qué es cada cosa y cómo se trabaja con todo para disponer de una herramienta de post-explotación potente. Siempre está el ‘gusanillo’ de ‘¿y el antivirus? ¿Y Windows 10?’ Cada día hay gente que investigan bypasses y formas de saltarse protecciones, mientras que otros conocen las nuevas técnicas para fortalecer las protecciones. Es un juego muy clásico y que seguirá estando aquí con nosotros.
Se detalló el listado de listeners posibles con Empire. La verdad que el abanico de posibilidades que ofrece la herramienta es muy interesante. La posibilidad de meter saltos entre la máquina comprometida y el C2 es interesante, a través de http_hop o la posibilidad de hacer session pass con http_foreign. Utilizar Dropbox o Onedrive como Covert Channel es otra opción muy interesante y de la que ya hemos hablado.
Figura 1: From Empire to iBombShell en SecAdmin 2019 |
La idea del taller era lo que acabo de comentar, mostrar una transición en nuestra forma de trabajar con estas herramientas y cómo Empire ayudó a crear iBombshell. Hicimos hincapié en que iBombshell surge siendo una shell dinámica de pentesting que puede cargarse, gracias al modo everywhere, en cualquier sistema sin necesidad de tener persistencia. Mientras que su modo de trabajo silently permite controlar de forma remota los Warriors o agentes de post-explotación escritos en Powershell que éste ofrece. Aquí es donde se ve el parecido o la influencia con Empire, siempre salvando las distancias.
Figura 2: Libro de Pentesting con PowerShell 2ª Edición |
iBombshell es una herramienta que sigue creciendo en el poco tiempo que tenemos para hacerlo. Incluyendo funcionalidades y aportando estabilidad, que necesita y merece, dicha herramienta.
From Empire
Respecto a Empire se explicó, principalmente, su arquitectura: listeners, stagers, módulos, agents. Se detalló qué es cada cosa y cómo se trabaja con todo para disponer de una herramienta de post-explotación potente. Siempre está el ‘gusanillo’ de ‘¿y el antivirus? ¿Y Windows 10?’ Cada día hay gente que investigan bypasses y formas de saltarse protecciones, mientras que otros conocen las nuevas técnicas para fortalecer las protecciones. Es un juego muy clásico y que seguirá estando aquí con nosotros.
Figura 3: Listeners |
Se detalló el listado de listeners posibles con Empire. La verdad que el abanico de posibilidades que ofrece la herramienta es muy interesante. La posibilidad de meter saltos entre la máquina comprometida y el C2 es interesante, a través de http_hop o la posibilidad de hacer session pass con http_foreign. Utilizar Dropbox o Onedrive como Covert Channel es otra opción muy interesante y de la que ya hemos hablado.
Figura 4: Powershell Empire: Poc de listener http_hop
Los stagers y los agents van unidos. El molde y la instanciación o materialización del molde. Empire los tiene multiplataforma, lo cual, de nuevo, digno de alabar. Puedes ejecutar un agente en un macOS, en un GNU/Linux o en un Windows y todo funciona e interactúa con tu listener.
Figura 5: Los stagers |
El tiempo de dos horas del taller no es suficiente para mostrar todo lo que se quiere, por lo que se tuvo que escoger unos ejemplos amplios, que mostrasen el potencial de la herramienta y la utilidad de ésta en un escenario real.
Figura 6: Libro de Ethical Hacking escrito por Pablo González |
El primer ejemplo estuvo compuesto de dos partes: la primera una simple conexión a un listener http a través de un código Powershell ejecutado manualmente en la máquina víctima. La segunda parte mostraba cómo se construía una DLL con un agente de Empire en su interior apuntando al listener.
¿Cómo se metía la DLL en el sistema comprometido? A través de una vulnerabilidad de un software, el payload que se invocaba era un DLL Injection y ahí se conseguía ejecutar la DLL sobre la máquina comprometida. El segundo ejemplo, quería mostrar el uso de un hop, como se ha mostrado en el vídeo anterior.
To iBombshell
Y llegó el turno de iBombshell. Explicamos cómo surgió, su participación en BlackHat en 2018 y cuáles eran sus modos de trabajo con ejemplo de cada uno. Más de una vez ya hemos explicado cómo funciona el modo Everywhere, una shell dinámica que se carga directamente a memoria desde Github y que va cargando funcionalidades en memoria según se requieran. Si nos movemos de equipo, podemos disponer de lo mismo y utilizar lo que se necesite.
Así surge iBombshell en el año 2018. Explicamos la arquitectura modular, cómo puede hacerse una función en Powershell y cómo se puede convertir en un módulo de Python para manejarlo remotamente a través del C2.
Se explicó cómo surge el modo Silently, basándonos en la herramienta Empire y proporcionando algunas funciones interesantes como el Bypass de AMSI, funcional hasta no hace mucho en Windows 10. Este es un claro ejemplo de que todo se va ‘tapando’, parcheando y actualizando.
Figura 9: Cómo saltarse AMSI y desactivar Windows Defender con iBombshell
También hemos visto cómo en las últimas semanas o meses, iBombshell ha sido detectado por Windows Defender. Esto es algo interesante, ya que como herramienta de Ethical Hacking, que te detecten es un paso adelante en que se utiliza y que la gente lo está probando.
Esto nos ayuda a seguir aportando al proyecto y extender la petición a todo el que quiera participar, como en su día ya hicieron varios amigos.
Las demos que se hicieron en la parte del C2 fueron la escalada de privilegios, el volcado de información sobre credenciales y hashes, incluso en texto plano con el uso de Mimikatz y la posibilidad de hacer movimiento lateral a través de SMB, gracias al uso del hash obtenido.
Figura 12: iBombShell: PoC Warrior + Bypass UAC + Pass the hash
En nuestra opinión, la gente quedó contenta con nuestra herramienta y con las posibilidades que ofrece. Probaron, vieron que funciona, aunque podemos y debemos mejorar su estabilidad y retocar cosas y, sobretodo, ampliar funcionalidades para poder proporcionar mayores posibilidades en un Ethical Hacking. Seguiremos trabajando.
Saludos,
¿Cómo se metía la DLL en el sistema comprometido? A través de una vulnerabilidad de un software, el payload que se invocaba era un DLL Injection y ahí se conseguía ejecutar la DLL sobre la máquina comprometida. El segundo ejemplo, quería mostrar el uso de un hop, como se ha mostrado en el vídeo anterior.
To iBombshell
Y llegó el turno de iBombshell. Explicamos cómo surgió, su participación en BlackHat en 2018 y cuáles eran sus modos de trabajo con ejemplo de cada uno. Más de una vez ya hemos explicado cómo funciona el modo Everywhere, una shell dinámica que se carga directamente a memoria desde Github y que va cargando funcionalidades en memoria según se requieran. Si nos movemos de equipo, podemos disponer de lo mismo y utilizar lo que se necesite.
Figura 7: Idea detrás de iBombShell |
Así surge iBombshell en el año 2018. Explicamos la arquitectura modular, cómo puede hacerse una función en Powershell y cómo se puede convertir en un módulo de Python para manejarlo remotamente a través del C2.
Figura 8: Libro de "Python para Pentesters" y "Hacking con Python" de 0xWord |
Se explicó cómo surge el modo Silently, basándonos en la herramienta Empire y proporcionando algunas funciones interesantes como el Bypass de AMSI, funcional hasta no hace mucho en Windows 10. Este es un claro ejemplo de que todo se va ‘tapando’, parcheando y actualizando.
Figura 9: Cómo saltarse AMSI y desactivar Windows Defender con iBombshell
También hemos visto cómo en las últimas semanas o meses, iBombshell ha sido detectado por Windows Defender. Esto es algo interesante, ya que como herramienta de Ethical Hacking, que te detecten es un paso adelante en que se utiliza y que la gente lo está probando.
Figura 10: Volcado de passwords |
Esto nos ayuda a seguir aportando al proyecto y extender la petición a todo el que quiera participar, como en su día ya hicieron varios amigos.
Figura 11: Libro en 0xWord de Hacking Windows de Pablo González, Carlos García y Valentín Martín |
Las demos que se hicieron en la parte del C2 fueron la escalada de privilegios, el volcado de información sobre credenciales y hashes, incluso en texto plano con el uso de Mimikatz y la posibilidad de hacer movimiento lateral a través de SMB, gracias al uso del hash obtenido.
Figura 12: iBombShell: PoC Warrior + Bypass UAC + Pass the hash
En nuestra opinión, la gente quedó contenta con nuestra herramienta y con las posibilidades que ofrece. Probaron, vieron que funciona, aunque podemos y debemos mejorar su estabilidad y retocar cosas y, sobretodo, ampliar funcionalidades para poder proporcionar mayores posibilidades en un Ethical Hacking. Seguiremos trabajando.
Saludos,
Autor: Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root" y “Pentesting con Powershell”, Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDO de Telefónica.
Para consultas puedes usar el Buzón Público para contactar con Pablo González
No hay comentarios:
Publicar un comentario