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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
snoopy-ng — Snoopy v2.0 - モジュラー型デジタル地上追跡フレームワーク | Kitploit
ツール/GitHubGitHub/sensepost/snoopy-ng
OSINT (オープンソースインテリジェンス)パケットスニッフィングと分析偵察Bluetoothセキュリティネットワークマッピングデータ流出情報収集ワイヤレスセキュリティペネトレーションテストコマンド&コントロールクローラーDNS分析
443129911年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHubsensepost/snoopy-ng

snoopy-ng

Snoopy v2.0 - モジュラー型デジタル地上追跡フレームワーク

リポジトリを見る

SensePost presents:

root@kitploit:~
  /$$$$$$                                                   
 /$$__  $$                                                  
| $$  \__/ /$$$$$$$   /$$$$$$   /$$$$$$   /$$$$$$  /$$   /$$
|  $$$$$$ | $$__  $$ /$$__  $$ /$$__  $$ /$$__  $$| $$  | $$
 \____  $$| $$  \ $$| $$  \ $$| $$  \ $$| $$  \ $$| $$  | $$
 /$$  \ $$| $$  | $$| $$  | $$| $$  | $$| $$  | $$| $$  | $$
|  $$$$$$/| $$  | $$|  $$$$$$/|  $$$$$$/| $$$$$$$/|  $$$$$$$
 \______/ |__/  |__/ \______/  \______/ | $$____/  \____  $$
                                        | $$       /$$  | $$
                                        | $$      |  $$$$$$/
                                        |__/       \______/
                        
                                               Version: 2.0
Code:    [email protected] // @glennzw
Visit:   www.sensepost.com // @sensepost
License: Non-commercial use

Snoopy バージョン 2.0 へようこそ!

  1. クイックセットアップ ====================== 時間がない方へ?これをお試しください:

Snoopy をインストールしてセットアップするには:

root@kitploit:~
bash install.sh

ワイヤレス、システム情報、ハートビートプラグインのデータをローカルに保存するには:

root@kitploit:~
snoopy -v -m wifi:mon=True -m sysinfo -m heartbeat -d myDrone -l London

クライアントからサーバーにデータを同期するには:

サーバー側:

root@kitploit:~
snoopy_auth --create myDrone     # アカウントを作成
snoopy -v -m server              # サーバープラグインを起動

クライアント側:

root@kitploit:~
snoopy -v -m wifi:mon=True -s http://<server>:9001/ -d myDrone -l London -k <key>
  1. はじめにと概要 ================= Snoopy は分散型のセンサー、データ収集、傍受、分析、可視化フレームワークです。モジュール形式で記述されており、Python プラグインを介してさまざまなソースから任意のデータを収集できます。

  2. アーキテクチャ

    各 Snoopy インスタンスは複数のプラグインを同時に実行できます。プラグインはデータを収集し、メインの Snoopy プロセスによってクエリされ、ローカルデータベースに書き込まれます。Snoopy はクライアント(ドローン)とサーバー間でデータを同期でき、クライアント(ドローン)はサーバーからデータのレプリカをプルすることもできます。各 Snoopy インスタンスは、全体像における自身の位置に適したプラグインを実行できます。以下は、考えられる設定の 1 つを示す図です。

    root@kitploit:~
     Drone01                     Server01
     +---------------+           +--------------+
     | Plugins:      |           | Plugins:     |
     |   * WiFi      |           |  *Server     |
     |   * Bluetooth |====3G====>|              |<=========================\
     |   * GSM       |           |              |                          ||
     |   * FitBit    |           |              |                          ||
     +---------------+           +--------------+                          ||
                                                                           ||
     Drone02                      Server02               Server03          ||
     +---------------+            +--------------+       +-------------+   ||
     | Plugins:      |            | Plugins:     |       | Plugins:    |   ||
     |   * WiFi      |            |  * Server    |       |  * Server   |   ||
     |   * Cookie    |=====Xbee==>|  * Heartbeat |==3G==>|  * Wigle    |<==\
     |     thief     |   ||       |              |       |  * DataViz  |   ||
     |   * GPS       |   ||       |              |       |             |   ||
     +---------------+   ||       +--------------+       +-------------+   ||
                         ||                                             Internet
     Drone03             ||                             Laptop01           || 
     +---------------+   ||                            +--------------+    ||                                
     | Plugins:      |   ||                            | Plugins:     |    ||
     |   * Thermal   |   ||                            |  *RemotePull |    ||
     |   * Camera    |===/                             |              |====/
     |   * Heat      |                                 |  Run:        |
     |               |                                 |   *Maltego   |
     +---------------+                                 +--------------+
    

