電子取證
前言:比賽看到取證類的題目,但是沒了解過,所以很尷尬。比賽那道題沒做出來,沒有什麼思路,所以等下師傅們的wp看看之後在進行復現。然後就在CTF平臺上找了取證類的題目,進行學習一下。
知識瞭解
取證方法
- 活取證
—抓取檔案metadata、建立時間線、命令歷史、分析日誌檔案、雜湊摘要、轉存記憶體資訊
—使用未受感染的乾淨程式執行取證
—U盤/網路 儲存收集到的資料 - 死取證
—關機後製作硬碟映象、分析映象(MBR、GPT、LVM)
取證工具
目前學習kali中部分取證工具的使用。
記憶體dump工具
- 記憶體檔案與記憶體大小接近或者稍微大點,raw格式。
取證工具volatility使用:
分析記憶體檔案
>>> volatility imageinfo -f xp.raw #檔案資訊,關注profile
>>> volatility hivelist -f xp.raw --profile=WinXPSP3x86 #資料庫檔案
>>> volatility -f xp.raw --profile=WinXPSP3x86 hivedump -o 0xe124f8a8 #按虛擬機器記憶體地址檢視登錄檔內容
>>> volatility -f xp.raw --profile=WinXPSP3x86 printkey -K "SAM\Domains\Account\User\Names" #使用者賬號
>>> volatility -f xp.raw --profile=WinXPSP3x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogin" #最後登入的使用者
>>> volatility -f xp.raw --profile=WinXPSP3x86 userassist #正在執行的程式、執行過多少次、最後一次執行時間等
工具安裝
我的是2020版本的kali,沒有自帶volatility,但是包管理中有,直接使用命令安裝
apt-get install volatility
很快就安裝好啦,百度也可以找到很多教程。不再細說。
然後就利用幾道題來測試一下。
forensic
來自BUUCTF的題目。
下載後是一個512MB的raw檔案,直接工具分析
這個有三個,一般是第一個。說一下,第一步,第一步必須先檢測這個檔案時什麼系統生成的,後面的命令操作都需要profile,是必須指明作業系統的。所以這個很重要。
小插曲
使用工具時遇到這樣的情況,
報錯資訊:No suggestion (Instantiated with no profile)
這個其實跟工具沒關係,原因就是開啟的檔案不是符合規則的檔案,也就是這個檔案不是raw檔案,所以沒有suggest。昨天我一直以為是我的工具問題,著急半天,其實就是開啟的檔案不是volatility可以分析的檔案。
OK,小插曲結束。
繼續解題……
檢視程式
volatility -f mem.raw --profile=Win7SP1x86_23418 pslist
注意這四個程式,
Dumpit.exe
一款記憶體映象提取工具。
TrueCrypt.exe
一款磁碟加密工具。
Notepad.exe
windows自帶的記事本。
Mspaint.exe
windows自帶畫圖工具。
檢視使用者Home目錄的檔案,可以發現有一個使用者儲存的圖片檔案
volatility -f mem.raw --profile=Win7SP1x86 filescan|grep -v Temporary |grep -v .dll|grep -E 'png|jpg|gif|zip|rar|7z|pdf'
發現在picture中有個無標題的圖片,
可以將這個圖片dump下來
volatility -f mem.raw --profile=Win7SP1x86 dumpfiles -Q 0x000000001efb29f8 --dump-dir=./
就可以在當前工作目錄看到這個檔案了。我的是在桌面。
檢視桌面檔案
volatility -f mem.raw --profile=Win7SP1x86 filescan | grep "Desktop"
這個軟體在桌面執行,還看到它的LETHALBE3A-20190916-135515.raw
檔案也在,這個檔案是dumpit生成的,然後dump下這個檔案
但是桌面上什麼也沒有,說明這個檔案還沒內容,也就是指明,在取證的時候,dumpit還在執行狀態,所以raw裡才沒有資料。
然後可以dump下dumpit的記憶體映象來試試。
volatility -f mem.raw --profile=Win7SP1x86 memdump -p 3380 -D ./
然後分析3380.dmp檔案。
foremost分離得到一個包含flag.txt的一個檔案。
找了好久發現在壓縮包裡
密碼就是之前的那個無標題的圖片內容。
1YxfCQ6goYBD6Q
未知題目
題目來源——https://www.freebuf.com/news/145262.html
同樣的姿勢,先檢視作業系統的資訊。使用imageinfo
發現是WinXPSP2x86
題目說在桌面寫著什麼,可能是記事本,不過不確定,可以pslist列一下。
看一遍,記事本才有可能寫東西,所以直接列出notepad的內容
volatility -f m0re.raw --profile=WinXPSP2x86 notepad
發現有一串編碼。
666C61677B57336C6563306D655F376F5F466F72336E356963737D
符合base16編碼的規則。所以進行解密得到第一個flag。
flag{W3lec0me_7o_For3n5ics}
第二個問題,小白的密碼,
hashdump可以將記憶體中的NTML提取出來:
volatility -f m0re.raw --profile=WinXPSP2x86 hashdump
找個線上網站進行破解1e581aafa474dfadfdf83fc31e4fd4ea
破解得到flag{19950101}
果然一般都是生日當密碼。
第三個
傳送檔案就需要連線外機,剛看到有nc,所以他一定是用nc來傳輸檔案的,這樣一來就有目標了。使用connscan外掛檢視
可以看到本地機器是192.168.57.21的1045埠去連線了遠端的192.168.57.14的2333埠,程式號是120,知道程式號就可以使用psscan(程式池掃描外掛)來獲取資訊。
看到了確實是nc,而且還有cmd,則說明是在cmd的命令列下使用的nc連線的外機。使用cmdscan外掛來檢視命令歷史記錄。
看到使用了命令
ipconfig
cd C:\Program Files\Netcat
nc 192.168.57.14 2333 < P@ssW0rd_is_y0ur_bir7hd4y.zip
傳輸的檔案是P@ssW0rd_is_y0ur_bir7hd4y.zip
可以使用memdump外掛(轉儲程式的可定址記憶體資料外掛)匯出使用nc傳送的相關資料:
volatility -f m0re.raw --profile=WinXPSP2x86 memdump -p 120 --dump-dir=./
桌面生成一個120.dmp
跟上一題一樣,foremost分離檔案
有六個zip檔案,挨個開啟看看,輸入密碼19950101得到flag
到此,記憶體取證入門。下次再詳細地學習活取證和死取證
參考部落格
http://www.bubuko.com/infodetail-3418258.html
記憶體取證三項CTF賽題詳解
相關文章
- 【電子取證:映象模擬篇】DD、E01系統映象動態模擬
- ISC 2021雲峰會:聚焦詐騙取證難題 揭祕網路犯罪下的電子證據鏈
- 電子消費品CE-RED認證
- 擼個爬蟲,爬取電影種子爬蟲
- 當一頭肉牛擁有了“電子身份證”
- 使用 JavaScript 驗證電子郵件的 4 種方法JavaScript
- python爬蟲學習01--電子書爬取Python爬蟲
- 電子郵件證書的SSL證書協議要不要開啟?協議
- 國辦:擴大電子證照應用領域,鼓勵各類主體開展電子簽名、電子印章社會化應用
- Iphone的Wallet中如何移除電子登機牌憑證iPhone
- Spring Boot 參考指南(驗證&傳送電子郵件)Spring Boot
- 使用 Postfix 從 Fedora 系統中獲取電子郵件
- 爬取子頁
- 瞭解電子郵件加密保證隱私內容安全加密
- 電子電路基礎
- 民生證券:2022年電子煙行業報告(附下載)行業
- 電子概念
- Python爬蟲入門【10】:電子書多執行緒爬取Python爬蟲執行緒
- 使用Python快速獲取公眾號文章定製電子書(一)Python
- 電子元器件電子採購管理系統
- 實名認證電子簽署:防範合同糾紛,提升交易信任
- 電路與電子1.2.2電感
- HTTP快取——協商快取(快取驗證)HTTP快取
- HTTP 快取驗證HTTP快取
- 電子郵件
- 電子課件
- 分享電子書
- python電子版Python
- python電子書Python
- 電子簽署如何保障電子合同的安全性
- 國盛證券:中國電子行業重構與崛起(附下載)行業
- 前端獲取驗證碼前端
- 資料預取小輪子
- PHP 電子商務PHP
- 漏洞管理電子流
- Mac電子郵箱Mac
- 電子書DRM破解
- 使用開源、免費軟體進行取證(不氪金取證方法)