Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BaconSampler — 不審なビーコン状のコールバックを検出するため、送信トラフィックをスニッフィングします。なぜなら、スケジュール通りに戻ってくるなら、それはおそらく朝食ではないからです。 | Kitploit
ツール/GitHubGitHub/logisek/baconsampler
パケットスニッフィングと分析偵察フォレンジック情報収集ネットワークセキュリティ脅威インテリジェンス侵入検知DNS分析ログ分析
GitHublogisek/baconsampler

BaconSampler

不審なビーコン状のコールバックを検出するため、送信トラフィックをスニッフィングします。なぜなら、スケジュール通りに戻ってくるなら、それはおそらく朝食ではないからです。

2037ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
リポジトリを見る
共有

Bacon Sampler

送信トラフィックをスニッフィングし、怪しいビーコン状のコールバックを検出します。なぜなら、定期的に戻ってくるなら、それはおそらく朝食ではないからです。

送信接続(Windows + libpcap)

Bacon Samplerは軽量な送信接続キャッチャーで、ネットワークトラフィックの「焼ける音」を嗅ぎ分け、定期的で低速なコールバック(マルウェアが指令サーバーに連絡する際によく使うパターン)のような「ビーコン状」の動作にフラグを立てます。

送信接続とDNSルックアップを受動的に監視し、一定の間隔、繰り返される宛先、不自然なジッター、一貫したバイトサイズなど、通常のブラウジングとは異なり、ボットが指示を確認しに来ているように見えるパターンを強調表示します。

ビーと呼ぶにはちょっと…いや、もっと美味しいビーと呼べるでしょう。何かが毎回同じ時間に戻ってくるなら…それはベーコンを試食しているのです。

機能

  • pcapキャプチャ、オプションでnetstat PID関連付け
  • 逆DNSおよびGeoIP(オフラインデータベースまたは無料オンラインルックアップ)
  • プロトコル、リモートポート範囲、IP CIDRによるフィルタリング
  • グループサマリー(リモートIP、プロセス、または国別)、オプションで上位N件
  • ビーコン状アクティビティ検出(低速コールバック)
  • 疑わしい接続とDNSクエリ動作のパターン検出
  • CSV/JSONエクスポート、派生サマリーファイル付き
  • オプションで全テーブルを含むHTMLレポート

前提条件

  • Windows 11
  • Python 3.10以上
  • Npcap(推奨)、「WinPcap API互換モードでNpcapをインストール」を選択
  • オフラインIP国ルックアップ用のGeoIPデータベース:
    • MaxMind GeoLite2 Country (.mmdb) または DB-IP Lite (.mmdb)
    • IP2Location LITE (.BIN)
  • 完全な可視性のために管理者としてPowerShellを実行

インストール

root@kitploit:~
pip install -r requirements.txt

GeoIPデータベースをダウンロードし、パスをメモします:

  • GeoLite2 または DB-IP Lite (.mmdb)
  • IP2Location LITE (.BIN)

無料のオンラインルックアップを希望する場合は、これをスキップして --geoip-online を使用できます。

使用方法

使用例(一般的な組み合わせ)

インターフェースの一覧表示:

root@kitploit:~
python capture_outbound.py --list-interfaces

インデックスでインターフェースを選択:

root@kitploit:~
python capture_outbound.py --interface 0

複数のインターフェースを使用(繰り返し可能):

root@kitploit:~
python capture_outbound.py --interface "Ethernet" --interface "Wi-Fi"

またはカンマ区切り名:

root@kitploit:~
python capture_outbound.py --interfaces "Ethernet,Wi-Fi"

オフラインGeoIPを使用したpcapのみのキャプチャ(A):

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"

オフラインGeoIPを使用したpcap + netstatの関連付け(B):

root@kitploit:~
python capture_outbound.py --mode pcap_plus_netstat --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"

オフラインGeoIPを使用したpcap + netstatの結合(A+B):

root@kitploit:~
python capture_outbound.py --mode both --duration 20 --interface "Ethernet" --geoip-db "C:\Path\GeoLite2-Country.mmdb"

オンラインGeoIP(無料、レート制限あり、ディスクにキャッシュ):

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi

IPinfoトークンを使用したオンラインGeoIP:

root@kitploit:~
$env:IPINFO_TOKEN="your_token_here"
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo

またはトークンを明示的に指定:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipinfo --geoip-online-token "your_token_here"

オンラインGeoIPのタイムアウトとリトライの調整:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --geoip-online ipapi --geoip-timeout 2.5 --geoip-retries 1

逆DNSを無効化(高速実行):

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --no-dns

DNSタイムアウトの調整:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --dns-timeout 0.5

パケット数でキャプチャを制限:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 60 --packet-limit 5000

プロトコル、リモートポート、IP CIDRでフィルタリング:

root@kitploit:~
python capture_outbound.py --filter-protocol tcp --filter-port 80,443,1000-2000 --allow-ip 1.2.3.0/24 --deny-ip 1.2.3.4/32

