nie daj się cyberzbójom! – zapisz się bezpłatne szkolenie o bezpieczeństwie dla wszystkich

Jak klientem VPN Fortinet zdobyć lokalnego admina? CVE-2022-26113, eskalacja uprawnień.

01 września 2022, 11:14 | W biegu | 0 komentarzy

TLDR: warto aktualizować również część kliencką naszych rozwiązań VPNowych.

Tutaj ciekawy opis załatanej niedawno luki CVE-2022-26113: FortiClient Arbitrary File Write As SYSTEM.

Przechodząc od razu do sedna:

FortiClient VPN allows normal users of the VPN Client to backup their VPN configuration. The backup file is written by FortiClient’s scheduler service running as SYSTEM, which calls the FCConfig.exe on the specified backup file.  Since the file path used to perform the backup to is only validated in the UI of the application, it is possible to bypass any permission checks and force the service to write to an arbitrary location, even if the user does not have permission to do so. The user can control partial contents of the configuration backup, which means at the very least they could write a .bat script to an administrator’s startup directory as one method of privilege escalation.

Czyli mając uprawnienia lokalnego użytkownika, możemy wykonać kopię zapasową konfiguracji VPNa, przy czym wskazać dowolną ścieżkę do pliku, gdzie ta kopia ma się znaleźć. Ktoś może więc stworzyć plik .bat (plik można stworzyć wszędzie w systemie, bo usługa backupowa działa z uprawnianiami SYSTEM), który to plik odpalany będzie z uprawnieniami administratora. Wystarczy tylko wrzucić odpowiednie polecenie do konfiguracji klienta VPNa.

Badacze odpalili klienta VPN w włączonym zdalnym debugowaniem:

C:\Program Files\Fortinet\FortiClient\FortiClient.exe –remote-debugging-port=9222

Zdalne debugowanie potrzebne było żeby aktywować w interfejsie możliwość zmiany ścieżki gdzie zapisywana jest kopia zapasowa (normalnie nie można tego pola edytować):

To znaczy teraz już można:

Można też z poziomu debuggera ustawić dowolną zawartość tego pliku, co było do udowodnienia ;-)

PS
Inny przykład podobnej eskalacji został niedawno załatany w AWS VPN Client.

~Michał Sajdak

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



Komentarze

Odpowiedz