Blog
dark mode light mode Search Archivos descargables
Search

Insecure communications: Hackeando un robot por falta de cifrado

Insecure communications Hackeando un robot por falta de cifrado
Insecure communications Hackeando un robot por falta de cifrado

¿Qué pasaría si alguien pudiera interceptar cualquier tipo de comunicación y leyera todo lo que estás enviando a través de internet? En el mundo digital, es posible que esto sucede cuando las comunicaciones no están cifradas: cualquier persona con la habilidad adecuada puede “leer” lo que no está protegido.

Así es como funciona la vulnerabilidad denominada como comunicaciones no cifradas (Insecure Communications): la información circula por la red sin ningún tipo de protección, expuesta, donde la información podría ser capturada, alterada o incluso utilizada de forma maliciosa.

En este artículo, exploraremos cómo logramos explotar la vulnerabilidad comunicaciones no cifradas la cual se originó debido al uso de protocolos que envían información en texto claro, posteriormente derivando en la manipulación de un robot ¡Sí! Tuvimos control total de un robot.

Accediendo a la Red Interna

Como contexto, y como caso de post-explotación, todo el escenario es abordado desde la red interna del cliente.

Primeramente, nos conectamos a la red inalámbrica interna usando las credenciales proporcionadas por el proveedor.

Escaneo de Red con Nmap

Una vez nos hemos conectado a la red interna,  la etapa principal de un atacante es el reconocimiento del entorno por lo que, realizamos un escaneo de las IPs presentes usando la herramienta por excelencia para este escenario, Nmap.

Escaneo con Nmap
Escaneo con Nmap

Tras el escaneo, identificamos las siguientes IPs.

  • 192.168.1.1: Router.
  • 192.168.1.2-5: Correspondiente al robot.
  • 192.168.1.130: Operador del robot.
  • 192.168.1.157: Atacante.

Ataque a la Red: ARP Spoofing

Posteriormente decidimos realizar un ataque denominado como ARP Spoofing. El ARP Spoofing consiste en enviar respuestas ARP falsas a los dispositivos de la red, asociando su propia dirección MAC con la dirección IP de otro dispositivo legítimo.

De este modo, nosotros como atacantes podríamos analizar, modificar o redirigir el tráfico de los dispositivos afectados: haciéndole creer a los dispositivos que sus direcciones MAC son la dirección por defecto del Gateway.

Para llevar a cabo este ataque, usamos la herramienta Ettercap.

ARP Spoofing con Ettercap
ARP Spoofing con Ettercap

Interceptación del Tráfico con Wireshark

Como se puede observar, se establece las indicaciones para interceptar todo el tráfico entre las IPs del robot 192.168.1.1-5 y las del operador 192.168.1.130

Una vez se ha comenzado a interceptar el tráfico, lo analizamos usando la herramienta Wireshark para tener un mejor panorama de la información intervenida. En este caso se ha filtrado por el protocolo HTTP:

Análisis de tráfico HTTP con Wireshark
Análisis de tráfico HTTP con Wireshark

En esta imagen, podemos ver la conexión HTTP entre el operador (192.168.1.130) y el robot (192.168.1.2).

Manipulación del Robot

Para interceptar y analizar el comportamiento de estas solicitudes a través del protocolo HTTP en los puertos 8000 y 9090, procedimos a crear las siguientes reglas de IPTables en la máquina atacante:

# iptables -t nat -A PREROUTING -p tcp --destination-port 8000 -j REDIRECT --to-port 8080
# iptables -t nat -A PREROUTING -p tcp --destination-port 9090 -j REDIRECT --to-port 8080

Luego configuramos el proxy de la herramienta Burp Suite para interceptar las solicitudes HTTP.

Configuración del proxy de Burp Suite.
Configuración del proxy de Burp Suite.

En este punto, ya es posible obtener información del tráfico  para  examinar todas las solicitudes HTTP realizadas por el operador.

Tráfico HTTP desde Burp Suite
Tráfico HTTP desde Burp Suite

También fue posible observar la comunicación realizada a través de WebSockets

A través de este análisis, logramos identificar una solicitud clave que permitía mover al robot. El mensaje WebSocket interceptado fue:

{"op":"p","id":"p:/vel:63","topic":"/vel","m":{"linear":{"x":-0.4814666666666666,"y":0,"z":0},"angular":{"x":0,"y":0,"z":0}},"latch":false}

Esta acción también podemos evidenciar a continuación:

Tráfico a través de WebSockets desde Burp Suite.
Tráfico a través de WebSockets desde Burp Suite.


A partir de aquí era cuestión de manipular las acciones que queramos: moverlo de izquierda a derecha, de atrás para adelante, hacer que gire, cambiar la velocidad, etc. 

Remediación: Cómo Protegerse de Insecure Communications

Para proteger los dispositivos contra vulnerabilidades como la descrita, es crucial implementar medidas de seguridad adecuadas, como el uso de protocolos de cifrado como SSL/TLS. Estos protocolos aseguran que toda la información transmitida entre dispositivos esté cifrada, lo que impide que los atacantes puedan interpretarlas o alterarlas.

Además, es fundamental aplicar el mecanismo HTTP Strict Transport Security (HSTS), que obliga a los navegadores a utilizar siempre conexiones HTTPS seguras. Al implementar HSTS, se minimiza el riesgo de que los usuarios accedan a versiones no seguras de tu sitio web o aplicación.

Conclusión

En un mundo donde los ciberataques están a la orden del día, la seguridad de las comunicaciones internas no es opcional. Este caso demuestra cómo la falta de cifrado en una red interna permitió la manipulación total de un robot, poniendo en evidencia los riesgos de dejar información expuesta sin protección.

Muchos creen que, si un sistema no es accesible desde internet, no es vulnerable. Sin embargo, este escenario prueba que una mala configuración y la ausencia de buenas prácticas de seguridad pueden facilitar ataques que comprometen dispositivos críticos.

¿Cómo evitarlo?

Este tipo de vulnerabilidades pueden y deben ser detectadas antes de que un atacante real las aproveche. La mejor manera de hacerlo es a través de pruebas de ethical hacking o pentesting, donde especialistas simulan ataques controlados para identificar fallos de seguridad y proponer soluciones antes de que sean explotadas.

Algunas medidas clave para mitigar este tipo de riesgos incluyen:

  • Cifrar las comunicaciones con SSL/TLS para evitar la interceptación de datos.
  • Implementar segmentación de red y autenticación robusta para limitar accesos no autorizados.
  • Configurar HSTS para forzar conexiones HTTPS seguras.
  • Realizar pruebas de pentesting de manera periódica para detectar y corregir fallos de seguridad antes de que puedan ser explotados.

Si la empresa no toma medidas preventivas, alguien más lo hará, pero con intenciones maliciosas. La seguridad no es un lujo, es una necesidad. En Hackmetrix, te ayudamos a fortalecer tu seguridad con pruebas de ethical hacking y pentesting, para que encuentres y soluciones vulnerabilidades antes de que lo hagan los atacantes.

Hacer ethical hacking
pentesting

Escrito por: Juan David Fernández 

Appsec Engineer en Hackmetrix

Otras vulnerabilidades que te gustaría conocer y prevenir: