Python 取证 - Dshell 和 Scapy


外壳程序

Dshell是一个基于Python的网络取证分析工具包。该工具包由美国陆军研究实验室开发。该开源工具包于 2014 年发布。该工具包的主要重点是轻松进行取证调查。

该工具包由大量解码器组成,如下表所列。

先生。 解码器名称和描述
1

域名系统

这用于提取 DNS 相关查询

2

保留提示

确定 DNS 问题的解决方案

3

大流量

网络流量列表

4

rip-http

它用于从 HTTP 流量中提取文件

5

协议

用于非标准协议的识别

美国陆军实验室在 GitHub 中维护了克隆存储库,链接如下:

https://github.com/USArmyResearchLab/Dshell

克隆存储库

该克隆包含一个用于安装该工具包的脚本install-ubuntu.py () 。

一旦安装成功,它会自动构建稍后使用的可执行文件和依赖项。

依赖关系如下 -

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

该工具包可用于 pcap(数据包捕获)文件,该文件通常在事件或警报期间记录。这些 pcap 文件要么由 Linux 平台上的 libpcap 创建,要么由 Windows 平台上的 WinPcap 创建。

斯卡皮

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 和 Scapy 输出