4. Získávání a analýza efemérních informací informací

4.2. Analýza získávání paměti

Existují nástroje pro analýzu výpisů paměti, které jsou založeny pouze na obsahu paměti RAM. Tento obsah může být neúplný, protože části paměti jsou uloženy na disk, pokud nestačí k uložení všech dat. K překonání tohoto problému publikoval Nicholas Paul Maclean svou práci "Acquisition and Analysis of Windows Memory" (Získávání a analýza paměti systému Windows), jak funguje správa paměti v systémech Windows, a poskytl open-source nástroj vtop, který umožňuje kompletně rekonstruovat virtuální paměťový prostor procesu.

Pro analýzu výpisu paměti můžeme použít program Volatility, kde je možné provádět úkoly, jako je získání vysokoúrovňových informací o obraze, kde je identifikace operačního systému (Figure 35), servisního balíčku, hardwaru, architektury, adresy paměti a času, kdy byl Dump vytvořen.


Obrázek 35 - Získání informací o výpisu paměti

Příkazy užitečné pro provedení výpisu záznamů:

Export do textu:

C:\Regdmp.exe > e:\registryDump.txt

Najít výrazy v exportovaném souboru:

C:\Find/i "URL" registryDump.txt

Kopie používaných souborů registru:

C:\RawCopy.exe C:\WINDOWS\system32\config\SYSTEM E:\output -AllAttr

Další užitečné příkazy:

Pořiďte snímek obrazovky pracovní plochy:

C:\nircmd.exe savescreenshot screen1.png (Nirsoft.net)

Kontrola, zda je disk chráněn šifrováním (Figure 36)

C:\EDD.exe /accepteula /Batch > e:\EncryptedDiskDetector.txt

C:\Manage-bde -protectors c: -get


 Obrázek 36 - Identifikace šifrovaného disku

4.2.1.  Sintax programu Volatilita

 

První verze Volatility Framework byla zveřejněna na konferenci Black Hat. Software je založen na dlouholetém akademickém výzkumu v oblasti pokročilé analýzy paměti a forenzní analýzy. Volatility nyní umožňuje výzkumníkům analyzovat, v jakém stavu se stroj nacházel v době pořízení záznamu, a to na základě dat získaných z volatilní paměti.

Volatility Framework je založen na programovacím jazyce Python a je vyvinut v jeho nejvyspělejší verzi Python 2, kterou se budeme zabývat v tomto tématu. S příchodem Pythonu 3 vyvstala také potřeba aktualizovat verzi Volatility, využít výhod nové verze Pythonu a poskytnout jí více automatizace. Ve verzi 2 frameworku Volatility je prvním krokem při provádění analýzy paměti identifikace typu operačního systému. K tomu můžeme použít příkaz imageinfo programu Volatility (Figure 37). Tento příkaz je užitečný pro získání informací o obrazu na vysoké úrovni, uvádí pravděpodobnou identifikaci operačního systému (profil), service pack, hardwarovou architekturu, adresu paměti a čas výpisu.

 

Obrázek 37 - Volatilita - Příklad výstupu příkazu imageinfo

Později musíme obsah paměti předat do textových souborů, aby bylo možné provést analýzu jejího obsahu. Volatility k tomuto účelu poskytuje řadu zásuvných modulů.

Sintax: volatility -f <nome_da_imagem> -profile=< tipo_de_OS> <plugin> > <output>

·       -f: Soubor, který je výsledkem pořízení systému

·       -profile: pokyn k použití profilu operačního systému (dříve identifikovaného)

·       plugin: plugin, který se má spustit

·       výstup: soubor pro export výsledků

 

4.2.2.  Zásuvné moduly Volatility - Extrakce

Zásuvné moduly, které volatilita používá, jsou specifické pro identifikaci příslušných informací v obsahu výpisu paměti RAM. Některými z těchto zásuvných modulů se budeme zabývat zde.

Pslist           Seznam spuštěných procesů

 

Pstree         Zobrazení procesů, které se liší svým původem (Obrázek 38)


Obrázek 38 - volatilita pluginu pstree

 

Psxview       Porovnání procesů (Obrázek 39)


Obrázek 39 - Zásuvný modul Volatility psxview

 

Netscan       Zobrazení síťových připojení

 

Cmdline      Cmdline Porovnání procesů (Obrázek 40)


