Bezplikowe malware w PowerShellu rozmawia po DNS i kryje się w Wordzie
Koń trojański przeanalizowany ostatnio przez ekspertów z grupyCisco Talos pokazuje, jak pomysłowe sztuczki wykorzystują twórcymalware, by uniknąć wykrycia. W tym wypadku mamy do czynienia zeszkodnikiem zmontowanym ze skryptów PowerShella, który komunikujesię z centralą przez DNS, a przenosi w „bezpiecznym” dokumencieWorda, sam jednak nigdy nie istniejąc w postaci pliku.
06.03.2017 15:21
Szkodnik odkryty przez badacza simpo (@simpo13) został podesłanyCisco Talos ze względu na ciekawy fragment zakodowanego tekstu –„SourceFireSux”. Sourcefire to przejęty przez Cisco producentnarzędzi do wykrywania zagrożeń w sieciach, którego założycielznany jest jako twórca dobrze znanego Snorta.
Welp, someone doesn't like SourceFire pic.twitter.com/NzuGXZ0WgC
— simpo (@Simpo13) 24 lutego 2017Eksperci Talosa przyjrzelisię szkodnikowi dokładniej z innego jednak powodu: malwarewyróżniało się innowacyjnym sposobem wykorzystania komunikacji zapomocą rekordów DNS, by uniknąć wykrycia przez oprogramowanieochronne. Niezbędny do rozwiązywania nazw domen protokół jestbowiem traktowany znacznie bardziej pobłażliwie, nie jest prawienigdy blokowany, nie dotyczą go ograniczenia dotyczące np. ruchuwebowego. W tym wypadku przez DNS wysyłano polecenia jak i wynikidziałania tych poleceń na wziętych na cel systemach.
Infekcja zaczyna się od rozsyłanego mailem dokumentu Worda. Niejest to byle jaki dokument Worda, ale dokument „bezpieczny”.Pochodzić ma z bezpiecznej poczty, zabezpieczonej przez produktfirmy McAfee, po otwarciu dowiemy się, że też został przez McAfeezabezpieczony – to „Protected Document”. Niezłe zabezpieczenie– tarcza z literką „M” na pewno dobrze działa na wyobraźniękorporacyjnego odbiorcy… a na pewno wystarczająco, by odblokowałjego zawartość.
To wystarczy do uruchomienia kolejnej funkcji VisualBasica, któraprzygotowuje polecenie PowerShella, wraz z kodem do uruchomienia.Warto podkreślić, że na żadnym etapie nie mamy tu do czynienia zzapisanym plikiem – zakodowany w Base64 i skompresowany gzipem ciągprzekazany zostaje do Powershella, z maleńkim loaderem na końcu,który ciąg rozpakowuje i odkodowuje, a następnie przekazuje douruchomienia przez cmdlet Invoke-Expression. Dzięki temu większośćsilników antywirusowych w uzłośliwionym dokumencie niczego niewykryła. Dały radę jedynie Avast, ClamAV, NOD32, Qihoo-360,Fortinet i Rising.
Kolejny etap infekcji to uruchomienie kolejnego skompresowanego izakodowanego skryptu PowerShella, który sprawdza czy użytkownik mauprawnienia administracyjne i która wersja PowerShella jestzainstalowana w systemie. Następnie wprowadzane są zmiany wRejestrze. W trzecim etapie instalowany jest skrypt działający jakofurtka w systemie. Jeśli użytkownik dysponuje uprawnieniamiadministracyjnymi, to furtkę dopisuje się do bazy WindowsManagement Instrumentation – dzięki temu może ona pozostać wsystemie po restarcie.
W skrypcie tej furtki zapisane są setki różnych domen – i towłaśnie one są odpytywane zapytaniami DNS. W rekordach TXT tychdomen znajdują się zaś kolejne komendy PowerShella, którewykonywane są bez zapisywania ich na lokalnym pliku. Pozwala tonapastnikom na precyzyjne zdalne kontrolowanie zainfekowanegosystemu. Wyniki działania komend zostają od razu wysłane zpowrotem na serwer dowodzenia.
Do czego faktycznie ten koń trojański miał służyć – tegonie wiadomo. Eksperci Cisco Talos nie zdołali przeniknąć doinfrastruktury dowodzenia i kontroli wykorzystywanej w ataku, nigdynie otrzymali z tamtych serwerów żadnych poleceń.Najprawdopodobniej polecenia takie są przekazywane tylko dozamierzonych celów.
Pewnie badaczom Cisco Talos nie chciałoby się pisać takdokładnejanalizy szkodnika, gdyby nie pewien aspekt marketingowy. Otóż w2015 roku Cisco kupiło sobie firmę OpenDNS, rozwijającą usługęzabezpieczania ruchu sieciowego pod nazwą Umbrella. Od niedawnaoferowana jest ona ponownie, pod nazwą Cisco Umbrella – i właśniepozwala wykryć i ochronić przed taką właśnie komunikacją ponormalnie nieblokowanym DNS-ie.