H-CON: Hackeando con On-the-fly entre "Humans"
Que llevamos tiempo deseando que la normalidad, la antigua, vuelva a nuestras vidas no es algo nuevo. La deseamos y estamos ansiosos por que esté aquí con nosotros. El pasado viernes 4 de febrero Luis Eduardo Álvarez y yo presentamos on-the-fly en la H-c0n con un taller sobre el uso de la herramienta. Una herramienta que se desarrolló en IdeasLocas y que es OpenSource para que cualquiera pueda ampliarla, mejorarla, estudiarla y aprender con ella sobre evaluaciones en la seguridad de la red.
La H-c0n nos brindó la posibilidad de volver a amigos y conocidos que no veíamos desde hace casi dos años. Nos permitió conocer nuevos trabajos de compañeros y volver a juntarnos, sin pantalla de por medio, y volver a sentir lo que es una CON en estado puro. El workshop que presentamos era el de on-the-fly, la herramienta que IdeasLocas llevó a BlackHat Europe 2021 para extender la mochila del pentester en proyectos de Ethical Hacking.
El trabajo dispone de un paper en el que se puede desglosar toda la herramienta desde el punto de vista de arquitectura, lo que aporta como herramienta OpenSource y algunos casos de uso con los módulos que trabaja la herramienta. Desde el punto de vista de un pentesting a entornos TI tiene sus puntos fuertes, pero también está pensada para poder trabajar en entornos IoT e ICS, aunque aún le falta crecer en este aspecto.
Figura 1: H-CON: Hackeando con On-the-fly entre "Humans"
La H-c0n nos brindó la posibilidad de volver a amigos y conocidos que no veíamos desde hace casi dos años. Nos permitió conocer nuevos trabajos de compañeros y volver a juntarnos, sin pantalla de por medio, y volver a sentir lo que es una CON en estado puro. El workshop que presentamos era el de on-the-fly, la herramienta que IdeasLocas llevó a BlackHat Europe 2021 para extender la mochila del pentester en proyectos de Ethical Hacking.
Figura 2: Libro de Ethical Hacking 2ª Edición de Pablo González en 0xWord |
Figura 3: Artículo de "on-the-fly"
En el workshop trabajamos para mostrar casos de uso en diferentes ámbitos de uso de on-the-fly: TI, IoT o ICS. Aunque con dos horas no era suficiente para poder trastear con la herramienta todo lo que nos hubiera gustado. Además, con un auditorio con bastante gente no se podía interactuar mucho con los diferentes ejemplos.
Como comenté, estamos trabajando en facilitar la instalación de on-the-fly a través de un script que automatice la instalación de dependencias, configuración de Python y otras necesidades identificadas en la herramienta para que se pueda instalar de manera sencilla en Ubuntu y Kali Linux (al menos).
Figura 4: Pentesting con Kali Silver Edition de Pablo González en 0xWord |
- git clone https://github.com/Telefonica/on-the-fly.git
- apt install libssl-dev libncurses5-dev build-essential libffi-dev libnetfilter-queue-dev
- Descargamos Python 3.7 (o 3.X dónde X es <=7).
Es recomendable hacer esto, aunque todo pueda funcionar con un Python superior (antes no funcionaba de forma estable).
- https://github.com/deadsnakes/python3.7
o ./configureo makeo make testo sudo make install
- NetfilterQueue
o https://github.com/oremanj/python-netfilterqueueo From pipy
Python3.7 –m pip install NetfilterQueue
- Python3.7 –m pip install –r requirements.txt
Ya podemos hacer: sudo python3.7 on-the-fly.py
Ya podemos hacer: sudo python3.7 on-the-fly.py
Después de la instalación se mostró el uso básico de la herramienta, especificando el pequeño conjunto de comandos que tiene la herramienta, pero que permiten encadenar una serie de pruebas de ataques a redes para evaluar la seguridad del entorno. Además, se mostraron las familias de los módulos que on-the-fly tiene, todo esto se puede ver en su paper.
Figura 5: Módulos de on-the-fly
Uno de los puntos fuertes de la herramienta es la gestión de hilos y cómo los módulos se pueden ir “apilando”, es decir, un pentester puede empezar lanzando un ataque en red IPv4 como ARP Spoofing para, posteriormente, empezar a sniffar todo el tráfico que pasa por la máquina y añadir, más adelante, otro módulo para hacer una manipulación de paquetes sobre MySQL.
Figura 6: Ataques en redes de datos IPv4&IPv6 (4ª Edición) de
JL. Rambla, ampliado y revisado por Pablo González y Chema Alonso
La idea de la herramienta es apilar una serie de módulos para construir pruebas de evaluación grandes, a partir de pequeños módulos que van haciendo acciones concretas. Aquí está la fuerza de la herramienta. Para poder gestionar el “apile” de los módulos se dispone del comando ‘jobs’, el cual permite gestionar los módulos para poder finalizarlos cuando ya no se requieran.
Hablamos sobre la arquitectura y lo fácil que es que cualquier usuario pueda añadir a la herramienta un módulo para implementar una funcionalidad necesaria. Lo interesante es que viendo su arquitectura, la herramienta es muy sencilla de escalar.
La parte interesante del workshop vino cuando comentamos los diferentes casos de uso a modo de ejemplo, para que los asistentes pudieran contemplar las diferentes posibilidades de la herramienta y en sus diferentes ámbitos.
El primer ejemplo fue la manipulación de paquetes a través del uso de dos módulos:
- ARP Spoofing entre un cliente de base de datos y un servidor de base de datos- MySQL Manipulation para que el tráfico que pasa por on-the-fly pueda ser modificado por la sentencia que interese al pentester.
Y en el siguiente vídeo tenéis el ejemplo de cómo funciona esto en real utilizando un entorno como el descrito en la imagen anterior, que se explicó en detalle en este artículo: "Cómo hackear MySQL con Network Packet Manipulation usando on-the-fly".
Figura 10: On-they-fly: PoC of Network Packet Manipulation to inject users in MySQL
Otro de los casos de ejemplo que se tocó en el seminario es el de usar on-the-fly como un pivote para reenviar tráfico a través de TCP Port-Forwarding o convertir a on-the-fly en un proxy SOCKS4.
En el siguiente vídeo tienes un ejemplo de cómo funciona este proceso completo utilizando on-the-fly.
Figura 12: On the fly: PoC de enrutado ProxySocks
Posteriormente, empezamos con la parte de SSDP y Modbus. El protocolo SSDP o Simple Service Discovery Protocol, es un protocolo muy utilizado para el descubrimiento de servicios en redes de área local, por lo que la parte más IoT de casa lo utiliza y mucho. En esta demo, Luis, mostró un ejemplo de cómo on-the-fly puede suplantar cualquier tipo de servicio haciéndose pasar por cualquier dispositivo que se puede encontrar en un hogar o en una oficina. Es perfecto para un ejercicio de Red Team.
Figura 13: On-the-fly: PoC SSDP-Fake
Además, por lo que pudimos ver, la herramienta ha servido de inspiración para algunos compañeros, lo cual nos alegra mucho, ya que no todo es el uso que se pueda dar a on-the-fly, si no que ver cómo otros compañeros te cuentan que les interesa la herramienta porque ellos están haciendo algo parecido para un entorno similar y que les gustaría echar un ojo y ver cómo pueden enfocar su herramienta es perfecto. De eso se trata cuando una herramienta es para la comunidad y para la mejora en ciberseguridad.
Pablo González Pérez (@pablogonzalezpe), escritor de los libros "Metasploit para Pentesters: Gold Edition", "Hacking con Metasploit: Advanced Pentesting" "Hacking Windows", "Ethical Hacking", "Got Root", “Pentesting con Powershell (2ª Edición)”, "Pentesting con Kali Silver Edition" y de "Empire: Hacking Avanzado en el Red Team", Microsoft MVP en Seguridad y Security Researcher en el equipo de "Ideas Locas" de la unidad CDCO de Telefónica. Para consultas puedes usar el Buzón Público para contactar con Pablo González - Conseguir 100 Tempos Gratis en MyPublicInbox
Figura 14: Contactar con Pablo González |
No hay comentarios:
Publicar un comentario