Obrázek 40 - Zásuvný modul cmdline Volatility

 

Cmdscan     Porovnání procesů (Obrázek 41)


Obrázek 41 - Zásuvný modul cmdscan Volatility

 

Konzoly. Porovnání procesů (Figure 42)


Obrázek 42 - Zásuvný modul konzol Volatility

DumpregistryExtrahovat soubory protokolu

 

4.2.3.  Volatilita zásuvných modulů - analýza

Soubory protokolu extrahované z paměti je možné analyzovat stejnými nástroji jako soubory protokolu extrahované z operačního systému. Příkladem je RegRipper, volatilita sama nebo RegistryReport, zobrazený na obrázku 43.


Obrázek 43 - Analýza souboru RegistryReport

Při analýze paměti je také možné získat soubory, které byly zpracovány. Existují programy s možností identifikace a extrakce souborů z paměti, jak ukazuje následující obrázek se softwarem Belkasoft, kde je možné ověřit, že identifikoval adresy procházení v prohlížečích, údaje o konverzaci v chatu, soubory elektronické pošty a obrazové soubory (Obrázek 44).


Obrázek 44 - Analýza souborů pomocí Belkasoft

 

SANS zveřejnila plakát (Obr. 45) s odkazem na analýzu paměti pomocí Volatility, který shrnuje mnoho zásuvných modulů užitečných pro tento typ analýzy.


Obrázek 45 - Plakát SANS - Cheat Sheet pro forenzní analýzu paměti v2.0

 

Vytvoření časové řady událostí v paměti

Z dat získaných z volatilní paměti je užitečné vytvořit časovou osu, která umožní datovat a třídit údaje v systému. Jedná se o proces zahrnující níže popsané postupy:

Timeliner     vytvořit časovou osu

C:\> volatility_2.6_win64_standalone.exe -f IE8WIN7.dmp --profile=Win7SP1x86_23418 timeliner -- output=body > timeliner.body

Více informací na: https://volatility-labs.blogspot.com/2013/05/movp-ii-23-creating-timelines-with.html

Mftparser    Obt (tabulka hlavních souborů).

C:\> volatility_2.6_win64_standalone.exe -f IE8WIN7.dmp --profile=Win7SP1x86_23418 mftparser -- output=body > mftparser.body

 

Spojte soubory týkající se zásuvných modulů timeliner a mftparser.

# cat timeliner.body mftparser.body >> timeline.log

Mactime[1]    Generování časové osy z kombinace souborů

# mactime -d -b timeline.log > timeline.csv

Konečný výsledek postupů TimeLine (Obrázek 46)


Obrázek 46 - Obsah souboru timeline.csv

Pomocí této tabulky lze snadno identifikovat akce provedené v paměti zařízení, které doplní informace získané při analýze zařízení v rámci forenzní analýzy mrtvých schránek.

 

Příklad identifikace přístupu do sítě TOR

Jako příklad analýzy paměťových dat můžeme uvést použití prohlížeče Tor Browser, který neukládá navigační informace na pevný disk, ačkoli je možné je identifikovat a analyzovat prostřednictvím paměti.

Začneme potvrzením profilu systému (Obrázek 47).


Obrázek 47 - Zásuvný modul Volatility imageinfo

Ke kontrole spuštěných procesů jsme použili zásuvný modul pstree, který filtruje procesy podle názvu "firefox.exe" (Figure 48), protože tento proces používá prohlížeč Tor Browser, nebo přímo podle názvu "tor.exe". Pro získání dalších informací o procesech v analyzovaném zařízení máme ještě možnost použít pluginy pslist, psscan.

 

Obrázek 48 - Využití volatility ve výzkumu procesů

 

Getsidy       Informace o zahájení procesu, které se vztahují k uživateli (Obrázek 49).


Obrázek 49 - Využití volatility při identifikaci procesu

netscan       zobrazí síťová připojení

V tomto případě proces "tor.exe" indikuje dokončené připojení k cílové IP "54.37.17.235" na portu 9001 (Obrázek 50).


Obrázek 50 - Použití volatility při identifikaci sítě

Firefoxhistorie Seznam dotazovaných adres (URL) (Obrázek 51).


Obrázek 51 - Použití volatility k načtení adres URL z paměti

Zdroj: https://blog.superponible.com/2014/08/31/volatility-plugin-firefox-history/