0、前言
對上一次的攻擊進行分析
1、概述
1)什麼是 Volatility
Volatility
是開源的Windows,Linux,MaC,Android的記憶體取證分析工具。基於Python
開發而成,可以分析記憶體中的各種資料。Volatility
支援對32位或64位Wnidows、Linux、Mac、Android作業系統的RAM資料進行提取與分析。
volatility
使用:
volatility -f <檔名> --profile=<配置檔案> <外掛> [外掛引數]
2)什麼是objdump
objdump
命令是Linux下的反彙編目標檔案或者可執行檔案的命令。objdump
工具可以用來顯示二進位制檔案的資訊,就是以一種可閱讀的格式讓你更多地瞭解二進位制檔案可能帶有的附加資訊。
3)什麼是BitDefender(bdscan)
Bitdefender(bdscan)
是一款適用於Unix和Linux環境的防病毒掃描程式,具有檢測和刪除特洛伊木馬,rootkit,流氓軟體,廣告軟體,垃圾郵件等功能。
4)前提條件:
已經通過Kali
對MS10-061
漏洞進行攻擊,取證收集
2、實驗步驟
1)確定Volatility
的配置檔案
2)提取網路連線資訊
3)關聯可疑網路連線與程式ID
4)關聯檔案與程式ID
5)關聯DLL與後門程式
6)掃描後門程式
3、配置分析環境
1)登入到Kali
Volatility
執行程式許可權
3)將Volatility
路徑新增到環境變數中
4 、確定要使用的Volatility 的配置檔案
1)檢視取證檔案
2)檢視映象資訊vol.py imageinfo -f ms10_061.dd
複製程式碼
Volatility
將檢測映象的作業系統版本資訊,需要一點時間,耐心等待
WinXPSP2x86,WinXPSP3x86
,在這兒我們用WinXPSP2x86
好了
5、關聯網路連線與程式ID
1)檢測網路連線
vol.py --profile=WinXPSP2x86 -f ms10_061.dd connections
複製程式碼
vol.py --profile=WinXPSP2x86 -f ms10_061.dd connscan //檢視網路連線狀態
複製程式碼
其中139
是NetBIOS
埠,445
是SMB
埠,9999
是 Meterpreter
會話 回連埠,7777
是 Helix
記憶體取證收集埠
其中 PID 392
就是Meterpreter
會話回連程式的ID
2)檢視程式資訊
vol.py --profile=WinXPSP2x86 -f ms10_061.dd pslist | egrep '(Offset|----------|392)'
複製程式碼
其中,PID:程式號,PPID是程式的父程式號
還可以用 pstree
以樹形結構檢視程式表
g9bMJIYNoBtyOS
,而且它還包括cmd
的子程式
3)使用(dlllist
)顯示程式載入的DLL
vol.py --profile=WinXPSP2x86 -f ms10_061.dd dlllist | grep "g9bMJIYNoBtyOS"
複製程式碼
通過這一步分析,我們可以得出以下結果:
g9bMJIYNoBtyOS
這個可疑的程式(PID:392
)連線到了遠端主機192.168.1.34
的9999
埠,而且目錄是 C:\WINDOWS\system32
通常來說此目錄(C:\ WINDOWS \ system32
)應僅包含系統特定的程式(可執行檔案)和庫(DLL
)
6、關聯檔案與DLL
objdump g9bMJIYNoBtyOS.exe -x -D | grep "DLL Name"
複製程式碼
WSOCK32.dll
是一個用於網路連線(TCP/IP連線)的Windows庫檔案
7、從記憶體中查詢隱藏的惡意程式
使用 malfind
引數分析程式ID
1)首先在程式中搜尋 svchost
程式
svchost.exe
是承載多個Windows服務的系統程式
vol.py --profile=WinXPSP2x86 -f ms10_061.dd pslist | grep svchost
複製程式碼
然後我們用 malfind
引數搜尋程式中隱藏或注入的DLL/程式碼
vol.py --profile=WinXPSP2x86 -f ms10_061.dd malfind -p 864,944
複製程式碼
拿svchost
的程式ID
進行查詢,沒有發現
再拿可疑程式ID試試
這次顯示了很多資訊8、使用BitDefender掃描可執行檔案
bdscan --no-archive --action=ignore g9bMJIYNoBtyOS.exe | tee ms10_061_bdscan.txt
複製程式碼
9、從登錄檔提取使用者資訊
使用 hivelist
引數在記憶體中找到登錄檔配置單元的虛擬地址,以及在磁碟上的完整路徑
1)查詢 system
和SAM
兩個登錄檔鍵值的虛擬地址
vol.py --profile=WinXPSP2x86 -f ms10_061.dd hivelist | egrep '(system$|SAM$)'
複製程式碼
2)然後通過 hashdump
將檔案儲存出來
3)提取管理員SAM
檔案
John
破解管理員密碼
cat /dev/null > /root/.john/john.pot //清除pot檔案,裡面包含以前破解的密碼
john --format=nt admin_sam.txt | tee admin_passwd.txt //--format=nt表示為WindowsNT密碼
複製程式碼
10、說明
本文由合天網安實驗室原創,轉載請註明來源。
關於合天網安實驗室
合天網安實驗室(www.hetianlab.com)-國內領先的實操型網路安全線上教育平臺 真實環境,線上實操學網路安全 ; 實驗內容涵蓋:系統安全,軟體安全,網路安全,Web安全,移動安全,CTF,取證分析,滲透測試,網安意識教育等。