Menu dostępności

Kolejny mało znany LOLBIN – CyberGhost VPN

O całej koncepcji narzędzi LOLBIN pisaliśmy już przy okazji tego artykułu. W skrócie narzędzia te to pliki binarne podpisane przez system Windows, które przy złych intencjach mogą być wykorzystane do pobrania lub wykonania złośliwego kodu. Są to więc programy na co dzień wykorzystywane przez użytkowników systemu Windows. Mogą też posłużyć atakującym do dostarczenia malware. Nie powinno się korzystać z programów określanych jako LOLBIN w sieciach korporacyjnych, gdyż po prostu uznawane są za „podatne”.

Dziś omówimy program CyberGhost VPN, którego podatność została opisana przez autora – Nasreddine Bencherchali.

Ciekawostka – odkrywca podatności zgłosił ten problem bezpośrednio do zespołu pomocy technicznej, który przekazał sprawę dalej. Ostatecznie producent nie uznał tego za poważną lukę, więc żądna poprawka nie jest dostępna do momentu powstania tego artykułu.

Autor zaczął oczywiście od pobrania najnowszej wersji CyberGhost VPN i zainstalowania jej oraz monitorowania wszystkich działań aplikacji w tle. Na pierwszy rzut oka nic nie wyglądało podejrzanie, dopóki nie przyjrzano się strukturze katalogów i plikom binarnym w środku.

Pierwszy, który przykuł uwagę, nazywa się wprost „PeLauncher.exe” i domyślnie znajduje się w „C:\Program Files\CyberGhost 8\Applications\VPN”.

Sprawdzając plik za pomocą PEStudio, widzimy, że jest napisany w „.NET”, co oznacza, że można podejrzeć jego „źródło”. Sprawdzenie ujawnia tylko jedną klasę o nazwie „Program” z interesującą funkcją główną, która przyjmuje względną ścieżkę do pliku binarnego o nazwie „Dashboard.exe” i wykonuje ją z argumentem „!!launch” i dowolnym argumentem, który przekazujemy.

„Dashboard.exe” to plik binarny odpowiedzialny za wyświetlanie pulpitu nawigacyjnego CyberGhost VPN widocznego poniżej:

Z tą wiedzą można nadużywać „Dashboard.exe” w następujący sposób:

  • Wybrać dowolny plik binarny i zmienić jego nazwę na „Dashboard.exe”.
  • Utworzyć dwa zagnieżdżone foldery „A” i „B” i skopiować „PeLauncher.exe” do środka.
  • Skopiować fałszywy „Dashboard.exe” dwa poziomy niżej od „PeLauncher”.
  • Wykonać następujące polecenie. (Arg jest niezbędny do pominięcia sprawdzenia widocznego w źródle) – „PeLauncher.exe [ARG]”
  • Przygotowany plik binarny zostanie wykonany jako dziecko „PeLauncher”. (Zauważ, że plik binarny musi wiedzieć, jak obsłużyć „!!launch” i argument, który podamy, ponieważ są one zakodowane na stałe).

Na początek to bardzo dużo, ponieważ PeLauncher.exe jest podpisaną binarką, jak widzimy poniżej:

Argumnent „!!launch” wydaje się być równie ciekawy, więc autor zdecydował się pójść o krok dalej.

Analizując teraz plik „Dashboard.exe” dostarczony z oprogramowanie również widzimy, że jest on napisany w „.NET”. To sprawia, że życie jest nieco łatwiejsze do przeprowadzenia analizy. Szukanie wpisów po znakach „!!” dało rezultat.
Okazało się, że można użyć argumentu „!!launch”, aby uruchomić dowolny plik wykonywalny, określając go w następujący sposób:

– Dashboard.exe !!launch [Ścieżka do pliku binarnego]

Test został wykonany na programie Kalkulator:

Dodatkowo również jest podpisany i zweryfikowany:

Powyższy przykład pokazuje, że złośliwe działanie w systemie niekoniecznie musi być wiązać się z wcześniejszą kompromitacją stacji roboczej czy konta użytkownika. Program CyberGhost VPN z pewnością wykorzystywany jest przez wielu nieświadomych zagrożenia użytkowników, a użycie powyższej metody może nie spowodować podniesienia żadnego alarmu w systemach bezpieczeństwa.

Warto znać takie techniki i być świadomym istnienia plików LOLBIN. Obrazki i POC pochodzi z bloga.

Popularne

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

YellowKey: koniec mitu o bezpieczeństwie BitLockera? Nowy zero-day pozwala ominąć szyfrowanie przy użyciu zwykłego pendrive’a

Jeszcze w piątek opisywaliśmy nowe podatności typu zero-day, o nazwach YellowKey oraz GreenPlasma, uderzające w mechanizmy bezpieczeństwa systemów Windows. Najnowsze informacje pokazują jednak, że spr...
Kolejny poważny zero-day. Nowe luki omijają BitLockera i pozwalają przejąć uprawnienia SYSTEM

Kolejny poważny zero-day. Nowe luki omijają BitLockera i pozwalają przejąć uprawnienia SYSTEM

Eksperci ds. cyberbezpieczeństwa alarmują o dwóch nowych lukach typu zero-day w systemie Windows, mogących mieć poważne konsekwencje dla bezpieczeństwa użytkowników i firm. Podatności, którym nadano naz...
Jeszcze o Mythos!

Jeszcze o Mythos!

W bardzo dobrym artykule autorstwa mojego redakcyjnego kolegi możemy znaleźć kompendium wiedzy o Mythos – niedawno ogłoszonym modelu AI od Anthropic. Produkt ten wywołał panikę w branży ze względu na zdolno...
PowerShell bez powershell.exe. Dlaczego klasyczne detekcje coraz częściej zawodzą

PowerShell bez powershell.exe. Dlaczego klasyczne detekcje coraz częściej zawodzą

Przez lata wykrywanie aktywności PowerShella było stosunkowo proste. Wystarczyło monitorować powershell.exe, analizować command line i szukać charakterystycznych parametrów, typu -enc, bypass albo hidden...