¿Cómo realizar los ataques basados en compresión con RUPTURE?

Share this…

compression based attacks

 

Acuerdo con los expertos de empresa de seguridad de la información, Rupture es un sistema para la realización de ataques de red contra los servicios web. Se centra en los ataques de compresión, pero proporciona un sistema escalable generalizado para realizar cualquier ataque a los servicios web que requieren un canal persistente de comando y control, así como la adaptación de ataque. Rupture es conveniente para cualquier ataque de plaintext elegido sobre la red. Rupture fue diseñado para llevar al cabo el ataque de los medios disponibles. Los investigadores de auditoría de base de datos, pasan mucho tiempo en la construcción de las implementaciones de prueba de concepto de violación e invertimos mucho tiempo para montar ataques contra los puntos extremos específicos. Se necesita mucho esfuerzo llevar a cabo un ataque de este tipo sin las herramientas adecuadas. Así, con rupture, el objetivo es hacer más fácil el montaje de este tipo de ataques y proporcionar razonables pre configurados por defecto, objetivos y estrategias de ataque que se pueden usar en la práctica o modificarse para adaptarse a la necesidad de nuevos ataques. El sistema está diseñado específicamente para permitir más investigaciones tanto en el lado práctico y teórico por parte de consultores de auditoría de base de datos y empresa de seguridad de la información. En el aspecto práctico, el monitoreo de la red y componentes de inyección son modulares y reemplazables. En el aspecto teórico, el análisis y el núcleo de la estrategia son independientes de los medios de recogida de datos, permitiendo a los criptógrafos teóricos verificar o rechazar la hipótesis de los análisis estadísticos.

Injector

El componente del inyector es responsable de la inserción de código al ordenador de la víctima para su ejecución. Acuerdo con los expertos de empresa de seguridad de la información, puede utilizar Bettercap para llevar a cabo la inyección de HTTP. La inyección se realiza mediante ARP spoofing de la red local y envía todo el tráfico en el modo man-in-the-middle. Se trata simplemente de una serie de códigos shell que utilizan los módulos bettercap adecuados para llevar a cabo el ataque. Puesto que todas las respuestas HTTP están infectadas, esto proporciona que se tome mayor solidez. Como el componente del inyector necesita a funcionarse en una red víctima entonces es ligero y sin estado. Según experiencia de consultores de auditoría de base de datos, puede ser fácilmente implementado en una máquina tal como una raspberry pi, y se puede utilizar para ataques masivos. Múltiples inyectores se pueden implementar en diferentes redes, todos controlados por el mismo canal de comando y control central.

 

Rapture
Rapture

Client

El cliente contiene lógica mínima. Se conecta con el servicio en tiempo real a través de un canal de comando y control y se registra allí. Posteriormente, se espera por instrucciones de trabajo por parte del canal de control y comando, que lo ejecuta. El cliente no toma ninguna decisión ni recibe datos sobre el progreso del ataque además del trabajo que pide que hacer. Esto es intencional para ocultar el funcionamiento de los mecanismos de análisis del adversario desde la víctima en caso de que la víctima intente hacer la ingeniería inversa de que el adversario está haciendo. Además, permite que el sistema se pueda actualizar sin tener que desplegar un nuevo cliente en la red de la víctima, lo cual puede ser un proceso difícil.

Como un usuario normal que está navegando por Internet, varios clientes se inyectarán en páginas inseguras y que se ejecutarán en diversos contextos. Todos ellos se registraran y mantendrán una conexión abierta a través de un canal de comando y control con el servicio en tiempo real. El servicio en tiempo real permitirá a uno de ellos por esta víctima, mientras que los demás se mantienen en estado latente. Entonces el único habilitado recibirá instrucciones de trabajo para ejecutar las solicitudes requeridas. Jorge Rios,  un investigador de auditoría de base de datos menciona que si el cliente activado muere por cualquier razón, tal como una pestaña cerrada, uno del resto de los clientes se despierta para asumir el control del ataque.

 

Real-time

El servicio en tiempo real es un servicio que espera por las solicitudes de trabajo por parte los clientes. Puede manejar múltiples objetivos y las víctimas. Recibe las conexiones de comando y control de varios clientes que pueden vivir en diferentes redes, se organizan, y se les dice cuáles van a permanecer en estado latente y cuáles van a recibir el trabajo, lo que permite un cliente por víctima.

Acuerdo con los expertos de empresa de seguridad de la información, el servicio en tiempo real se desarrolla en Node.js. Esto mantiene las conexiones socket-web de comando y control abierta con los clientes y se conecta al servicio de backend, lo que facilita la comunicación entre los dos.

 

Sniffer

El componente sniffer se encarga de recoger los datos directamente de la red de la víctima. A medida que el cliente pública las solicitudes plaintext, el sniffer recoge las respectivas solicitudes de texto cifrado y las respuestas del texto cifrado a medida que viajan en la red. Estos datos cifrados se transmiten a continuación al programa de fondo para su posterior análisis y descifrar. La aplicación sniffer se ejecuta en la misma red que la víctima.Jorge Rios,  un investigador de auditoría de base de datos menciona que es un programa de Python que utiliza un scapy para recoger datos de la red. El sniffer expone una HTTP API que es utilizada por el backend para controlar el inicio del monitoreo, cuando este es completado, y para recuperar los datos que se interceptaron.

Aquí está el vídeo de expertos de  seguridad de la información que muestra cómo hacer un ataque basados en la compresión con RUPTURE