上図では、3 台のドローンが実行され、データを 2 つの別々のサーバーに同期しています。1 つは 3G 経由、残り 2 つは Xbee 経由です。2 番目のサーバーは自身のデータを 3 番目のサーバーに同期します。最後に、クライアント(ラップトップ)が 1 番目と 3 番目のサーバーからすべてのデータをプルし、Maltego を実行してデータを探索します。

  1. セットアップとインストール

snoopy-ng.git ディレクトリ内で 'sh install.sh' を実行すると、必要なパッケージがすべてインストールされます。aircrack をソースからインストールするかどうかのオプションが表示されます。これは、このパッケージがないディストリビューション(ワイヤレスプラグインに aircrack スイートを使用)に必要です。データ探索には Maltego を強くお勧めします。コミュニティエディション(一部制限あり)は Paterva の Web サイト http://paterva.com から無料でダウンロードできます。


  1. 使用方法 =========

基本

利用可能なすべてのフラグとオプションを確認するために、2 つのコマンドを用意しました。

root@kali:~# snoopy --help (短縮形 -h)

このコマンドは、同期先のサーバー、ドローンの名前、場所など、すべての実行オプションを表示します。さらに、さまざまなプラグインの実行方法も紹介します。

root@kali:~# snoopy --list (短縮形 -i)

このコマンドは、利用可能なすべてのプラグインと、各プラグインが正しく機能するために必要なパラメータを一覧表示します。各プラグインの詳細情報を得るには '-ii' または '-iii' を使用します。特定のプラグインの情報を得るには '-i -m ' を使用します。

プラグインは --plugin(または短縮形 -m)オプションで指定できます。複数のプラグインを指定でき、指定された順序で起動されます。各プラグインには準備完了状態を示すまで 60 秒の猶予が与えられ、タイムアウトすると次のプラグインが開始されます。これは、後続のプラグインが前のプラグインの動作に依存する場合に便利です。

各プラグインは、カンマ区切りのキーと値のペア形式で多数のパラメータを取ることができます(--list の出力を参照)。以下では、単純に乱数を生成する 'example' プラグインを使用します。

root@kitploit:~
   snoopy --plugin example:x=1,v=True
   

ドローンや場所のオプションが指定されていない場合は、デフォルト値が使用されます。または、以下のように指定することもできます。

root@kitploit:~
   snoopy --plugin example:x=1,v=True --drone myDrone --location Cansas

データ同期

--server (-s) オプションを指定することで、データをリモートマシンに同期できます。リモートマシンではサーバープラグイン(--plugin server)を実行している必要があります。事前にドローン名用のキーを生成する必要があります。以下にその例を示します。

サーバー

root@kitploit:~
    root@server:~# snoopy_auth --create myDrone01 --verbose
    [+] 新しい Snoopy サーバー同期アカウントを作成中
    [+] 'myDrone01' のキー: 'GWWVF'
    [+] クライアントモードでこの値を使用して、リモートサーバーにデータを同期します。
    root@kali:~# snoopy --plugin server
    [+] ウェブサーバーを '0.0.0.0:9001' で実行中
    [+] プラグイン server が 2 テーブルのデータを取得しました。
    

クライアント

root@kitploit:~
    root@client:~# snoopy --plugin example:x=1 --drone myDrone --key GWWVF --server http://<server_ip>:9001/ --verbose
    [+] Snoopy をプラグイン example で起動中
    [+] プラグイン example が新しい乱数を生成: 21
    [+] Snoopy が 2 テーブルにわたる 2 要素の同期に成功しました。
     

リモートデータプル

local_sync プラグインを使用してサーバーからデータをプルできます。例えば、上記のようにサーバーが実行されていると仮定し、クライアントから次の操作を実行します。

root@kitploit:~
root@client:~# snoopy --plugin local_sync:server_url=http://<server_ip>:9001/ --drone myDrone --key GWWVF
[+] プラグイン local_sync がリモートサーバーから 888 件のレコードをプルしました。

データベースストレージ

