Kaspersky Lab wraz z ich partnerem, laboratorium CrySyS Lab, wykryli dwa nowe, dotychczas nieznane, mechanizmy infekcji wykorzystywane przez MiniDuke’a. Te nowe wektory infekcji bazują na podatnościach w Javie i Internet Explorerze.
Podczas inspekcji jednego z serwerów centrum kontroli (C&C) MiniDuke’a natrafili na pliki, które nie są powiązane bezpośrednio z kodem C&C, lecz wydają się być przygotowane pod kątem infekcji podatnych użytkowników za pośrednictwem Internetu.
Strona hxxp://[nazwa_hosta_centrum_kontroli]/groups/business-principles.html jest wykorzystywana jako punkt początkowy ataku. Składa się ona z dwóch ramek: jednej do ładowania wabiącej strony z legalnej witryny internetowej (skopiowanej zhttp://www.albannagroup.com/business-principles.html) i drugiej – wykonującej złośliwe działania (hxxp://[nazwa_hosta_centrum_kontroli]/groups/sidebar.html).
Druga strona internetowa, „sidebar.html”, zawiera 88 linii kodu (głównie) JavaScriptu i działa jak prymitywny pakiet eksploitów. Jego kod identyfikuje przeglądarkę ofiary, a następnie serwuje jeden z dwóch eksploitów. Wysyła także zebrane dane przeglądarki do innego skryptu poprzez żądanie POST na adres „hxxp://[nazwa_hosta_centrum_kontroli]/groups/count/write.php”.
Eksploity są rozmieszczone na odrębnych stronach internetowych. Użytkownicy Internet Explorera w wersji 8 „częstowani” są eksploitem „about.htm”, dla innych wersji przeglądarki (i dla każdej przeglądarki zdolnej uruchamiać aplety Javy) kod JavaScriptu ładuje exploit „JavaApplet.html”.
Exploit dla Javy
Strona internetowa „JavaApplet.html” ładuje klasę „JavaApplet.class”, która implementuje eksploita Javy dla niedawno wykrytej luki CVE-2013-0422. Kod eksploita jest bardzo podobny do kodu opublikowanego w zestawie Metasploit, ale klasa wewnętrzna, która blokuje menedżera zabezpieczeń jest inaczej kodowana, najprawdopodobniej w celu uniknięcia detekcji. Według nagłówków HTTP serwera, aplet został przesłany dnia 11 lutego 2013 r., miesiąc po opublikowaniu kodu Metasploita i na dwa dni przed ogłoszeniem przez firmę Oracle komunikatu bezpieczeństwa dotyczącego podatności.
HEAD /groups/JavaApplet.class HTTP/1.1
Host: [nazwa_hosta_centrum_kontroli]
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
X-Powered-By: ASP.NET
Date: Fri, 08 Mar 2013 06:18:04 GMT
Content-Type: application/octet-stream
Accept-Ranges: bytes
Last-Modified: Mon, 11 Feb 2013 09:50:31 GMT
ETag: „f794173b3d8ce1:e96”
Content-Length: 52408
Shellcode Javy zawiera kompletny ładunek – plik DLL Win32, zakodowany szesnastkowo. Kod powłoki dekoduje plik binarny i zapisuje go do katalogu tymczasowego Javy pod nazwą „ntuser.bin”. Następnie, kod kopiuje plik systemowy „rundll32.exe” do tego samego katalogu, nadając mu nazwę „ntuser.exe” i uruchamiając z „ntuser.bin” jako parametrem – efektywnie ładując tym samym złośliwy plik DLL. Ta biblioteka DLL jest głównym modułem MiniDuke’a, który do odbierania poleceń używa adresu URLhttp://twitter.com/TamicaCGerald.

Tweet z zakodowanym poleceniem MiniDuke’a
(odkodowany adres URL polecenia: hxxp://www.artas.org/web/).
Exploit dla IE8
Strona internetowa „about.htm” implementuje eksploita dla Microsoft Internet Explorera w wersji 8. Wykorzystuje lukę wykrytą pod koniec grudnia 2012 r., znaną jako podatność CVE-2012-4792. Kod jest również bardzo podobny do „metasploitowej” wersji eksploita, z tą różnicą, że ładunek kodu powłoki został napisany przez twórców MiniDuke’a z wykorzystaniem oryginalnego kodu backdoora. Kod Metasploita został opublikowany 29 grudnia 2012 r., a luka została oficjalnie załatana 14 stycznia 2013 r. (MS13-008), natomiast strona z eksploitem została załadowana 11 lutego 2013 r.
HEAD /groups/about.htm HTTP/1.1
Host: [nazwa_hosta_centrum_kontroli]
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
X-Powered-By: ASP.NET
Date: Fri, 08 Mar 2013 06:49:33 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Mon, 11 Feb 2013 09:50:47 GMT
ETag: „b98150443d8ce1:e96”
Content-Length: 3842
Zadaniem kodu powłoki jest pobranie obrazu GIF z adresu URL hxxp://[nazwa_hosta_centrum_kontroli]/groups/pic.gif, a następnie odszukanie w pobranym obrazie i odkodowanie ukrytego pliku PE. Ten plik PE jest modyfikacją głównego modułu backdoora MiniDuke’a, który używa tego samego adresu URL prowadzącego do serwisu Twitter, co ładunek Javy.
Wnioski
W ten sposób odkryto i przeanalizowano dwa nieznane wcześniej wektory infekcji, które zostały użyte w atakach MiniDuke’a. Mimo iż w momencie ataku eksploity były dobrze znane i zostały już wcześniej opublikowane, wciąż były dość świeże i mogły spełnić swoje zadanie w atakach na wyznaczone cele. Jak wcześniej zalecano, aktualizacja do najnowszych wersji systemu Windows, Javy i aplikacji Adobe Reader powinna zapewnić podstawowy poziom ochrony przed znanymi atakami MiniDuke’a. Oczywiście, bardzo możliwe jest, że istnieją inne, nieznane dotychczas wektory infekcji.