日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CTF 内存取证 USB流量分析

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CTF 内存取证 USB流量分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

護網杯2019預選賽第二題

內存取證弟弟題?

題目名叫:

Baby_forensic

題目附件地址

目錄

Baby_forensic

知識點:

內存取證工具volatility 的使用:

取證方法建議

Keyboard scan code:

解題過程:

1. Kali中解壓文件

2. pslist查看進程

3. 通過cmdscan[孫2]?提取命令歷史記錄,結果如下

4. 通過filescan查看文件目錄,檢查disk.zip:

5. 使用binwalk -e命令提取文件

6. 分析usb.pcapng文件


知識點:

內存取證工具volatility 的使用:

volatility -f <文件名> --profile=<配置文件> <插件> [插件參數]

使用imageinfo插件來猜測dump文件的profile值:WinXPSP2x86

root@kali:~/quzhen# volatility -f mem.vmem imageinfo

grep是用來搜索特定的字符串,bgrep是用來搜索非文本數據模式和hexdump

volatility –info??? 用于查看volatility已經添加的profile和插件信息

Volatility -f file.raw imageinfo???? 判斷當前鏡像信息,或kdbgscan,僅適合windows內存鏡像

常見插件

Volatility -f file.raw –profile=WinXPSP2x86 notepad????? 查看當前展示的notepad文本

Volatility -f file.raw –profile=WinXPSP2x86 pslist ?? 列出運行的進程,如果Exit所在的一列顯示了日期時間,則表明該進程已經結束了

Hivelist?? 列出緩存在內存中的注冊表

Filescan? 掃描內存中的文件

Dumpfiles????? 將內存中的緩存文件導出

Volatility -f file.raw –profile=WinXPSP2x86 Memdump -p 進程號 -D ./(導出目錄)?????? 將某個進程信息導出/根據pid dump出指定進程

Foremost 2888.dmp??? 分析dump出的內存文件

Svcscan? 掃描windows的服務

Connscan 查看網絡連接

Cmdscan 查看命令行上的操作

?

取證方法建議

RFC 3227提供了獲取數字證據的許多做法,比如,收集數據的順序可以決定調查的成敗。

這個順序稱為波動順序(Volatility Order),顧名思義,調查人員必須首先收集易消失的數據。易失性數據是系統關閉時可能丟失的任何數據,例如連接到仍然在RAM中注冊的網站。調查人員必須將先從最不穩定的證據中開始收集數據

1)緩存

2)路由表,進程表,內存

3)臨時系統文件

4)硬盤

5)遠程日志,監控數據

6)物理網絡配置,網絡拓撲

