PacketSifter
PacketSifterとは?
PacketSifterは、PCAPデータをバッチ処理して潜在的なIOCを発見するためのツールです。
PacketSifterを希望の統合機能(VirusTotal、AbuseIPDB)で初期化し、pcapと必要なスイッチを渡すだけで、データをふるいにかけ、複数の出力ファイルを生成します。
注: 対応するスイッチを使用する前に、AbuseIPDBInitial.shとVTInitial.shを実行してください。実行しないと統合機能は動作しません。
2021/05/27
PacketSifterは、ユーザーとの対話をよりスムーズにするために刷新されました。新しい更新版のpacketsifter.shをダウンロードし、./packetsifter -h を実行して、新しいPacketSifterの正しい使い方を学んでください!
作者
Ross Burke (Twitter @packetsifter)
仕組み
解析したいpcapと希望するフラグをPacketSifterに渡すだけで、あとはPacketSifterが処理を行います。
例:
root@ubuntu:~# ./packetsifter -i /tmp/testing.pcap -a -r -v
コマンドラインオプション
OPTIONS:
- -a DNS Aレコード内のIPアドレスに対するAbuseIPDBルックアップを有効化
- -h ヘルプを表示
- -i 入力ファイル [必須]
- -r pcap内のホスト名を解決 [攻撃者インフラへのDNSクエリが発生する可能性あり]
- -v エクスポートされたSMB/HTTPオブジェクトに対するVirusTotalルックアップを有効化
要件
tshark - https://tshark.dev/setup/install/
出力
現在、PacketSifterは以下のpcapファイルを生成します:
- http.pcap - ポート80、8080、または8000を含むすべての通信
- smb.pcap - tsharkディセクタによってNBSS、SMB、またはSMB2として分類されたすべての通信
- dns.pcap - tsharkディセクタによってDNSとして分類されたすべての通信
- ftp.pcap - tsharkディセクタによってFTPとして分類されたすべての通信
現在、PacketSifterは以下のテキストファイルを生成します:
- IOstatistics.txt - 30秒間隔で分割されたプロトコル階層と入出力統計(潜在的なビーコン検出に有用)
- IPstatistics.txt - IP上のエンドポイント間の全体統計および個別のIP通信統計
- TCPstatistics - TCP上のエンドポイント間の全体統計および個別のTCP通信の詳細。<<警告>> このファイルは大量の情報を含む可能性があります。lessやgrepを使用して該当する通信を検索することを推奨します。
- http_info.txt - HTTP通信に関する統計データ
- hostnamesResolved.txt (オプション) - pcapで観測された解決済みホスト名。<<警告>> 攻撃者インフラへのDNSクエリが発生する可能性があります。注意して実行してください!
- SMBstatistics.txt - smbまたはsmb2を使用して実行されたコマンドの統計
- dnsARecords.txt - DNS Aクエリ/応答
- dnsTXTRecords.txt - DNS TXTクエリ/応答
- errors.txt - ゴミファイル
VirusTotal統合の出力テキストファイル (すべてオプション):
- httpHashToObject.txt - 参照用のmd5ハッシュとオブジェクトのペアリングを含むテキストファイル
- httpVTResults.txt - VirusTotal APIを介したHTTPオブジェクトのmd5ハッシュルックアップ結果を含むテキストファイル
- smbHashToObject.txt - 参照用のmd5ハッシュとオブジェクトのペアリングを含むテキストファイル
- smbVTResults.txt - VirusTotal APIを介したSMBオブジェクトのmd5ハッシュルックアップ結果を含むテキストファイル
AbuseIPDB統合の出力テキストファイル (オプション):
- IPLookupResults.txt - IPの地理位置情報 + IPレピュテーション結果を含むテキストファイル
現在、PacketSifterは以下のtar.gzファイルを生成します:
- httpObjects.tar.gz - pcapで観測されたHTTPオブジェクト。<<警告>> HTTPオブジェクトが多数存在する可能性があり、pcapによっては悪意のあるHTTPオブジェクトが抽出される可能性があります。注意して使用してください!!
- smbObjects.tar.gz - pcapで観測されたSMBオブジェクト。SMBオブジェクトが多数存在する可能性があり、pcapによっては悪意のあるSMBオブジェクトが抽出される可能性があります。注意して使用してください!!
VirusTotal統合
PacketSifterは、SMB/HTTPで見つかったエクスポートオブジェクトのハッシュルックアップをVirusTotal API経由で実行できるようになりました。
PacketSifterをVirusTotalと統合するための設定手順:
-
jq (https://stedolan.github.io/jq/download/) がインストールされていることを確認してください。
root@ubuntu:~# apt-get install jq
-
curlがインストールされていることを確認してください。
root@ubuntu:~# apt-get install curl
3. 新しいバージョンのpacketsifter.shと新しいスクリプトVTInitial.shをダウンロードしてください。
4. packetsifter.shと同じフォルダでVTInitial.shを実行し、プロンプトが表示されたら64文字の英数字VirusTotal APIキーを入力してください。
無料のVirusTotal APIキーを取得する手順については https://developers.virustotal.com/reference を参照してください。
VTInitial.shの正常な出力は以下の通りです:
5. PacketSifterを -v フラグ付きで実行し、エクスポートされたHTTPおよびSMBオブジェクトのVirusTotalルックアップを有効にします。
VirusTotal統合の正常な出力と、生成されたhttpVTResults.txt / smbVTResults.txtの例は以下の通りです:
AbuseIPDB統合
PacketSifterは、DNS Aレコードで返されたIPアドレスの地理位置情報 + IPレピュテーションルックアップを実行できます。
PacketSifterをAbuseIPDBと統合するための設定手順:
-
jq (https://stedolan.github.io/jq/download/) がインストールされていることを確認してください。
root@ubuntu:~# apt-get install jq
-
curlがインストールされていることを確認してください。
root@ubuntu:~# apt-get install curl
3. 新しいバージョンのpacketsifter.shと新しいスクリプトAbuseIPDBInitial.shをダウンロードしてください。
4. packetsifter.shと同じフォルダでAbuseIPDBInitial.shを実行し、プロンプトが表示されたら80文字の英数字AbuseIPDB APIキーを入力してください。
無料のAbuseIPDB APIキーを取得する手順については https://www.abuseipdb.com/register を参照してください。
**AbuseIPDBの無料APIキーは1日あたり1000回のルックアップに制限されています**
AbuseIPDBInitial.shの正常な出力は以下の通りです:
5. PacketSifterを -a フラグ付きで実行し、DNS Aレコードに対するAbuseIPDBルックアップを有効にします。
AbuseIPDB統合の正常な出力と、生成されたIPLookupResults.txtの例は以下の通りです:
**信頼度スコアは0~100パーセントの信頼度スケールです**
提案はありますか?
他にふるいにかけてほしいものや、ツールに役立つ機能があればご連絡ください。