Jednou z důležitých částí analýzy malwaru je analýza paměti RAM (Random Access Memory). Pomáhá identifikovat spuštěné škodlivé procesy, síťové aktivity, otevřená připojení atd. v napadeném systému. Tento článek je o open source bezpečnostním nástroji "Volatilita" pro analýzu volatilní paměti. Lze jej použít pro analýzu RAM 32/64bitových systémů a podporuje analýzu systémů Windows, Linux, Mac a Android. Volatility Framework je implementován ve skriptovacím jazyce Python a lze jej snadno použít na operačních systémech Linux a Windows. Používá se k analýze výpisů při selhání, nezpracovaných výpisů, výpisů VMware a VirtualBox. Techniky extrakce se provádějí zcela nezávisle na zkoumaném systému a poskytují úplný přehled o stavu běhu systému. Tento článek je tedy o forenzní analýze výpisu paměti RAM pomocí nástroje volatility. Zásuvný modul volatility „malfind“ pomáhá odstranit škodlivý proces a analyzovat jej. Dalším pluginem volatility je „cmdscan“, který se také používá k výpisu posledních příkazů na kompromitovaném počítači. V tomto forenzním vyšetřování budou k ověření výsledků použity online zdroje, jako jsou webové stránky „virustotal“ a „payload security“. Nakonec budou ke kontrole škodlivých programů použity programy Windows Defender a Malware Bytes.
Podpora formátu paměti
Následující formát paměti je podporován nejnovější verzí Volatility [1].
- Raw/Padded fyzická paměť
- Firewire (IEEE 1394)
- Expert Witness (EWF)
- 32bitový a 64bitový systém Windows Crash Dump
- 32bitový a 64bitový režim spánku systému Windows
- 32bitové a 64bitové soubory MachO
- Výpisy jádra virtuálního boxu
- VMware Saved State (.vmss) a Snapshot (.vmsn)
- Formát HPAK (FastDump)
- Výpis paměti QEMU
Instalace
Nástroj Volatility je k dispozici pro operační systémy Windows, Linux a Mac. Pro Windows a Mac OS jsou k dispozici samostatné spustitelné soubory, které lze nainstalovat na Ubuntu 16.04 LTS pomocí následujícího příkazu.
apt-get install volatility
Analýza paměti
V tomto tutoriálu bude forenzní analýza surového výpisu paměti provedena na platformě Windows pomocí samostatného spustitelného souboru nástroje Volatility. V procesu vyšetřování je běžné, že forenzní vyšetřovatel může na napadeném pevném disku najít několik škodlivých programů. Analýza paměti se v takových událostech stává velmi důležitou, protože v napadeném systému může běžet škodlivý program nebo malware.
Ověření integrity
MD5 hash výpisu paměti škodlivého systému je uveden níže. Vypočítá se pro ověření získaného obrazu před zahájením forenzní analýzy.
MD5: ee043142485a83f4d49a3a7899408500
Analýza volatility
Nástroj Volatility se používá k určení, zda je počítač infikován nebo ne. Jak víme, škodlivý program lze extrahovat z běžících procesů z výpisu paměti. Nejprve je tedy nutné identifikovat podporované „profily“ pro obraz výpisu paměti. Jak je ukázáno níže, k identifikaci „profilů“ obrázku se používá následující příkaz.
"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" imageinfo -f memdump3.raw
Následující dva profily jsou tedy navrženy příkazem „imageinfo“.
Win7SP0x86 , Win7SP1x86
Nyní se níže uvedený příkaz používá k získání seznamu běžících procesů ve výpisu paměti.
"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pslist -f memdump3.raw
část 1 P
část-2
Plugin „pslist“ nástroje volatility ukazuje procesy ve výpisu paměti. Jak je ukázáno ve výše uvedeném výstupu, jen málo programů je jako „0KqEC12.exe “ a „rdpclip.exe “ jsou nové v operačním systému Windows. Mohou to být škodlivé nebo nové aplikace pro OS Windows. Podobně několik souborů „iexplore.exe ” programy také vypadají podezřele.
Účelem následujícího příkazu je tedy zobrazit procesy ve formátu stromu (rodič/potomek). To ukáže propojení procesu s nadřazeným procesem. Pomůže nám to identifikovat nadřazený proces škodlivého programu.
"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 pstree -f memdump3.raw
část 1
část 2
Jak ukazuje výše uvedený výstup „pstree ” plug-in nástroje Volatility, procesy jsou zobrazeny s jejich PID a PPID. Zdůraznili jsme škodlivé programy pro další vyšetřování stroje oběti. Nyní „malfind ” plug-in (který se používá k detekci škodlivých DLL v procesu) Volatility bude použit proti zvýrazněným procesům.
ID procesu:1120 (svchost.exe)
Následující příkaz s přepínačem malfind se používá k výpisu škodlivých DLL do „výstupního“ adresáře.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1120 -p 1120 -f memdump3.raw
Jak je ukázáno níže, zásuvný modul malfind nenalezl žádnou dll.
ID procesu:1788 (rdpclip.exe)
Znovu spusťte stejný příkaz s PID 1788 a extrahujte DLL procesu. Modul plug-in však nenalezl žádnou knihovnu DLL.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-1788 -p 1788 -f memdump3.raw
ID procesu:2104 (explorer.exe)
Jak je ukázáno níže, následující příkaz je spuštěn s PID „2104“ a malfind extrahoval DLL z procesu.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2104 -p 2104 -f memdump3.raw
Výstup zásuvného modulu malfind zobrazuje výpis extrahovaných knihoven DLL škodlivého procesu.
ID procesu:2240(0kqEC12.exe)
Zásuvný modul malfind běží na PID „2240“, což se zdá být pro OS Windows podezřelé.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2240 -p 2240 -f memdump3.raw
Výstup zásuvného modulu malfind pro PID „2240“ je uveden níže.
ID procesu:2840 (iexplore.exe)
Výstup nástroje Volatility proti PID „2840“ je zobrazen níže.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2840 -p 2840 -f memdump3.raw
Tento proces se také zdá být škodlivý, protože také používá stejný název jako proces Windows „iexplorer“.
ID procesu:2364(iexplore.exe)
Podobně malfind běží proti škodlivému programu „iexplore“ s PID „2364“.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-2364 -p 2364 -f memdump3.raw
Výpis malfind proti PID „2364“ je zobrazen níže.
ID procesu:3728 (iexplore.exe)
Jak je uvedeno níže, modul volatility pro ukládání škodlivého programu je spuštěn proti PID „3728“
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 malfind -D E:\output/pid-3728 -p 3728 -f memdump3.raw
Následující snímek ukazuje výpis zásuvného modulu malfind proti PID „3728“.
Výsledky skenování
Výpisy škodlivých programů jsou skenovány pomocí Windows Defender a Malware bajtů.
Windows Defender
Výsledek skenování programu Windows Defender je uveden níže a je označen jako „Trojan:Win32/EyeStye.N“ & „Trojan:Win32/EyeStye.plugin“
Podrobnosti o trojských koních jsou uvedeny níže.
Tento trojský kůň zaznamenává stisknuté klávesy, monitoruje internetovou aktivitu a krade určité přihlašovací údaje, poté odešle zachycená data vzdálenému útočníkovi za účelem finančního zisku. Může si stáhnout další malware, snížit zabezpečení webového prohlížeče a použít rootkit ke skrytí své škodlivé aktivity [2]. Malware využívá vkládání kódu, aby zabránil detekci a odstranění. Když se „EyeStye.N“ spustí, může vložit kód do běžících procesů, jako je cmd.exe a explorer.exe.
Naše analýza ukazuje, že do programu „explorer.exe“, který je nadřazeným programem „iexplore.exe“, je injektován škodlivý program.
MalwareBytes
Následující snímek ukazuje, že MalwareBytes také detekoval extrahované knihovny DLL jako škodlivé a pojmenoval je jako „Trojan.Grabber“.
Historie příkazů (CMD historie)
Dalším plug-inem nástrojů Volatility je „cmdscan“, který skenuje historii příkazů spuštěných na počítači. Výsledek následujícího příkazu ukazuje historii příkazů spuštěných na napadeném PC.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 cmdscan -f memdump3.raw
Výstup „cmdscan“ ukazuje, že útočník spustil několik příkazů na příkazovém řádku a spustil škodlivý program „iexplorer.exe“ a „ieplore.exe“. Další podezřelé zobrazené ve výše uvedeném výstupu je „_lt112.spn“. Je prohledán v online zdrojích a výsledek ukazuje, že je spojen s malwarovým programem.
soubor _lt112.spn
Analytik hledal „_lt112.spn ” řetězec na internetu a našel jsem jej na následujících stránkách.
- https://malwr.com/analysis/ODMwYzM1NGViZDkwNDc4YTllYWU4ZTVlMTE1YzJmNGQ/
- https://www.hybrid-analysis.com/sample/1416ff3fca01d4d4854799f2d3880fb6e100de3f7fa1c54465d4d6b9cf9b5d96?environmentId=100
Připojení k síti
Protože víme, že síťové připojení lze nalézt v analýze paměti, tak se proti obrazu paměti spustí zásuvný modul „netscan“ a výsledek ukazuje, že škodlivý program „iexplore“ otevřel několik připojení na počítači oběti.
E:\>"E:\volatility_2.4.win.standalone\volatility-2.4.standalone.exe" --profile=Win7SP0x86 netscan -f memdump3.raw
Část 1
Část 2
Část 3
Podrobná analýza paměti tedy ukazuje, že počítač je kompromitován malwarem, který běží jako „explorer.exe“ a „iexplore.exe“ na počítači oběti. Ukazuje také, že škodlivý program „iexplore.exe“ se připojuje na port 80 z počítače oběti.
Odkazy
- http://www.volatilityfoundation.org/24
- https://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Trojan:Win32/EyeStye.N