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"
このスクリプトは、相互に通信しているネットワークパケットで国の詳細の詳細な説明を提供します。
上記のスクリプトは、次の出力を生成します。