Uruchamianie malware przez Worda bez makr i błędów: wystarczy przygotować pole
Eksperci z firmy Sensepost pytają: a co, jeśli wam powiemy, żemożna uruchomić polecenia w Wordzie bez korzystania z żadnych makrczy uszkodzeń pamięci? To nie żart. Kreatywne wykorzystanieprotokołu Dynamic Data Exchange (DDE), wykorzystywanego przezWindowsa do przenoszenia danych między aplikacjami, otworzyło drogędo uruchamiania kodu bez jakichkolwiek ostrzeżeń dla użytkownika.Powiadomiony o sprawie Microsoft orzekł, że to nie jest problembezpieczeństwa – i to mimo tego, że grupa badawcza Cisco Talosznalazła niedawno malware korzystające z tej techniki.
Tu naprawdę nie ma żadnych błędów, które ktoś mógłbywyexploitować. Etienne Stalmans i Saif El-Sherei przeglądali sobieróżne obiekty COM związane z Microsoft Office i zauważyli, żedwie metody tego interfejsu, DDEInitialize i DDEExecute, sąujawniane zarówno przez Excela jak i Worda. Jako że już w zeszłymroku udało im się zmusićExcela do uruchomienia kodu C# osadzonego w skryptach PowerShella– właśnie przez protokół DDE – postanowili sprawdzić, comożna zrobić z Wordem.
Okazuje się, że wywołanie z Worda innego programu nie jesttrudne. Wykorzystujesię w tym celu mechanizm wstawiania pól – tych samych, któresą wykorzystywane do tworzenia dynamicznego tekstu. Tam w kreatorzewystarczy wstawić pole typu formuła, a następnie przeedytować kodpola.
Jeśli taki kod zacznie się od słowa kluczowego DDEAUTO, to Wordpo otworzeniu dokumentu automatycznie wykona wskazany dalej plikbinarny, wraz z podanymi argumentami. Jak zwykle w przykładachataku, uruchomiono w ten sposób systemowy kalkulator.
Taka metoda uruchomienia kodu przez wczytany dokument nie wywołujeżadnych poważnych ostrzeżeń. Word po prostu informuje, żedokument zawiera linki mogące prowadzić do innych plików i pyta,czy zaktualizować go o dane z nich pobrane. Ilu użytkownikówkliknie „tak”? Kalkulator nie zawiera jednak żadnychdanych, więc Word informując o tym pyta dalej, czy użytkownik chceuruchomić plik wskazany w kodzie pola. Kliknięcie „tak”powoduje jego uruchomienie. Niby jest to jakaś forma ostrzeżenia,ale przy odpowiednim spreparowaniu składni nazwę uruchamianegopliku można ukryć. A użytkownicy, spragnieni dostępu do treścidokumentu, klikną wówczas OK, uruchamiając np. osadzony w tensposób złośliwy skrypt PowerShella, taki jak np. trojan zdalnegodostępu DNSMessenger.
Could be mistaken, but I think they were referring to hiding/modifying the content, not the dialog box itself. See screenshot for example. pic.twitter.com/HyotOH4xUs
— Mike Czumak (@SecuritySift) 12 października 2017Co najważniejsze w tym wszystkim, dokumenty wykorzystująceuruchamianie skryptów przez DDE nie są wychwytywane ani blokowaneprzez jakiekolwiek zabezpieczenia antywirusowe na komputerach ofiar.Nie zawierają przecież żadnych groźnych makr, nie prowadzą douszkodzeń pamięci. Ten systemowy protokół wymiany danych międzyplikami jest przecież wykorzystywany przez tysiące aplikacji naWindowsa.
Właśnie ta zaleta sprawiła, że atak przez DDE wykorzystanow odkrytej przez badaczy grupy Cisco Talos kampanii spearfishingowej,w której ofiarom wysyłano dokumenty wyglądające jakby pochodziłyz amerykańskiej federalnej komisji nadzoru papierów wartościowych(SEC). Skrypt osadzony w polu z kodem DDEAUTO pobierał przezPowerShella złośliwy kod ulepszonej wersji trojana DNSMessenger, anastępnie go uruchamiał.
Twoja przeglądarka nie obsługuje tagu videoMicrosoft tej luki nie załata. Firma z Redmond uznała, że niemożna usunąć z systemu protokołu DDE, w przyszłości jednakrozważy zastosowanie bardziej czytelnych ostrzeżeń przeduruchamianiem kodu przez uzłośliwione dokumenty. Administratorompozostaje włączyć audytkomend wykonywanych na komputerze odpowiednią politykąbezpieczeństwa, albo w ogóle wyłączyć automatyczneaktualizowanie linków Worda, edytując ustawieniaw Rejestrze.