Podatność Follina (CVE-2022-30190) i przykładowy exploit
Podatność oznaczona CVE-2022-30190 pozwala na utworzenie złośliwego dokumentu Microsoft Word, który za pomocą Microsoft Support Diagnostic Tool (protokół ms-msdt) uruchamia kod w języku Windows PowerShell. Złośliwy dokument zawierał podatność dnia zero (ang. zero day) nazwaną później CVE-2022-30190. Schematy poniżej prezentują ogólny mechanizm działania próbki exploita Follina. Edukacyjna próbka stworzona przez ethical.blue Magazine jedynie demonstruje działanie exploita i nie zawiera niebezpiecznego kodu. Narzędzie edukacyjne posiada m.in. generator ładunków .rtf (ang. payload) oraz pozwala na wyciąganie konfiguracji z zainfekowanych dokumentów.
Narzędzie zostało stworzone w C# (.NET). Udostępniam tutaj jedynie defensywny fragment kodu.
https://ethical.blue/download/FollinaExtractor.cs.txt [dostęp: 2024-09-01]
Schemat działania
Łańcuch infekcji w przykładowym ataku wygląda jak poniżej.
Powiązania fragmentów kodu Follina (CVE-2022-30190)
Udostępniany przez HTTP plik .html zawiera kod JavaScript w którym jest osadzony ładunek (ang. payload) w PowerShell. Odwołania do pliku .html są zawarte w zainfekowanym dokumencie .rtf lub .docx.
Edukacyjny exploit na podatność Follina (CVE-2022-30190)
Edukacyjny exploit przygotowany przez ethical.blue Magazine korzysta z niegroźnego ładunku (ang. payload) zawierającego funkcję [System.Windows.MessageBox]::Show('...','ethical.blue','OK','Error');
.
Powoduje to jedynie wyświetlenie okna dialogowego ze zdefiniowanym komunikatem.
Wyciąganie konfiguracji z zainfekowanych dokumentów
W przypadku analizy zainfekowanych dokumentów przydatnym może okazać się narzędzie pozwalające łatwo wyciągnąć konfigurację ze złośliwego kodu.
Uruchomienie w środowisku izolowanym
Narzędzie zostało sprawdzone w środowisku izolowanym, aby potwierdzić, że exploit działa i wykonał ładunek PowerShell (ang. payload).