En primer lugar, presentarnos. Somos el grupo de investigadores de la Universidad Europea de Madrid (Jose Antonio Rodríguez García, Álvaro Folgado Rueda e Iván Sanz de Castro), que recientemente ha revelado 62 vulnerabilidades que afectan a 22 routers diferentes, la mayoría de ellos ampliamente extendidos en España.
El tutor del proyecto es uno de los editores de este blog: Alejandro Ramos.
Desde
el Máster en Seguridad de las TICs impartido en la Universidad Europea
de Madrid, nos hemos embarcado en este proyecto, a nuestro juicio muy
interesante: auditar uno de los dispositivos de red típicos en todos los hogares, el router.
El objetivo de
la investigación que hemos realizado, es evaluar el estado actual de la
seguridad en routers domésticos, desarrollar una metodología de
auditoría que facilite la tarea a investigadores futuros, y reportar las
vulnerabilidades a los fabricantes y entidades competentes, para que
los problemas de seguridad encontrados se solucionen en el menor tiempo
posible.
En esta breve
entrada, vamos a definir los problemas de seguridad encontrados,
plantear PoCs de dos de las vulnerabilidades, y exponer los resultados
obtenidos.
Deficiencias de seguridad
A continuación,
vamos a exponer brevemente las deficiencias de seguridad más comunes
que hemos hallado a lo largo del proceso de auditoría. Esto nos
permitirá entender el impacto y vector de explotación de cada una de las
vulnerabilidades, aplicado a los routers domésticos:
- Persistent Cross Site Scripting. Permite
a un atacante inyectar código malicioso en la interfaz web de
configuración del dispositivo. El código malicioso puede tener como
objetivo secuestrar la sesión del usuario o infectar el navegador de la
víctima, entre otras muchas cosas. El ataque se puede realizar en
remoto, mediante el envío de un enlace malicioso a la víctima, o en
local, si el usuario no ha cambiado las credenciales por defecto.
- Unauthenticated Cross Site Scripting. En
este caso, la inyección de código se realiza en local, pero sin
necesidad de autenticación, mediante el envío de una trama DHCP Request,
en la cual el parámetro hostname contiene el script malicioso a
inyectar. Para facilitar el ataque, hemos desarrollado un script en Perl
que manda una trama personalizada, pero es posible hacerlo mediante la
modificación del fichero /etc/hostname en el equipo atacante conectado a la red.
- Cross Site Request Forgery. Mediante
el envío de un enlace específico o si la víctima accede a una página
web maliciosa, un atacante puede modificar cualquier parámetro de
configuración del router.
![](http://4.bp.blogspot.com/-EsvZSuUmmj4/VW9K7Gr7mcI/AAAAAAAAAO4/UB5OyHP7K0I/s640/csrf.bmp) |
Enlaces maliciosos destinados a modificar el DNS en Observa Telecom AW4062 |
- Privilege Escalation. Un
usuario sin privilegios de administración puede escalar a superusuario y
realizar cualquier cambio en la configuración del dispositivo.
- Information Disclosure. Un
atacante, sin necesidad de un proceso de autenticación previo, puede
obtener información crítica del dispositivo, como por ejemplo: la
contraseña de la red inalámbrica, un listado de clientes conectados, y
otros parámetros de configuración clave. Para descubrir este tipo de
vulnerabilidades, es fundamental tener acceso al sistema de ficheros del
router, siendo lo más efectivo montar su firmware.
- Backdoor. Existen
usuarios ocultos con privilegios de administrador, de los cuales el
usuario final no tiene constancia, y que podrían permitir a un atacante
acceder y modificar la configuración del dispositivo con facilidad.
- Bypass Authentication. Un
atacante puede configurar parámetros críticos del dispositivo, sin
necesidad de autenticarse, como por ejemplo: modificar los servidores
DNS, devolver el dispositivo a ajustes de fábrica, reiniciar el router
en bucle generando una denegación de servicio persistente, e incluso
tener acceso a todos los parámetros de configuración.
- Bypass Authentication using SMB Symlinks. Un
atacante sin autenticar puede acceder al sistema de ficheros completo
del router a través de un enlace simbólico en el servidor de SMB
integrado, obtener las credenciales de todos los usuarios, y realizar
cualquier cambio en la configuración.
- USB Device Bypass Authentication. En
caso de que exista un dispositivo de almacenamiento USB conectado al
router, un atacante sin autenticar puede acceder, añadir, modificar y
eliminar, todos los ficheros del mismo.
Universal Plug and Play. Un atacante puede aprovechar debilidades inherentes a este protocolo y realizar diversos ataques, tanto local como remotamente,
sin necesidad de un proceso de autenticación previo. Por ejemplo,
cambiar las reglas del firewall para facilitar la explotación de otras
vulnerabilidades en remoto, o realizar una denegación de servicio
persistente. La figura inferior muestra la explotación de esta vulnerabilidad de manera remota.
![](http://3.bp.blogspot.com/-KsY7QLubpVQ/VW5zIJJdBoI/AAAAAAAAANs/BbiFefNA8m0/s400/PaperUPnPBold.png) |
Esquema de explotación remota de una vulnerabilidad UPnP |
Resultados
Tras varios meses de investigación, se descubrieron más de 60 vulnerabilidades, que afectan a 22 modelos diferentes. En la figura inferior se observa el número de dispositivos y vulnerabilidades que afectan a cada fabricante.
![](http://4.bp.blogspot.com/-NZ8LXUbj80I/VW53NBHgugI/AAAAAAAAAOc/HpT0XDchwa0/s640/fabs.png) |
Vulnerabilidades por fabricante |
En la siguiente
tabla, se puede apreciar un completo listado de los dispositivos
analizados, así como de las vulnerabilidades que afectan a los mismos.
![](http://1.bp.blogspot.com/--su-kGM6kNM/VXDOgsT4doI/AAAAAAAAKc4/5IS7hp5o9yc/s640/imagen.png) |
Tabla de vulnerabilidades |
Cabe resaltar,
que si un router no aparece en el listado anterior, no significa que no
sea vulnerable, si no que no ha sido auditado.
Proof of Concepts
Durante la
investigación, se han desarrollado pruebas de concepto para cada una de
las vulnerabilidades encontradas. Seguidamente, se detallan dos de
ellas.
Information Disclosure en Observa BHS-RTA
Un atacante sin autenticar, puede obtener información crítica del dispositivo accediendo a determinadas URLs.
Por ejemplo,
para obtener información sobre los parámetros de conexión inalámbrica
del dispositivo, incluida la clave de la red inalámbrica, solo es
necesario acceder a la siguiente URL:
http://<Router
IP>/cgi-bin/webproc?getpage=html/gui/APIS/returnWifiJSON.txt&var:page=returnWifiJSON.txt&_=1430086147101
{
"RETURN":{ "success": true }, "WIFI": { "status":"1",
"ssidName":"Amelia", "ssidVisibility":"1", "channelMode":"MANUAL",
"channel":"4", "SECURITY":{ "cipherAlgorithm": "WPA" , "algVersion":
"WPA1" , "passwordWEP":"12345", "passwordWPA":"GUSS1986",
"passwordWPA2":"GUSS1986", "passwordAUTO":"GUSS1986" } }, "DHCP": {
"status":"1", "poolStart":"192.168.1.33", "poolEnd":"192.168.1.254" },
"LAN": { "ip": "192.168.1.1" , "mask": "255.255.255.0",
"ipLeafPath":"InternetGatewayDevice.LANDevice.1.LANHostConfigManagement.IPInterface.1.IPInterfaceIPAddress"
}, "DNS": { "dns":"80.58.61.250,80.58.61.254" }, "IPV6": { "ipv6":
"fe80::e6c1:46ff:fee6:3818", "globalipv6": "", "prefixLen": "64",
"interface": "", "mode": "1", "minID": "33", "maxID": "254" }, "PREFIX":
[ { "prefix": "/", "name": "PVC:8/36" } , { "prefix": "", "name":
"PVC:8/32" } , { "prefix": "", "name": "pppo3g" } ] }
Para obtener
información acerca de los clientes conectados, incluyendo sus
direcciones MAC e IP, solo es necesario acceder a la siguiente URL:
http://Router
IP/cgi-bin/webproc?getpage=html/gui/APIS/returnDevicesJSON.txt&var:page=returnDevicesJSON.txt&_=1430086147101
{
"RETURN":{ "success":true }, "DEVICES":[ { "idDevice": "1",
"nameDevice": "192.168.1.33", "idIcon": "DesktopComputer_1",
"interfaceType": "Ethernet", "type": "Unknown", "ipAddress":
"192.168.1.33", "macAddress": "MAC eliminada por razones de seguridad",
"connected": true, "unknown": false, "blacklisted": false } , {
"idDevice": "2", "nameDevice": "192.168.1.39", "idIcon":
"DesktopComputer_1", "interfaceType": "WiFi", "type": "Unknown",
"ipAddress": "192.168.1.39", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "3", "nameDevice": "192.168.1.35", "idIcon":
"DesktopComputer_1", "interfaceType": "802.11", "type": "Unknown",
"ipAddress": "192.168.1.35", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "4", "nameDevice": "192.168.1.36", "idIcon":
"DesktopComputer_1", "interfaceType": "802.11", "type": "Unknown",
"ipAddress": "192.168.1.36", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "5", "nameDevice": "192.168.1.37", "idIcon":
"DesktopComputer_1", "interfaceType": "WiFi", "type": "Unknown",
"ipAddress": "192.168.1.37", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "6", "nameDevice": "192.168.1.38", "idIcon":
"DesktopComputer_1", "interfaceType": "802.11", "type": "Unknown",
"ipAddress": "192.168.1.38", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "7", "nameDevice": "192.168.1.34", "idIcon":
"DesktopComputer_1", "interfaceType": "802.11", "type": "Unknown",
"ipAddress": "192.168.1.34", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "8", "nameDevice": "192.168.1.40", "idIcon":
"DesktopComputer_1", "interfaceType": "WiFi", "type": "Unknown",
"ipAddress": "192.168.1.40", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "9", "nameDevice": "192.168.1.34", "idIcon":
"DesktopComputer_1", "interfaceType": "WiFi", "type": "Unknown",
"ipAddress": "192.168.1.34", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
, { "idDevice": "10", "nameDevice": "192.168.1.33", "idIcon":
"DesktopComputer_1", "interfaceType": "802.11", "type": "Unknown",
"ipAddress": "192.168.1.33", "macAddress": "MAC eliminada por razones de
seguridad", "connected": false, "unknown": false, "blacklisted": false }
] }
Para obtener información sobre los parámetros de conexión a Internet del dispositivo, puede accederse a:
http://Router
IP;/cgi-bin/webproc?getpage=html/gui/APIS/returnInternetJSON.txt&var:page=returnInternetJSON.txt&_=1430086980134
{
"RETURN":{ "success":true }, "INTERNET": { "physicalStatus": "down",
"rateDown": "6,3Mb", "rateUp": "309Kb", "maxRateDown": 0, "maxRateUp":
0, "wanType": "DSL", "PPP": { "type": "PPPoE", "name": "PVC:8/32",
"username": "adslppp@telefonicanetpa", "password": "adslppp", "ip" : "",
"gw" : "", "mask" : "", "pppPath":
"InternetGatewayDevice.WANDevice.1.WANConnectionDevice.2.WANPPPConnection.1."
} } }
Para saber si la contraseña del router es la que viene por defecto o ha sido cambiada, tan solo hay que acceder a:
http://Router
IP/cgi-bin/webproc?getpage=html/gui/APIS/returnPasswordJSON.txt&var:page=returnPasswordJSON.txt&_=1430086980134
{ "RETURN":{ "success": true }, "PASSWORD":{ "isDefault": true } }
Bypass Authentication mediante Symlinks de SMB en Observa Telecom VH4032N
Un atacante sin autenticar puede obtener todo el sistema de ficheros del router tras conectarse al servidor SMB del mismo.
En primer
lugar, se listan los servicios disponibles en el servidor de Samba
hospedado por el router, observándose que el servicio storage está compartido y disponible.
![](http://2.bp.blogspot.com/-kaUIu6t8gdg/VW51jU3FVQI/AAAAAAAAAN8/y5n29Sz95xA/s640/smb1.bmp) |
Listado de servicios disponibles en SMB |
Posteriormente, se realiza la conexión al servicio storage. Una vez establecida la misma, pueden listarse los ficheros disponibles.
![](http://1.bp.blogspot.com/-mQ1-Klt175o/VW51jO9ynpI/AAAAAAAAAOI/L8D57hhJJBU/s640/smb2.bmp) |
Acceso al servicio storage |
Debido a una
mala configuración del servidor de SMB, es posible realizar enlaces
simbólicos al sistema de ficheros del router, acceder a ellos y
descargar su contenido.
![](http://2.bp.blogspot.com/-4OAEwYYWzyE/VW51jEhmmzI/AAAAAAAAAN4/urE5szDNK9g/s640/smb3.bmp) |
Realización del enlace simbólico al directorio / |
Se puede
navegar libremente por el mismo, teniendo acceso a todos los archivos de
configuración del router y las credenciales de los usuarios.
![](http://3.bp.blogspot.com/-Yu3sH9UGApM/VW51l3ebpBI/AAAAAAAAAOQ/cun0ZeuciuM/s640/smb4.bmp) |
Navegación libre por el sistema de ficheros |
Conclusiones
La auditoría
realizada a los routers domésticos evidencia graves problemas de
seguridad. Estas deficiencias pueden ser fácilmente explotables por
ciberdelincuentes o a menor escala, por algún graciosete. Por ello,
tanto fabricantes como compañías de comunicaciones han de trabajar
conjuntamente para corregir los problemas de seguridad actuales y
diseñar dispositivos más seguros.
Además, la
mayoría de los routers afectados son muy utilizados en España, puesto
que son regalados por los ISPs a sus consumidores. Esto ha llevado a
varios medios españoles a hacerse eco de los problemas de seguridad
encontrados.
Si queréis
obtener más información acerca de las vulnerabilidades, en los reportes a
Full Disclosure y PacketStorm, podéis encontrar más información.
Enlaces de interés:
Contribución escrita por los autores: Jose Antonio Rodríguez García Álvaro Folgado Rueda Iván Sanz de Castro |