Python取證 - Dshell和Scapy



DShell

Dshell是一個基於Python的網路取證分析工具包。該工具包由美國陸軍研究實驗室開發。這個開源工具包於2014年釋出。該工具包的主要重點是簡化取證調查。

該工具包包含大量的解碼器,如下表所示。

序號 解碼器名稱及描述
1

dns

用於提取DNS相關查詢

2

reservedips

識別DNS問題的解決方案

3

large-flows

列出網路流量

4

rip-http

用於從HTTP流量中提取檔案

5

協議

用於識別非標準協議

美國陸軍實驗室在GitHub上維護了克隆倉庫,連結如下:

https://github.com/USArmyResearchLab/Dshell

Clone Repository

克隆包含一個用於安裝此工具包的指令碼install-ubuntu.py()

安裝成功後,它將自動構建稍後將使用的可執行檔案和依賴項。

依賴項如下:

dependencies = { 
   "Crypto": "crypto", 
   "dpkt": "dpkt", 
   "IPy": "ipy", 
   "pcap": "pypcap" 
}

此工具包可用於pcap(資料包捕獲)檔案,這些檔案通常在事件發生期間或警報期間記錄。這些pcap檔案是由Linux平臺上的libpcap或Windows平臺上的WinPcap建立的。

Scapy

Scapy是一個基於Python的工具,用於分析和操作網路流量。以下是Scapy工具包的連結:

http://www.secdev.org/projects/scapy/

此工具包用於分析資料包操作。它能夠解碼大量協議的資料包並捕獲它們。Scapy與Dshell工具包的不同之處在於,它為調查人員提供了有關網路流量的詳細描述。這些描述已即時記錄。

Scapy能夠使用第三方工具或作業系統指紋識別進行繪圖。

考慮以下示例。

import scapy, GeoIP #Imports scapy and GeoIP toolkit 
from scapy import * 
geoIp = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE) #locates the Geo IP address 
def locatePackage(pkg): 
src = pkg.getlayer(IP).src #gets source IP address 
dst = pkg.getlayer(IP).dst #gets destination IP address 
srcCountry = geoIp.country_code_by_addr(src) #gets Country details of source 
dstCountry = geoIp.country_code_by_addr(dst) #gets country details of destination 
print src+"("+srcCountry+") >> "+dst+"("+dstCountry+")\n"

此指令碼提供了網路資料包中國家/地區詳細資訊的詳細描述,以及彼此通訊的國家/地區。

上述指令碼將產生以下輸出。

DShell and Scapy Output
廣告