グループサマリーと上位N件:

root@kitploit:~
python capture_outbound.py --group-by remote_ip,process --top 10

接続ごとの総バイト数を追跡:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --track-bytes

進捗表示を無効化:

root@kitploit:~
python capture_outbound.py --no-progress

コンソール出力を無効化:

root@kitploit:~
python capture_outbound.py --no-console

使用例(高度な組み合わせ)

pcap + netstatの結合(A+B)+ オンラインGeoIP + pcap + CSV + HTMLの書き出し:

root@kitploit:~
python capture_outbound.py --mode both --duration 20 --interface "Ethernet,Wi-Fi" --geoip-online ipapi --pcap-out "C:\Path\capture.pcap" --csv "C:\Path\outbound.csv" --html "C:\Path\outbound.html"

pcapのみ + 出力フォルダ + カスタムCSV/JSON名:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --output-dir "C:\Path\Reports" --csv "C:\Path\Reports\outbound.csv" --json "C:\Path\Reports\outbound.json"

ビーコン状アクティビティ検出(低速コールバック):

root@kitploit:~
python capture_outbound.py --duration 300 --beacon-min-duration 120 --beacon-min-interval 60 --beacon-max-interval 1800 --beacon-max-jitter 10 --beacon-min-packets 6 --beacon-max-rate 0.05

パターン検出(一定間隔、ジッター、繰り返し宛先、一貫したサイズ):

root@kitploit:~
python capture_outbound.py --duration 300 --track-bytes --pattern-high-jitter 120 --pattern-repeat-destination 4 --pattern-max-byte-jitter 64 --dns-pattern-min-queries 4

フィルタリング付きの厳しいビーコン + パターンしきい値:

root@kitploit:~
python capture_outbound.py --duration 600 --filter-protocol tcp --filter-port 443 --track-bytes --beacon-min-duration 180 --beacon-min-interval 90 --beacon-max-interval 900 --beacon-max-jitter 5 --beacon-min-packets 8 --pattern-high-jitter 60 --pattern-repeat-destination 5 --pattern-max-byte-jitter 32

DNS特化キャプチャ(高速DNSルックアップ + DNSパターン):

root@kitploit:~
python capture_outbound.py --duration 180 --dns-timeout 0.25 --dns-pattern-min-queries 5 --pattern-repeat-destination 3

出力

  • デフォルトでコンソールテーブル
  • CSV:outbound_connections.csv
  • JSON:outbound_connections.json
  • HTML:--html "report.html"
  • ビーコン検出結果:*_beacon_findings.csv / *_beacon_findings.json
  • 接続パターン:*_connection_patterns.csv / *_connection_patterns.json
  • DNSパターン:*_dns_patterns.csv / *_dns_patterns.json
  • ユニーク接続:*_unique_connections.csv / *_unique_connections.json
  • ユニークプロセス:*_unique_processes.csv / *_unique_processes.json
  • グループサマリー:*_group_remote_ip*.csv/json、*_group_process*.csv/json、*_group_country*.csv/json

カスタムCSV/JSON出力パス:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --csv "C:\Path\outbound.csv" --json "C:\Path\outbound.json"

すべての出力をフォルダに送る:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --output-dir "C:\Path\Reports"

HTML出力の書き出し:

root@kitploit:~
python capture_outbound.py --html "outbound.html"

pcapファイルの書き出し:

root@kitploit:~
python capture_outbound.py --mode pcap --duration 20 --interface "Ethernet" --pcap-out "capture.pcap"