7)媒體文件(CDDVD

Keyboard scan code:

USB_Interrupt in 表示該USB設備為鍵盤[孫1]?,捕捉到的鍵盤數據位于Leftover Capture Data域;

鍵盤數據由8個字節組成:

?????? Byte 0???? ?????? 鍵盤修飾符位,SHIFT, ALT, CTRL等

?????? Byte 1???? ?????? 保留位

?????? Byte 2-7 ?????? 當前按下的鍵,最多6個,順序不重要(一個鍵只有兩種狀態:pressed or not pressed)

?

解題過程:

1. Kali中解壓文件

由題目可知是內存取證,利用volatility工具分析解壓的vmem文件

?

判斷當前鏡像信息,分析操作系統

?

2. pslist查看進程

?

進程分析:

wscntfy.exeWindows系統關鍵進程,負責檢查計算機的安全狀態,包括防火墻、病毒防護軟件、自動更新三個安全要素,如果這些服務狀態不正常,系統就會在狀態欄進行告警提示。這個進程也可能會被病毒軟件和黑客程序偽裝

ctfmon.exeMicrosoft Office產品套裝的一部分,是有關輸入法的一個可執行程序。它可以選擇用戶文字輸入程序,和微軟Office XP語言條。這不是純粹的系統程序,但是如果終止它,可能會導致不可知的問題。另外,ctfmon.exe可能被感染上木馬而成為病毒程序

wordpad.exe是微軟Microsoft Windows自帶的免費字處理工具。

Conime.exe,輸入法編輯器

Cmd.exewindows系統的命令行程序

?

根據進程列表可以推斷出當前用戶可能正在使用寫字板和命令行程序,可以從這兩個方面入手

?

查看進程wordpad,保存為dmp文件

?

用hexeditor查看導出的dmp文件,檢索flag,這幾個進程文件里都有提示:

invalid flags (%08x) specified to RtlCreateHeap,

無其他發現

?

3. 通過cmdscan[孫2]?提取命令歷史記錄,結果如下

有用的信息:hill_matrix,應該是用到了hill cipher

通過cmdline查看命令行用到的參數:

發現可能通過寫字板程序產生了一個文件:disk.zip

?

4. 通過filescan查看文件目錄,檢查disk.zip:

Filescan沒有發現直接的flag文件,媒體文件氣球.wav也沒有什么有用的信息

最后在disk.zip中尋找

Dump出媒體文件氣球.wav和之前發現的disk.zip

將dump出的文件重命名為氣球.wav 和disk.zip

經查看,wav文件中沒有有用的信息

disk.zip解壓后得到一個鏡像文件disk.img,查看它的imageinfo,無果

File命令發現是linux下的ext2文件系統:

?

5. 使用binwalk -e命令提取文件

經過兩次binwalk 提取到以上文件,發現一個usb.pcapng文件(usb流量分析)

?

6. 分析usb.pcapng文件

(雖然有現成的腳本跑USB流量的pacp文件,但是不看怎么知道是鍵盤流量呢?(命名里寫了usb),所以還是要一步一步來呀)

Tshark -r 查看,信息量有點大:

?

USB_Interrupt in 表示該USB設備為鍵盤[孫3]?,捕捉到的鍵盤數據位于Leftover Capture Data域,用tshark -T fields -e usb.capdata 查看鍵盤數據

linux命令后加 ” > file.path.name” 可以輸出存為文件

?

根據keyboard scan code表(參考

https://www.shsu.edu/csc_tjm/fall2000/cs272/scan_codes.html)寫腳本提取之。

?

''' 2019/9/9 @author:sunmx USB流量分析keyboard scan code轉為鍵盤字符 參數:導出的usb流量信息 ''' import sys import osusb_codes = {0x04:"aA", 0x05:"bB", 0x06:"cC", 0x07:"dD", 0x08:"eE", 0x09:"fF",0x0A:"gG", 0x0B:"hH", 0x0C:"iI", 0x0D:"jJ", 0x0E:"kK", 0x0F:"lL",0x10:"mM", 0x11:"nN", 0x12:"oO", 0x13:"pP", 0x14:"qQ", 0x15:"rR",0x16:"sS", 0x17:"tT", 0x18:"uU", 0x19:"vV", 0x1A:"wW", 0x1B:"xX",0x1C:"yY", 0x1D:"zZ", 0x1E:"1!", 0x1F:"2@", 0x20:"3#", 0x21:"4$",0x22:"5%", 0x23:"6^", 0x24:"7&", 0x25:"8*", 0x26:"9(", 0x27:"0)",0x2C:" ", 0x2D:"-_", 0x2E:"=+", 0x2F:"[{", 0x30:"]}", 0x32:"#~",0x33:";:", 0x34:"'\"", 0x36:",<", 0x37:".>", 0x4f:">", 0x50:"<"}def code2chr(filepath):lines = []pos = 0for x in open(filepath,"r").readlines():code = int(x[6:8],16) # 即第三個字節if code == 0:continue# newline or down arrow - move downif code == 0x51 or code == 0x28:pos += 1continue# up arrow - move upif code == 0x52:pos -= 1continue# select the character based on the Shift keywhile len(lines) <= pos:lines.append("")if code in range(4,81):if int(x[0:2],16) == 2:lines[pos] += usb_codes[code][1]else:lines[pos] += usb_codes[code][0]for x in lines:print(x)if __name__ == "__main__":# check argvif len(sys.argv) != 2:print("Usage:\n\tpython keyboardScanCode.py datafile.txt\nhow to get datafile:\t tshark -r file.usb.pcapng -T fields -e usb.capdata > datafile.txt")exit(1)else:filepath = sys.argv[1]code2chr(filepath)

運行結果:

?

在線解密:

?

得到LHBDSLUDRIDT

轉為小寫 即為flag

別問我為什么轉小寫,我也不知道

提交大寫的不對,小寫顯示正確


?[孫1]https://bitvijays.github.io/LFC-Forensics.html#usb-keyboard

?[孫2]The cmdscan plugin searches the memory of csrss.exe on XP/2003/Vista/2008 and conhost.exe on Windows 7 for commands that attackers entered through a console shell (cmd.exe). ?This is one of the most powerful commands you can use to gain visibility into an attackers actions on a victim system, whether they opened cmd.exe through an RDP session or proxied input/output to a command shell from a networked backdoor.

?

?[孫3]https://bitvijays.github.io/LFC-Forensics.html#usb-keyboard

總結

以上是生活随笔為你收集整理的CTF 内存取证 USB流量分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。