Analiza złośliwego dokumentu PDF z trojanem SpyEye

SE7EN

Bardzo aktywny
Fąfel
Dołączył
27 Maj 2010
Posty
1124
Reakcje/Polubienia
114
Analiza złośliwego dokumentu PDF używanego do instalacji SpyEye
Jak przekonaliśmy się kilka dni temu, złośliwe dokumenty PDF pozostają jedną z popularnych metod rozprzestrzeniania się malware’u typu banker-trojan. Złośliwy dokument PDF, o którym pisaliśmy, wykorzystuje lukę w programie Adobe Reader do przeprowadzenia włamania na komputerze użytkownika, który go otworzył, po czym instaluje w systemie trojana SpyEye.


Jeśli użytkownik kliknie na załącznik PDF, program Reader rozpocznie jego ładowanie i przetwarzanie. Struktura dokumentu PDF jest drzewem obiektów, z jednym obiektem typu Root jako korzeniem. Reader przetwarza kolejne obiekty, zgodnie z ich kolejnością i pozycją w drzewie. Część obiektów to skrypty JavaScript, które mogą być wykonywane przez silnik EScript (silnik JavaScript’owy firmy Adobe).

Możemy użyć narzędzia pdfid do wyświetlenia informacji na temat obiektów zawartych w dokumencie.
noJS.png

Na pierwszy rzut oka wydaje się, że dokument nie zawiera żadnych skryptów JavaScript. Jest to jednak nieprawda, ponieważ w skompresowanych strumieniach (stream) ukryte są skrypty, które exploit wykorzysta do przeprowadzenia włamania. Są one zazwyczaj zaciemnione i trudne do zinterpretowania. Tak samo jest i w tym przypadku (fragment zdekompresowanego kodu widoczny na rysunku poniżej).
js.png

Skrypt dołączony do dokumentu zostanie zdekompresowany i wykonany. Posłuży on do umieszczenia shellcodu w pamięci za pomocą techniki “heap spray”. Kiedy nastąpi włamanie, procesor ofiary rozpocznie wykonywanie tego właśnie kodu.

Jak dokładnie dochodzi do przejęcia kontroli nad przetwarzanym kodem? Biblioteka AcroForm.api zawiera błąd, który to umożliwia. W trakcie przetwarzania obiektu AcroForm (widocznego w listingu programu pdfid), wykonywany algorytm zakończy się przedwcześnie, powodując skok do biblioteki icucnv34.dll.
ROP.png

Biblioteka ta zostanie wykorzystana przez exploit typu ROP (o exploitach tegu typu pisaliśmy w grudniu), który wcześniej został umieszczony w pamięci przez skrypt JavaScript (shellcode umieszczony w pamięci programu Reader jest widoczny na rysunku poniżej).
shellcode.png

Jakie będą konsekwencje włamania? Przekonaliśmy się o tym przeprowadzając kontrolowane włamanie na laboratoryjnym komputerze. Exploit ładuje biblioteki systemowe potrzebne do prowadzenia transmisji w sieci Internet i próbuje połączyć się z naszego komputera ze zdalnym serwerem i pobrać oraz uruchomić plik EXE. Jest to bot SpyEye, który będzie następnie wykorzystywany do infiltrowania komputera ofiary i kradzieży jej danych (np. haseł bankowych).
loaded_libs.png

DNS_query.png

Jak się zabezpieczyć przed takim atakiem?
Aby zabezpieczyć się przed włamaniami tego typu, należy przestrzegać kilku reguł. Przede wszystkim nie należy otwierać załączników w wiadomościach e-mail od nieznanych osób (oczywiście, czasem niestety możemy otrzymać maila od zaufanej osoby, która została już zainfekowana – w takiej sytuacji należy uważnie patrzeć, czy treść tego maila nie jest podejrzana). Dodatkowo dobrą praktyką jest wyłączenie obsługi JavaScript przez program Reader.
Reader_prefs.png

JS_disable.png

Jeśli w przyszłości Reader zapyta nas o pozwolenie na wykonywanie skryptów JavaScript zawartych w dokumencie, możemy mu odmówić.
JS_deny.png
Zaloguj lub Zarejestruj się aby zobaczyć!
 

OXYGEN THIEF

Bardzo aktywny
Członek Załogi
Administrator
Dołączył
26 Maj 2010
Posty
35921
Reakcje/Polubienia
25013
Miasto
Trololololo
Czyli ten wariat dotyczy tylko użytkowników Adobe Reader
wykorzystuje lukę w programie Adobe Reader
, jak fajnie że używam FoXita :D
 
Do góry