Żądny wiedzy? Wbijaj na Mega Sekurak Hacking Party w maju! -30% z kodem: majearly

Uwaga na poważną lukę – preauth RCE na urządzeniach Zyxela

30 stycznia 2024, 10:44 | W biegu | komentarze 3

Fizyczne rozwiązania bezpieczeństwa takie jak np. VPNy i Firewalle to łakomy kąsek dla atakujących, w tym grup ransomware czy APT. Dlatego oprogramowanie na takie urządzenia to bardzo wdzięczny temat do researchu pod kątem bezpieczeństwa. 

Na blogu SSD Secure Disclosure pojawiło się podsumowanie opisujące (załataną już) podatność zdalnego wykonania kodu przez nieuwierzytelnionego użytkownika na urządzeniach Zyxel VPN firewall (modele VPN50, VPN100, VPN300, VPN500, VPN1000) z firmware w wersjach od 5.21 do 5.36. Autorzy przedstawili krok po kroku proces inżynierii wstecznej i szukania podatnego fragmentu kodu, co może stanowić dobrą inspirację dla młodych adeptów sztuki szukania podatności

Eksploitację podatności umożliwia niezbyt restrykcyjna polityka dostępu do niektórych endpointów w webowym panelu służącym zarządzania urządzeniem. 

AuthZyxelSkipPattern [...] /ztp/cgi-bin/ztp_reg.py /ztp/cgi-bin/checkdata.py /ztp/cgi-bin/parse_config.py [...]

Ponieważ skrypt parse_config.py umożliwia między innymi zapisanie wartości do ztpconf.conf, to nieuwierzytelniony użytkownik jest w stanie modyfikować konfigurację urządzenia. Sam gadżet pozwalający na zapisywanie dowolnych danych nie był jednak wystarczający do uruchomienia polecenia na atakowanym systemie. 

Badacze przeszukali firmware urządzenia pod kątem znanych funkcji wywołujących polecenia powłoki użytkownika. Większość wywołań była zabezpieczona filtrowaniem weryfikującym format danych wejściowych. Analiza przepływu informacji w oprogramowaniu pozwoliła na ustalenie miejsca, które wykorzystuje wywołanie funkcji system(). Komenda wywoływana w procesie sdwan_interface składa się z niefiltrowanych ciągów znaków, a parametry wywołania są modyfikowalne przez użytkownika za pomocą wcześniej znalezionego gadżetu. 

Proces sdwan_interface komunikuje się z wcześniej opisanym skryptem wykorzystując znany mechanizm komunikacji międzyprocesowej IPC (Inter-Process Communication). Otrzymane w ten sposób dane są następnie wykorzystywane w poleceniu ip addr add

Wstrzyknięta komenda jest ograniczona do długości 0x14 (w zapisie dziesiętnym 20) bajtów co utrudnia eksploitację. Ale badacze znaleźli jeszcze trzeci podatny komponent – handle_vti, który pozwala na zapis dowolnych danych do pliku o rozszerzeniu .qsr. Stąd droga do zdalnego wykonania dowolnej komendy jest już prosta. Przy pomocy gadżetu zapisu w handle_vti tworzony jest skrypt powłoki zawierający dłuższy payload (np. połączenie zwrotne – tzw. reverse shell), następnie modyfikacji pliku konfiguracyjnego w taki sposób, aby wstrzyknąć polecenie wykonujące wcześniej zapisany skrypt.  

Bonusowo proces wywołujący polecenie system() działa z uprawnieniami roota, więc nie ma potrzeby szukania wektora na podniesienie uprawnień.

Badacze w swoim poście opublikowali PoC, który wykorzystuje opisaną wyżej technikę do przejęcia urządzenia. 

Administratorom oraz użytkownikom zalecamy aktualizację, ponieważ podatność ma potencjał na bycie wykorzystywaną przez grupy przestępców (w tym w formie zautomatyzowanej). Warto zauważyć, że to nie pierwsza podatność unauth RCE w urządzeniach Zyxela w ostatnim czasie

~fc

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. skirge

    Profesorze Miodek – Unauth czy PreAuth?

    Odpowiedz
    • pan Bralczyk powie tak, pan Miodek wyrazi odmienne zdanie :-)

      Odpowiedz
  2. Iwan znany polski chaker

    Niezly fikolek te firewalle i vpny sprzetowe. Wprowadzaja wiecej problemow niz bez ich stosowania. Owszem sa wygodne ale najbardziej mnie smiesza korpo admini klikacze co to sie nasmiewaja z czystego OpenVPN-a, IPSeca czy wrecz WireGuarda, ktory po wyjeciu z pudelka „nie umie” w LDAP-a czy AD i ze to takie nie kul i nie trendi. Potem przychodzi moment, ze te wielkie korpo w ktorych oni podaja sie za adminow od roku np maja w sieci intruza bo sprzetowe IDSy IPSy VPNy Firewalle z softem made in India maja wiecej bugow niz Windows XP bez SP hehehehehe.

    Odpowiedz

Odpowiedz