コマンドラインオプション

  • --mode {pcap,pcap_plus_netstat,both}:キャプチャ戦略(デフォルト:pcap)
  • --duration SECONDS:キャプチャ時間(秒)(デフォルト:15)
  • --packet-limit COUNT:Nパケット後に停止(0 = 無制限)
  • --list-interfaces:Npcapインターフェースを表示して終了
  • --interface NAME:キャプチャインターフェース名(繰り返し可能)
  • --interfaces "NAME,NAME":カンマ区切りのインターフェース名
  • --filter-protocol tcp,udp:プロトコルフィルタ(繰り返しまたはカンマ区切り)
  • --filter-port 80,443,1000-2000:リモートポートフィルタ
  • --allow-ip CIDR:許可するリモートIP CIDR
  • --deny-ip CIDR:拒否するリモートIP CIDR
  • --group-by remote_ip,process,country:グループサマリー出力
  • --top N:グループサマリーを上位N行に制限
  • --beacon-min-duration SECONDS:ビーコン検出の最小期間
  • --beacon-min-packets COUNT:ビーコン検出の最小パケット数
  • --beacon-min-interval SECONDS:ビーコン検出の最小平均間隔
  • --beacon-max-interval SECONDS:ビーコン検出の最大平均間隔
  • --beacon-max-jitter SECONDS:ビーコン検出の最大間隔ジッター
  • --beacon-max-rate PPS:ビーコン検出の最大パケット/秒
  • --pattern-high-jitter SECONDS:ランダム化パターン検出の間隔ジッターしきい値
  • --pattern-repeat-destination COUNT:繰り返し宛先をフラグする最小接続数
  • --pattern-max-byte-jitter BYTES:一貫性のための最大バイトサイズ範囲
  • --dns-pattern-min-queries COUNT:パターンをフラグする最小DNSクエリ数
  • --csv PATH:CSV出力パス(デフォルト:outbound_connections.csv)
  • --json PATH:JSON出力パス(デフォルト:outbound_connections.json)
  • --html PATH:HTMLレポート出力パス
  • --pcap-out PATH:キャプチャしたパケットをpcapに書き出し
  • --output-dir PATH:すべての出力ファイルをこのディレクトリに書き出し
  • --no-console:コンソールテーブル出力を無効化
  • --no-progress:進捗表示を無効化
  • --log-json:警告/エラーをJSON行としてstderrに出力
  • --track-bytes:可能な場合、接続ごとの総バイト数を追跡
  • --geoip-db PATH:GeoIPデータベースパス(.mmdb または IP2Location .BIN)
  • --geoip-db-type {auto,maxmind,dbip,ip2location}:GeoIP DBタイプ(デフォルト:auto)
  • --geoip-online {ipapi,ip-api,ipinfo}:無料オンラインGeoIPサービスを使用(レート制限あり)
  • --geoip-online-token TOKEN:オンラインGeoIPプロバイダーのAPIトークン(例:IPinfo)
  • --geoip-cache-path PATH:オンラインGeoIPキャッシュJSONパスを上書き
  • --geoip-timeout SECONDS:オンラインGeoIPリクエストのタイムアウト(デフォルト:3.0)
  • --geoip-retries COUNT:オンラインGeoIPのリトライ回数(デフォルト:2)
  • --no-dns:逆DNSルックアップを無効化
  • --dns-timeout SECONDS:DNSルックアップのタイムアウト(デフォルト:2.0)

出力データ

メイン出力(--csv/--json)には以下のフィールドが含まれます:

  • protocol、local_ip、local_port
  • remote_ip、remote_port、remote_hostname、remote_fqdn、remote_country
  • pid、process_name、packet_count
  • duration_seconds、avg_interval_seconds、interval_jitter_seconds
  • first_seen、last_seen、source
  • byte_count(--track-bytes が有効な場合)

派生出力には以下が含まれます:

  • ユニーク接続:remote_ip、remote_port、remote_hostname、remote_fqdn、remote_country
  • ユニークプロセス:pid、process_name、connection_count、unique_remote_ips
  • グループサマリー:remote_ip、process、または country ごとのカウントとユニークメトリクス
  • ビーコン検出結果:メイン出力フィールドに加えて beacon_reason
  • 接続パターン:メイン出力フィールドに加えて pattern_type/pattern_reason、byte_min/byte_max/byte_range(--track-bytes 有効時)、および宛先合計
  • DNSパターン:dns_query、query_count、リゾルバIP/ポート、パターン詳細、および byte_min/byte_max/byte_range(--track-bytes 有効時)

注意事項

  • 昇格されたトラフィックをキャプチャしPIDをマッピングするには、管理者PowerShellを使用してください。
  • --mode pcap_plus_netstat はキャプチャした接続にPID/プロセスデータを追加するだけです。
  • --mode both はnetstatのみの接続を最終出力に追加します。
  • パケットキャプチャに失敗した場合、またはNpcap/scapyが見つからない場合、スクリプトはnetstatのみの結果にフォールバックし、出力書き込み後に終了コード 2 で終了します。
  • --log-json は警告/エラーをJSON行としてフォーマットします(取り込みに便利)。
  • --duration は秒単位です。
  • --packet-limit は、時間が残っていてもNパケット後にキャプチャを停止します。
  • --no-dns は逆DNS解決をスキップします(ホスト名/FQDNは空になります)。
  • --dns-timeout はDNSルックアップのタイムアウト(秒)を制御します。
  • オンラインGeoIPの結果は、--geoip-cache-path で上書きされない限り、出力ディレクトリ(または作業ディレクトリ)の geoip_online_cache.json にキャッシュされます。
  • --geoip-db-type auto はファイル拡張子を使用します:.mmdb -> MaxMind/DB-IP、.BIN -> IP2Location。
  • IPinfoは国名ではなくISO国コード(例:US)を返します。
  • DNSパターン検出は、pcapモードでキャプチャされたDNSクエリパケットから導出されます。
  • --geoip-db を省略した場合、--geoip-online を使用しない限り、remote_country 列は空のままになります。
  • --geoip-db と --geoip-online の両方が設定されている場合、データベースが使用されます。
  • --filter-port はリモートポート(送信先)に適用されます。
  • --track-bytes は byte_count 列を追加し、サイズ一貫性パターンを有効にします。
ツールをダウンロード