Przyszła pora na analizę logów systemowych mojej zainfekowanej maszyny.
Tamagotchi X: logi
Standardowo system prowadzi trzy dzienniki: Application, System oraz Security. Jak wspomniałem, zmodyfikowałem nieco ustawienia śledzenia zdarzeń po to, by w logu Security pojawiło się więcej informacji. Zmieniłem również domyślne rozmiary plików. Te modyfikacje są praktycznie standardowymi zmianami na administrowanych przeze mnie maszynach, razem z ustawieniem flagi AutoBackupLogFiles, tak na wszelki wypadek, by nowe wpisy nie zamazały tych starych.
SystemW dzienniku systemowym nie znalazły się żadne szczególnie interesujące zapisy. Zdarzenia 6009 i 6005 mówią o tym, kiedy system został uruchomiony (2008-05-17 21:42:12). Pozostałe zapisy mówią wyłącznie o standardowych zdarzeniach systemowych, jak uruchomienie poszczególnych usług, uzyskaniu adresu IP i tym podobnych sprawach. W tym konkretnym przypadku informacje te niewiele wnoszą do już zgromadzonej wiedzy.
ApplicationDziennik Application akurat z okolic infekcji (przypominam, miało to miejsce 2008-05-17 około 21:42) nie zawiera ciekawych informacji. Ciekawe informacje są natomiast z terminu późniejszego, gdy "odmroziłem" moje tamagotchi by zebrać informacje "na żywo". Wpisy dotyczą błędu aplikacji zyetp.exe. W logu znajdują się informacje zgromadzone przez DrWatson, na przykład takie:
Application exception occurred: App: C:\WINDOWS\system32\zyetp.exe (pid=1264) When: 5/19/2008 @ 17:27:58.489 Exception number: c0000005 (access violation) (...) ----> Task List <---- 0 System Process 4 System 320 smss.exe 380 csrss.exe 404 winlogon.exe 456 services.exe 468 lsass.exe 708 svchost.exe 764 svchost.exe 828 svchost.exe 884 svchost.exe 920 svchost.exe 1092 spoolsv.exe 1216 vmsrvc.exe 1380 vpcmap.exe 1592 alg.exe 1844 Explorer.EXE 1920 wscntfy.exe 2040 vmusrvc.exe 216 ctfmon.exe 336 cmd.exe 1684 explorer.exe 1772 iexplore.exe 2020 pwpveix.exe 1320 ygcpzaf.exe 616 wuauclt.exe 812 LogParser.exe 460 xtxhhlgh.exe 1264 zyetp.exe 188 rundll32.exe 308 drwtsn32.exe (...) ----> Module List <---- (0000000000400000 - 0000000000439000: C:\WINDOWS\system32\zyetp.exe (000000005d090000 - 000000005d12a000: C:\WINDOWS\system32\comctl32.dll (00000000773d0000 - 00000000774d3000: C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll (0000000077b40000 - 0000000077b62000: C:\WINDOWS\system32\Apphelp.dll (0000000077c00000 - 0000000077c08000: C:\WINDOWS\system32\VERSION.dll (0000000077c10000 - 0000000077c68000: C:\WINDOWS\system32\msvcrt.dll (0000000077dd0000 - 0000000077e6b000: C:\WINDOWS\system32\ADVAPI32.dll (0000000077e70000 - 0000000077f02000: C:\WINDOWS\system32\RPCRT4.dll (0000000077f10000 - 0000000077f59000: C:\WINDOWS\system32\GDI32.dll (0000000077f60000 - 0000000077fd6000: C:\WINDOWS\system32\SHLWAPI.dll (0000000077fe0000 - 0000000077ff1000: C:\WINDOWS\system32\Secur32.dll (000000007c800000 - 000000007c8f6000: C:\WINDOWS\system32\kernel32.dll (000000007c900000 - 000000007c9af000: C:\WINDOWS\system32\ntdll.dll (000000007e410000 - 000000007e4a1000: C:\WINDOWS\system32\user32.dll (...)Ciekawych informacji dostarcza na przykład lista uruchomionych procesów, można na niej znaleźć kilka uruchomionych procesów, które swoją nazwą nie przypominają niczego normalnie występującego w systemie. Informację z tego zrzutu można porównać z listą uruchamianych programów, które można uzyskać z analizy Prefetch, a także z listą nowych plików znalezionych w systemie plików. Ale szkoda na to tracić czasu (już w tej chwili), bo pozostał jeszcze log Security, który jest prawdziwą skarbnicą informacji...
SecurityW logu Security znajdują się informacje o uruchamianych procesach. To znaczy zwykle się nie znajdują, ponieważ śledzenie zdarzeń z kategorii Detailed Tracking jest domyślnie wyłączone. Nawet w przewodnikach opisujących konfigurację systemu (z bezpieczeństwem w tle) zwykle nie zaleca się aktywacji tej opcji. Cóż, w obecnej chwili komputery są na tyle wydajne, by z tym śledzeniem sobie poradzić bez większego problemu, a automatyczna rotacja plików logów rozwiązuje problem z nadpisywaniem starszych zdarzeń, bądź brakiem miejsca na nowe.
Zdarzenia między godziną 21:42:12 a 21:46:57 to moje zdarzenia typowe dla startu systemu, oraz moje przygotowania do uruchomienia malware. W szczególności to uruchomienie Procmon:
TimeGenerated: 2008-05-17 21:46:11 EventID: 592 EventCategory: Detailed Tracking EventType: Success Audit event Message: A new process has been created: New Process ID: 1148 Image File Name: C:\Program Files\Sysinternals\Procmon.exe Creator Process ID: 336 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)Przypominając odcinek o informacjach możliwych do pozyskania z FS:
17-05-2008 21:47:17: Utworzenie c:\WINDOWS\Prefetch\C1AB3A6D0DF4667DE52DAC0C7B4A1-36903391.pf, oznacza to, że proces został uruchomiony,I rzeczywiście, w logu znajduje się odpowiadający temu zdarzeniu rekord:
TimeGenerated: 2008-05-17 21:47:14 EventID: 592 EventCategory: Detailed Tracking EventType: Success Audit event Message: A new process has been created: New Process ID: 1656 Image File Name: C:\Documents and Settings\Administrator\Desktop\c1ab3a6d0df4667de52dac0c7b4a1595.exe Creator Process ID: 336 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)Różnica w czasie między datą utworzenia (a w zasadzie datą ostatniego zapisu) do pliku w Prefetch, a informacji w logach, jest zrozumiała. System musi mieć chwilę czasu na analizę uruchamianego programu, tak, by zapisać informację odnośnie tego, jak ten proces uruchamiania zoptymalizować.
Proces ten (1656) uruchamia następnie dwa procesy (dalej już nie będę pisał co oznaczają kolejne linie we wpisie):
2008-05-17 21:47:16 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1668 Image File Name: C:\WINDOWS\system32\cmd.exe Creator Process ID: 1656 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)2008-05-17 21:47:16 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1684 Image File Name: C:\WINDOWS\system32\explorer.exe Creator Process ID: 1656 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
Jak widać dzieje się to błyskawicznie, zaledwie 2 sekundy po uruchomieniu głównego programu. Korelując te zdarzenia ze zrzuconym ruchem sieciowym, przypuszczam, że oryginalny plik zawierał w sobie plik explorer.exe oraz jakiś *.bat, który został uruchomiony przy pomocy procesu cmd.exe. Twierdzę tak, ponieważ pierwsza aktywność sieciowa miała miejsce dopiero o godzinie 21:47:19. O tej porze zarówno pierwszy proces, jak i cmd.exe już się zakończyły:
2008-05-17 21:47:16 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1656 Image File Name: C:\Documents and Settings\Administrator\Desktop\c1ab3a6d0df4667de52dac0c7b4a1595.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)2008-05-17 21:47:17 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1668 Image File Name: C:\WINDOWS\system32\cmd.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
W tej chwili jedynym działającym procesem jest explorer.exe (ten fałszywy).
Chwilę później pojawia się zdarzenie, co do którego mam pewne wątpliwości:
2008-05-17 21:47:21 861 Detailed Tracking Failure Audit event The Windows Firewall has detected an application listening for incoming traffic. Name: - Path: C:\WINDOWS\system32\svchost.exe Process identifier: 884 User account: NETWORK SERVICE User domain: NT AUTHORITY Service: Yes RPC server: No IP version: IPv4 IP protocol: UDP Port number: 1032 Allowed: No User notified: NoMam wątpliwości, czy zdarzenie to związane jest z infekcją, czy też nie. Teoretycznie taka możliwość istnieje, ale nie znalazłem na razie żadnych śladów, które mówiłyby, że w kontekście procesu svchost.exe malware uruchomił jakiś swój kod.
Następnie tworzone są dwa kolejne procesy (przez fałszywy proces explorer.exe):
2008-05-17 21:47:24 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1732 Image File Name: C:\WINDOWS\system32\wgwsafhn.exe Creator Process ID: 1684 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)2008-05-17 21:47:24 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1736 Image File Name: C:\WINDOWS\system32\gsxsrdx.exe Creator Process ID: 1684 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
W chwili ich uruchomienia, pobrane zostały już pliki:
- xxx.exe,
- sqmain.exe,
- lzl.exe,
Następnie proces 1732 kończy się:
2008-05-17 21:47:24 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1732 Image File Name: C:\WINDOWS\system32\wgwsafhn.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)Podobnie jak proces 1736:
2008-05-17 21:47:24 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1736 Image File Name: C:\WINDOWS\system32\gsxsrdx.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)Uruchamiany jest (przez fałszywy proces explorer.exe) jednak kolejny proces:
2008-05-17 21:47:24 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1744 Image File Name: C:\WINDOWS\system32\fzdsv.exe Creator Process ID: 1684 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)Który uruchamia kolejne dwa procesy:
2008-05-17 21:47:27 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1764 Image File Name: C:\WINDOWS\system32\cmd.exe Creator Process ID: 1744 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)2008-05-17 21:47:28 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1772 Image File Name: C:\WINDOWS\system32\iexplore.exe Creator Process ID: 1744 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
Prawdopodobnie, tak jak na początku, także i w tym przypadku proces zawierał jakiegoś *.bat, oraz pliki iexplore.exe.
Procesy 1744 i 1764 kończą się:
2008-05-17 21:47:28 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1744 Image File Name: C:\WINDOWS\system32\fzdsv.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)2008-05-17 21:47:28 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1764 Image File Name: C:\WINDOWS\system32\cmd.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
To, co dzieje się później, jest związane z otwarciem przez proces iexplore.exe portu do nasłuchu. Zostaje to wykryte przez system i użytkownik zostaje o tym fakcie poinformowany. Dostaje on możliwość zezwolenia procesowi na dostęp do sieci. A w zasadzie to nie tyle na dostęp do, co na dostęp z sieci do tego procesu:
2008-05-17 21:47:32 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1756 Image File Name: C:\WINDOWS\system32\rundll32.exe Creator Process ID: 828 User Name: MALWAREHUNTER$ Domain: MALWARE Logon ID: (0x0,0x3E7)2008-05-17 21:47:32 600 Detailed Tracking Success Audit event A process was assigned a primary token. Assigning Process Information: Process ID: 828 Image File Name: C:\WINDOWS\system32\svchost.exe User Name: MALWAREHUNTER$ Domain: MALWARE Logon ID: (0x0,0x3E7) New Process Information: Process ID: 1756 Image File Name: C:\WINDOWS\system32\rundll32.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE) 2008-05-17 21:47:32 861 Detailed Tracking Failure Audit event The Windows Firewall has detected an application listening for incoming traffic. Name: iexplore Path: C:\WINDOWS\system32\iexplore.exe Process identifier: 1772 User account: Administrator User domain: MALWAREHUNTER Service: No RPC server: No IP version: IPv4 IP protocol: UDP Port number: 69 Allowed: No User notified: Yes
Tu przyznam się bez bicia, że zachowałem się jak typowy klikacz i zezwolenie wyraziłem, co zaowocowało zmianą konfiguracji firewalla:
2008-05-17 21:47:33 851 Policy Change Success Audit event A change has been made to the Windows Firewall application exception list. Policy origin: Local Policy Profile changed: Standard Change type: Add New Settings: Name: iexplore Path: C:\WINDOWS\system32\iexplore.exe State: Disabled Scope: All subnets Old Settings: Name: - Path: - State: - Scope: -O tym zresztą już wiadomo, po zmianach, które pojawiły się w rejestrze.
Następnie uruchamiane są kolejne trzy procesy przez (fałszywy) proces iexplore.exe. Zostały one wcześniej pobrane z sieci jako pliki (znów korelacja ze zrzutem ruchu sieciowego):
- sqmain2.exe,
- xxx.exe,
- sooo4.exe,
Cóż, wychodzi na to, że pliki te nie zostały zapisane na dysku pod swoimi nazwami, bądź też zaraz po pobraniu ich z sieci, nazwy zostały zmienione. Oznacza to, że na dyskach prawdopodobnie nie należy szukać plików o powyższych nazwach. W każdym razie zdarzenia związane z uruchamianiem:
2008-05-17 21:47:37 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1976 Image File Name: C:\WINDOWS\system32\qbqwov.exe Creator Process ID: 1772 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)2008-05-17 21:47:37 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 1992 Image File Name: C:\WINDOWS\system32\hheyjo.exe Creator Process ID: 1772 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
2008-05-17 21:47:37 592 Detailed Tracking Success Audit event A new process has been created: New Process ID: 2020 Image File Name: C:\WINDOWS\system32\pwpveix.exe Creator Process ID: 1772 User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
Dwa z tych procesów kończą swój żywot bardzo szybko:
2008-05-17 21:47:37 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1976 Image File Name: C:\WINDOWS\system32\qbqwov.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)2008-05-17 21:47:37 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1992 Image File Name: C:\WINDOWS\system32\hheyjo.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)
Kolejne zdarzenie wydawać się może nieco dziwne, polega na modyfikacji wcześniej dodanego wyjątku na firewallu:
2008-05-17 21:47:33 851 Policy Change Success Audit event A change has been made to the Windows Firewall application exception list. Policy origin: Local Policy Profile changed: Standard Change type: Add New Settings: Name: iexplore Path: C:\WINDOWS\system32\iexplore.exe State: Disabled Scope: All subnets Old Settings: Name: - Path: - State: - Scope: - 2008-05-17 21:47:37 851 Policy Change Success Audit event A change has been made to the Windows Firewall application exception list. Policy origin: Local Policy Profile changed: Standard Change type: Modify New Settings: Name: iexplore Path: C:\WINDOWS\system32\iexplore.exe State: Enabled Scope: All subnets Old Settings: Name: iexplore Path: C:\WINDOWS\system32\iexplore.exe State: Disabled Scope: All subnetsChodzi tu prawdopodobnie o to, że dodana reguła została przez system aktywowana (zmiana State z Disabled na Enabled).
Kolejnym zdarzeniem jest uzyskanie dostępu do sieci tak, jak wcześniej zrobił to iexplore.exe. Odpuszczę sobie jednak kolejny raz wklejać te zdarzenia...
I na koniec:
2008-05-17 21:49:11 593 Detailed Tracking Success Audit event A process has exited: Process ID: 1148 Image File Name: C:\Program Files\Sysinternals\Procmon.exe User Name: Administrator Domain: MALWAREHUNTER Logon ID: (0x0,0xC0DE)A więc godzinę 21:49:11 uznajemy (chwilowo) za koniec interesującego mnie okresu czasu.
Podsumowując W trakcie infekcji uruchamiane były następujące procesy:
- 2008-05-17 21:47:14 C:\Documents and Settings\Administrator\Desktop\c1ab3a6d0df4667de52dac0c7b4a1595.exe
- 2008-05-17 21:47:16 C:\WINDOWS\system32\cmd.exe (uruchomienie *.bat)
- 2008-05-17 21:47:16 C:\WINDOWS\system32\explorer.exe
- 2008-05-17 21:47:24 C:\WINDOWS\system32\wgwsafhn.exe
- 2008-05-17 21:47:24 C:\WINDOWS\system32\gsxsrdx.exe
- 2008-05-17 21:47:24 C:\WINDOWS\system32\fzdsv.exe
- 2008-05-17 21:47:27 C:\WINDOWS\system32\cmd.exe (uruchomienie *.bat)
- 2008-05-17 21:47:28 C:\WINDOWS\system32\iexplore.exe
- 2008-05-17 21:47:32 C:\WINDOWS\system32\rundll32.exe (dodanie reguły na firewallu)
- 2008-05-17 21:47:37 C:\WINDOWS\system32\qbqwov.exe
- 2008-05-17 21:47:37 C:\WINDOWS\system32\hheyjo.exe
- 2008-05-17 21:47:37 C:\WINDOWS\system32\pwpveix.exe
- 2008-05-17 21:47:39 C:\WINDOWS\system32\rundll32.exe (dodanie reguły na firewallu)
Po zakończeniu infekcji "przeżyły" procesy:
- 2008-05-17 21:47:16 C:\WINDOWS\system32\explorer.exe,
- 2008-05-17 21:47:28 C:\WINDOWS\system32\iexplore.exe,
- 2008-05-17 21:47:37 C:\WINDOWS\system32\pwpveix.exe,
A więc te same, które zadbały o to, by uruchomić się po restarcie systemu. Wygląda na to, że procesy iexplore.exe oraz pwpviex.exe pozwalają na zdalny dostęp do maszyny (wyjątki na firewallu).
Są również utrzymywane trzy połączenia z serwerami IRC:
- 67.43.232.37 na port 8080 nawiązane o godzinie 21:47:19
- 72.10.172.212 na port 5190 nawiązane o godzinie 21:47:31
- 67.43.236.106 na port 7000 nawiązane o godzinie 21:47:35
Co prawda Netstat pokazuje nieco inne informacje, podaje informację tylko o jednym nawiązanym połączeniu:
TCP 172.16.0.41:1057 67.43.236.106:7000 ESTABLISHED 1844Należy jednak pamiętać, że dane do analizy "na żywo" zostały zebrane później, konkretnie 2008-05-18 o godzinie 11:07. Nie zmienia to faktu, że połączenie z tym serwerem nawiązane jest przez proces 1844, a więc "prawdziwy" systemowy proces explorer.exe. Jakoś to mnie męczy...
Jeśli po mojej prezentacji na dzisiejszym spotkaniu OWASP kogoś zainteresował temat ogólnie pojętego forensic, być może zainteresują go również starsze wpisy dotyczące tego tematu. Nazbierało się tego trochę, więc małe przypomnienie części z poruszanych t
Przesłany: Jun 10, 20:54