デフォルトでは、すべてのデータは SQLITE ファイル snoopy.db に保存されます。これは --dbms パラメータで上書きできます。異なるデータベースエンジンの指定方法については、SQL Alchemy のドキュメントを参照してください(http://docs.sqlalchemy.org/en/rel_0_9/dialects/index.html)。例として、以下では MySQL を使用しています。

root@kitploit:~
    root@client:~# snoopy -v --plugin example --dbms=mysql://glenn:secret@localhost/snoopy_db
    [+] ローカルのみキャプチャ中。'mysql://glenn:secret@localhost/snoopy_db' に保存中   

小型デバイスでは SQLITE ストレージを使用し、サーバープラグインが MySQL(または類似)に保存するのが便利かもしれません。さらに、リムーバブルメディアなど、データを保存するファイルの場所を指定する場合の別の例を示します。

root@kitploit:~
    root@client:~# snoopy -v --plugin example --dbms=sqlite:////media/USB01/snoopy.db
    

データが上流サーバーと同期された後、ローカルストレージからデータを「フラッシュ」する --flush (-f) オプションもあります。

起動時にサービスを開始

Snoopy は upstart スクリプトを使用して起動できます(./setup/upstarts フォルダーを参照)。同じディレクトリに他のサンプル upstart スクリプトも用意されています(例:3G モデムから PPP 接続を立ち上げるもの、SSH リモートコマンドチャネルを作成するもの)。

Debian ベースのシステム(Kali など)は upstart をサポートしていないようです。当面は、付属の rc.local ファイルを使用して、起動時に Snoopy および関連サービスを開始できます。


  1. データ可視化 =====================

可視化には Maltego が推奨されます。手順は以下の通りです。

  1. Maltego を開く
  2. 「Import Configuration」を選択
  3. transforms フォルダーから「snoopy_entities.mtz」を選択

これでエンティティとトランスフォームの両方がインポートされます。まず、パレットメニューの Snoopy タブから「Base of Operations」エンティティを空白のグラフにドラッグします。例として、エンティティに対して次の操作を実行します。

  1. 右クリック → Transforms → 「Get Drones」を選択
  2. 目的のドローンを右クリック → 「Get Location」を選択
  3. 目的の場所を右クリック → 「Get Clients」を選択
  4. 目的のクライアントを右クリック → 「Get Observations」を選択

(パッシブモニタリングからの)ドメインとクッキーの取得、SSID のストリートアドレスの検索、および双方向のトランスフォーム(例:場所からクライアントを検索、クライアントから場所を検索)が存在します。ぜひ試してみてください。

データベースの指定

デフォルトの sqlite 形式を使用しない場合は、以下のファイルを編集してデータの場所を指定します。

root@kitploit:~
    snoopy_ng/transforms/db_path.conf
    

グラフの共有

Maltego のコラボレーション機能を使用すると、複数のアナリストが同時に Snoopy グラフを共有できます。「Collaboration」→「Share Current Graph」を選択します。


  1. 商用利用 =================== Snoopy のリリースライセンスは、その使用による金銭的利益(またはその他)を得ることを禁じています(LICENSE.txt 参照)。商用利用向けの別のライセンスも提供しており、以下のような追加機能が含まれています。

    • XBee 経由のデータ同期
    • 高度なプラグイン
    • 追加/カスタムトランスフォーム
    • Web インターフェース
    • プレビルドドローン

ご興味があれば、お問い合わせください([email protected] / [email protected])。


  1. 付録 ========= プラグインの作成

プラグインの作成方法については、plugins/example.py ファイルを参照してください。plugins フォルダーに配置されたファイルはすべてプラグインとして扱われ、以下の特性を持つ必要があります。

  1. プラグイン情報とオプションパラメータ定義を提供する。
  2. 収集するデータの SQL テーブルスキーマ定義を提供する。
  3. クエリされた際に上記の形式でデータを返す。

それ以外は、プラグインは自由に動作させることができます。

ハードウェア

Snoopy は、install.sh ファイルからファイルをインストールするために十分なサポートがあれば、どの Linux デバイスでも実行できます。つまり、Python と関連パッケージが必要です。必要なプラグインによってハードウェアサポートは異なりますが、最も一般的な WiFi データ収集と 3G アップロードのシナリオでは、以下の構成を推奨します。

  • BeagleBone Black
  • 電源供給 USB ハブ(Y スプリッターで 2 つのプラグを節約)
  • Alfa AWUS036h WiFi アダプター
  • Huawei E160 モデム
  • BlueNext BN903S GPS
  • 最低 2A の電源アダプター(接続する周辺機器によって異なります)

オペレーティングシステム

Kali 1.05 および Ubuntu 12.04 でテスト済みです。同様のシステムでも動作するはずです。

追加メモ:

  • 好きな数のプラグインを同時に実行できます。プラグインはコマンドラインで指定された順序で順次起動します。
  • 次のプラグインは、前のプラグインが準備完了を通知した後にのみ起動を開始します(60 秒のタイムアウトあり)。これは、後続のプラグインが前のプラグインに依存する場合に便利です。
  • ドローンや場所を指定しない場合、デフォルト値が使用されます。
  • データ同期のみを行うために、プラグインなしで Snoopy を実行することもできます。

既知の問題

データをローカルで収集し、リモートサーバーに同期し、その後サーバーからレプリカをプルすると、エラーが発生します。例:

サーバー

root@kitploit:~
    root@kali:~# snoopy -m server -m wigle:username=u,password=p,[email protected]
    [+] ウェブサーバーを '0.0.0.0:9001' で実行中
    [+] プラグイン server が 2 テーブルのデータを取得しました。

     

クライアント

root@kitploit:~
	root@client:~# snoopy -m wifi -m local_sync:server_url=http://1.1.1.1:9001/ -d myDrone -l London -k secretkey -s http://1.1.1.1:9001/
ツールをダウンロード