Pythonフォレンジック-DshellとScapy

DShell

DshellPythonベースのネットワークフォレンジック分析ツールキットです。このツールキットは、米国陸軍研究所によって開発されました。このオープンソースツールキットのリリースは2014年でした。このツールキットの主な焦点は、フォレンジック調査を簡単に行うことです。

ツールキットは、次の表にリストされている多数のデコーダーで構成されています。

シニア番号 デコーダーの名前と説明
1

dns

これは、DNS関連のクエリを抽出するために使用されます

2

reservedips

DNS問題の解決策を特定します

3

large-flows

NetFlowのリスト

4

rip-http

HTTPトラフィックからファイルを抽出するために使用されます

5

Protocols

非標準プロトコルの識別に使用されます

米国陸軍研究所は、次のリンクで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

Scapyは、ネットワークトラフィックの分析と操作に使用されるPythonベースのツールです。以下はScapyツールキットのリンクです-

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

このツールキットは、パケット操作を分析するために使用されます。多数のプロトコルのパケットをデコードしてキャプチャすることが非常に可能です。Scapyは、ネットワークトラフィックに関する詳細な説明を調査員に提供するという点で、Dshellツールキットとは異なります。これらの説明はリアルタイムで記録されています。

Scapyには、サードパーティのツールまたはOSフィンガープリントを使用してプロットする機能があります。

次の例を考えてみましょう。

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"

このスクリプトは、相互に通信しているネットワークパケットで国の詳細の詳細な説明を提供します。

上記のスクリプトは、次の出力を生成します。