03.03.2015 | 14:28

Adam Haertle

Zdalne wykonywanie kodu na wielu modelach ruterów D-Linka

W tym tygodniu nie pisaliśmy jeszcze o błędach w domowych ruterach, a to już wtorek, więc czas nadrobić zaległości. Tym razem mamy dla Was trywialne wstrzykiwanie poleceń w licznych modelach ruterów D-Linka oraz TRENDnetu.

Zanim ruszycie do Shodana szukać obiektów do testów spieszymy poinformować, że interfejs administracyjny w większości opisywanych poniżej modeli jest domyślnie niedostępny z sieci publicznej. Nie eliminuje to oczywiście możliwości ataku – dostęp można włączyć lub wystarczy błąd typu CSRF. Przejdźmy jednak do rzeczy.

Ping jako uniwersalne narzędzie do wstrzykiwania poleceń

Błąd, odkryty niezależnie przez dwóch badaczy, leży w wielokrotnie już atakowanym poleceniu ping. Nie wiemy czemu, ale najwyraźniej zablokowanie możliwości wstrzykiwania dowolnych poleceń wraz z prostym pingiem leży poza zakresem możliwości większości programistów tworzących rozwiązania dla domowych urządzeń sieciowych. Tym razem trzeba oddać minimum honoru programiście – polecenie ping w wersji IPv4 nie jest podatne. Co innego jednak w przypadku wersji IPv6 – tu już wyobraźni komuś zabrakło. Polecenie

curl \
 -i http://192.168.0.1/ping.ccp \
 --data 'ccp_act=ping_v6&ping_addr=$(telnetd -l /bin/sh)'

daje dostęp do powłoki systemowej. Oczywiście usługa ncc/ncc2 odpowiedzialna za polecenie ping działa z uprawnieniami roota, co oszczędza szukania kolejnego błędu w celu podniesienia uprawnień. Oczywiście skrypt ping.ccp dostępny jest bez potrzeby uwierzytelnienia, bo czemu pytać kogoś o hasło, skoro chce tylko wysłać pakiet ICMP. Czy to na pewno już rok 2015?

D-Link 810L

D-Link 810L

Więcej atrakcji

Choć powyżej opisany błąd jest najpoważniejszy, to nie jest jedyny. Dzięki skryptowi fwupgrade.ccp możemy bez uwierzytelnienia wgrać dowolny plik do katalogu /var/tmp. Co prawda brak uprawnień przekieruje nas do formularza logowania, ale plik i tak zostanie wgrany. Z kolei w /var/tmp znajdziemy na przykład konfigurację serwerów DNS, dzięki czemu możemy ją łatwo podmienić w taki oto sposób:

echo 'nameserver 8.8.8.8' > resolv.conf

curl \
 -i http://192.168.0.1/fwupgrade.ccp \
 -F action=fwupgrade \
 -F filename=resolv.conf \
 -F [email protected]

Do tego możemy jeszcze dołożyć całą garść funkcji diagnostycznych, które także umożliwiają przejęcie kontroli nad urządzeniem i które po prostu ktoś zapomniał usunąć. Szczegóły znajdziecie w oryginalnym raporcie.

Podatne modele

Autor odkrycia potwierdził istnienie powyżej opisanych podatności w następujących modelach:

  • D-Link DIR-626L (Rev A) – v1.04b04
  • D-Link DIR-636L (Rev A) – v1.04
  • D-Link DIR-808L (Rev A) – v1.03b05
  • D-Link DIR-810L (Rev A) – v1.01b04
  • D-Link DIR-810L (Rev B) – v2.02b01
  • D-Link DIR-820L (Rev A) – v1.02B10
  • D-Link DIR-820L (Rev A) – v1.05B03
  • D-Link DIR-820L (Rev B) – v2.01b02
  • D-Link DIR-826L (Rev A) – v1.00b23
  • D-Link DIR-830L (Rev A) – v1.00b07
  • D-Link DIR-836L (Rev A) – v1.01b03
  • TRENDnet TEW-731BR (Rev 2) – v2.01b01

Prawdopodobnie – bo na podstawie obrazów z oprogramowaniem – podatność może znajdowac się także w następujących modelach:

  • DIR-651A2 – v1.10NAb02
  • DIR-808LA1 – v1.03b05
  • DIR-810LA1 – v1.01b04
  • DIR-820LA1 – v1.02b10
  • DIR-826LA1 – v1.02b26
  • DIR-830LA1 – v1.00b07
  • DIR-836LA1 – v1.01b03
  • TEW-731BRV2 – v2.00b08
  • TEW-711BRV1 – v1.00b31
  • TEW-810DRV1 – v1.00b19 
  • TEW-813DRUV1 – v1.00b23

Powoli pojawiają się aktualizacje oprogramowania, jednak nie są jeszcze dostępne dla wszystkich modeli. Zalecamy zatem instalacje alternatywnego oprogramowania tam, gdzie to tylko możliwe.

Powrót

Komentarze

  • 2015.03.03 18:47 krowasc

    Pierwsze zdanie najlepsze w całym artykule.

    Odpowiedz
    • 2015.03.03 23:33 DOgi

      Jakby się komuś nie chciało scrollować ;d to zdanie to:
      „W tym tygodniu nie pisaliśmy jeszcze o błędach w domowych ruterach, a to już wtorek, więc czas nadrobić zaległości.”

      Odpowiedz
      • 2015.03.04 22:11 steppe

        Przypomina mi to, że dawno, dawno temu była taka strona: Dziura Tygodnia. Dotyczyła systemu HP-UX ;)

        Odpowiedz

Zostaw odpowiedź do steppe

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Zdalne wykonywanie kodu na wielu modelach ruterów D-Linka

Komentarze