miércoles, febrero 16, 2022

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.

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

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.


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.

Instalación on-the-fly

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

Lo primero fue explicar cómo instalar la herramienta y aquí os dejo la receta del paso a paso para que la instalación funcione (Kali Linux testeado):

- 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 ./configure
o make
o make test
o sudo make install
- NetfilterQueue
o https://github.com/oremanj/python-netfilterqueue
o 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

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.


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.

Figura 7: Jobs en on-the-fly

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.

Figura 8: Arquitectura de módulos on-the-fly


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.

Casos de uso de On-the-fly

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.

Figura 9: Ejemplo del ataque con on-the-fly

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.

Figura 11: Convirtiendo 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.

Saludos,

 Figura 14: Contactar con Pablo González

No hay comentarios:

Publicar un comentario