Tamagotchi VII: wróżby z FuSów

Badania śladów zostawionych przez moje tamagotchi odcinek kolejny. Tym razem zobaczę co powiedzą o jego działaniu ślady zgromadzone w systemie plików. A konkretnie czego się można dowiedzieć porównując jego snapshot wykonany przed i po infekcji, jak również sprawdzę, czy uda się stworzyć jakiś timeline działań malware w systemie.

Poszukiwanie nowych plików

Poszukiwanie nowych plików częściowo już wykonałem, porównując wyniki polecenia dir /s /b wykonanego przed i po infekcji. Bardziej miarodajne będzie jednak badanie wyników logparsera.

Gdyby logparser miał pełną obsługę SQL, można by było uzyskać listę nowych lub zmodyfikowanych plików tworząc odpowiednie zapytanie SQL. Ponieważ tak nie jest, wyeksportowałem do plików tekstowych log, przy czym w pliku wynikowym znalazły się tylko pola Path oraz Hash. Tu od razu uwaga – w zapytaniu SQL, przy którego pomocy tworzyłem snapshoty warto wprowadzić jedną zmianę, mianowicie po HASHMD5FILE(Path)_ warto dodać AS Hash. W przeciwnym wypadku będzie później problem przy dostępie do tej kolumny (ewentualnie później można zmienić nazwę pola w pliku CSV, co zresztą zrobiłem). Tak przygotowane pliki porównałem przy pomocy WinMerge i otrzymałem taką listę (z pominięciem zmian w Prefetch):

Kursywą oznaczyłem te pliki, o których już wiedziałem na podstawie wyniku polecenia dir. Co z pozostałymi plikami? Sprawdzenie atrybutów (w logu logparsera) pokazuje, że pliki podkreślone, są po prostu ukryte i z tego prostego powodu dir /s /b ich nie odnotował. Co z pozostałymi (pogrubionymi) plikami? Najbardziej oczywiste są dwie możliwości:

Poszukiwanie plików zmodyfikowanych

Pliki zmodyfikowane to te, które istniały w systemie, ale zmieniła się ich suma kontrolna MD5. Ich lista:

Część z tych plików zmienia się w sposób naturalny w systemie i fakt ich modyfikacji nie jest niczym dziwnym. Na pewno jednak warto przyjrzeć się plikom pogrubionym. Pliki *.Evt i tak będą sprawdzone w trakcie analizy dziennika zdarzeń systemu, w pozostałych plikach nie spodziewam się specjalnie interesujących informacji.

Szczególnie interesująca może być modyfikacja pliku hosts. Wczoraj żałowałem, że malware nie zainstalował żadnego BHO, który może być przydatny przy phishingu. Z drugiej strony wpisy do hosts są inną metodą osiągnięcia tego samego celu. Ciekawy jestem dokładnie co zostało wpisane...

Timeline...

Teraz pora na stworzenie pewnego timeline działań malware w systemie. Każdy z plików na NTFS utrzymuje znaczniki czasu utworzenia (CreationTime), modyfikacji (LastWriteTime) i dostępu (LastAccessTime). Spróbuję odtworzyć poczynania malware w systemie przy w oparciu o znacznik LastWriteTime. W celu otrzymania danych do analizy wystarczy proste zapytanie w logparser :

SELECT Path, Name, Attributes, CreationTime, LastWriteTime, LastAccessTime FROM fs.csv WHERE LastWriteTime > TO_TIMESTAMP('200805171947','yyyyMMddhhmm') ORDER BY LastWriteTime ASC

Skąd wiedziałem, które zdarzenia mnie interesują? Cóż, w końcu znałem datę uruchomienia malware, zresztą mam ją też w logach tcpdump.

Co udało się ustalić (no dobra, może to nie jest najbardziej czytelne):

Tutaj następuje pewna przerwa w logach. Po prostu zatrzymałem maszynę wirtualną i zająłem się analizą ruchu sieciowego. Okazuje się, że chyba nieco przedwcześnie, co widać dnia następnego:

W powyższych danych jest kilka rzeczy, które mnie zastanawiają. Chodzi o uruchomienie (odnotowane w Prefetch) plików, których sposobu pojawienia się w systemie nie jestem w stanie zidentyfikować:

W przypadku dwóch ostatnich plików istnieje duża szansa, że po prostu zostały one usunięte z dysku (malware sprzątnął je po sobie) i siłą rzeczy nie pojawiły się w tym timeline. Nierozwiązana pozostaje natomiast zagadka explorer.exe i iexplore.exe. Te pliki akurat istnieją na dysku, jak wyglądają więc ich metadane?

Path: c:\WINDOWS\system32\explorer.exe; Attributes: —-H——–; CreationTime: 14-04-2008 05:42:20; LastWriteTime: 14-04-2008 05:42:20; LastAccessTime: 18-05-2008 11:08:29; MD5: C1AB3A6D0DF4667DE52DAC0C7B4A1595 Path: c:\WINDOWS\system32\iexplore.exe; Attributes: —-H——–; CreationTime: 14-04-2008 05:42:20; LastWriteTime: 14-04-2008 05:42:20; LastAccessTime: 17-05-2008 21:47:35; MD5: 847C928646AB5779FBAAA9738F04E108

Wiadomo już dlaczego te pliki nie pokazały się w timelinie, mają daty utworzenia i modyfikacji z 14 kwietnia 2008 roku. To dobry przykład na to, że timeline nie jest całkiem pewnym narzędziem analizy. Wynika to z faktu, że timestampami można manipulować, co tutaj prawdopodobnie miało miejsce.

Oryginał tego wpisu dostępny jest pod adresem Tamagotchi VII: wróżby z FuSów

Autor: Paweł Goleń