Równo tydzień temu pisaliśmy o technice ataku „Living off the VPN”, zagrażającej serwerom VPN w firmach i organizacjach na całym świecie. W dzisiejszym poście opisujemy dwie nowe groźne podatności w klientach VPN od Palo Alto Networks (CVE-2024-5921) i SonicWall (CVE-2024-29014), które mogą zostać wykorzystane do zdalnego wykonania kodu na urządzeniach użytkowników (LPE) i zdobycia poświadczeń SYSTEM.
Szczegóły podatności w Palo Alto Networks – CVE-2024-5921
CVE-2024-5921 dotyczy różnych wersji aplikacji GlobalProtect Palo Alto w systemach Windows, macOS i Linux i wynika z niewystarczającej walidacji certyfikacji.
Luka umożliwia atakującym łączenie aplikacji GlobalProtect z dowolnymi serwerami. Może to skutkować zainstalowaniem przez hakerów najpierw złośliwych certyfikatów głównych na punkcie końcowym, a następnie złośliwego oprogramowania podpisanego tymi certyfikatami.
Zarówno wersje klienta VPN GlobalProtect dla systemów Windows, jak i macOS są podatne na zdalne wykonywanie kodu (RCE) i eskalację uprawnień za pośrednictwem mechanizmu automatycznej aktualizacji. Podczas gdy proces aktualizacji wymaga podpisania plików MSI, atakujący mogą wykorzystać usługę PanGPS do zainstalowania złośliwie zaufanego certyfikatu głównego, umożliwiając RCE i eskalację uprawnień. Aktualizacje są wykonywane z poziomem uprawnień komponentu usługi (SYSTEM w systemie Windows i root w systemie macOS.
Problem polega na tym, że domyślnie użytkownicy mogą określić dowolne punkty końcowe w komponencie interfejsu użytkownika klienta VPN (PanGPA). To zachowanie może być wykorzystywane w atakach socjotechnicznych, w których atakujący oszukują użytkowników, aby połączyli się z nieuczciwymi serwerami VPN. Te serwery mogą przechwytywać dane logowania i naruszać systemy za pomocą złośliwych aktualizacji klienta.
Demo CVE-2024-5921 na Windows
Demo CVE-2024-5921 na MacOs
Szczegóły podatności w SonicWall – CVE-2024-29014
CVE-2024-29014 dotyczy klienta NetExtender VPN firmy SonicWall w wersjach 10.2.339 i starszych dla systemu Windows. Luka ta umożliwia atakującym wykonywanie kodu z uprawnieniami SYSTEM podczas przetwarzania aktualizacji klienta End Point Control (EPC), a jej przyczyną jest niewystarczająca walidacja podpisu.
Wykorzystanie tej luki może wystąpić w kilku scenariuszach. Na przykład użytkownik może zostać zmanipulowany, aby połączył swojego klienta NetExtender ze złośliwym serwerem VPN i zainstalował fałszywą (złośliwą) aktualizację klienta EPC.
„Gdy zainstalowany jest agent SMA Connect, atakujący mogą wykorzystać niestandardowy program obsługi URI, aby nakłonić klienta NetExtender do połączenia się z ich serwerem. Użytkownicy muszą jedynie odwiedzić złośliwą stronę internetową i zaakceptować monit przeglądarki lub otworzyć złośliwy dokument, aby atak się powiódł” – wyjaśnili badacze z AmberWolf, opisując jedno z możliwych podejść.
Demo CVE-2024-29014
Jak się chronić?
W przypadku klienta Palo Alto VPN problem został rozwiązany w aplikacji GlobalProtect 6.2.6 i wszystkich późniejszych wersjach aplikacji GlobalProtect 6.2 w systemie Windows. Firma wprowadziła również dodatkowy parametr konfiguracji (FULLCHAINCERTVERIFY), który powinien zostać włączony, aby wymusić bardziej rygorystyczną walidację certyfikatu w zaufanym magazynie certyfikatów systemu.
Obecnie nie ma żadnych poprawek dla wersji aplikacji na systemy macOS lub Linux, zgodnie z ostrzeżeniem bezpieczeństwa PAN.
Istnieje jednak obejście/łagodzenie, opierające się na włączeniu trybu FIPS-CC dla aplikacji GlobalProtect na punktach końcowych (i włączeniu trybu FIPS-CC w portalu/bramie GlobalProtect).
Aby uniemożliwić użytkownikom łączenie się ze złośliwymi serwerami VPN, jako dodatkowe obejście można również wdrożyć reguły zapory sieciowej oparte na hoście.
SonicWall załatał również swoją lukę w zabezpieczeniach w wersji NetExtender 10.2.341 (dla systemów Windows 32- i 64-bitowych) oraz nowszych, zalecając użytkownikom jak najszybszą aktualizację. Jeśli natychmiastowa aktualizacja nie jest możliwa, rozważ użycie zapory sieciowej klienta, aby ograniczyć dostęp do znanych, legalnych punktów końcowych VPN. Pozwoli to zapobiec nieumyślnemu połączeniu się użytkowników ze złośliwymi serwerami VPN.
Porady o tym, jak się chronić, publikowaliśmy w naszym poprzednim artykule tutaj.