Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
snoopy-ng — Snoopy v2.0 - modulares digitales terrestrisches Tracking-Framework | Kitploit
Tools/GitHubGitHub/sensepost/snoopy-ng
OSINT (Open-Source-Intelligence)Paket-Sniffing & AnalyseAufklärungBluetooth-SicherheitNetzwerkkartierungDatenexfiltrationInformationsbeschaffungDrahtlose SicherheitPenetrationstestsCommand and ControlCrawlerDNS-Analyse
4431299vor 11 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHubsensepost/snoopy-ng

snoopy-ng

Snoopy v2.0 - modulares digitales terrestrisches Tracking-Framework

Repository anzeigen

SensePost präsentiert:

root@kitploit:~
  /$$$$$$                                                   
 /$$__  $$                                                  
| $$  \__/ /$$$$$$$   /$$$$$$   /$$$$$$   /$$$$$$  /$$   /$$
|  $$$$$$ | $$__  $$ /$$__  $$ /$$__  $$ /$$__  $$| $$  | $$
 \____  $$| $$  \ $$| $$  \ $$| $$  \ $$| $$  \ $$| $$  | $$
 /$$  \ $$| $$  | $$| $$  | $$| $$  | $$| $$  | $$| $$  | $$
|  $$$$$$/| $$  | $$|  $$$$$$/|  $$$$$$/| $$$$$$$/|  $$$$$$$
 \______/ |__/  |__/ \______/  \______/ | $$____/  \____  $$
                                        | $$       /$$  | $$
                                        | $$      |  $$$$$$/
                                        |__/       \______/
                        
                                               Version: 2.0
Code:    [email protected] // @glennzw
Visit:   www.sensepost.com // @sensepost
Lizenz: Nicht-kommerzielle Nutzung

Willkommen bei Snoopy Version 2.0!

  1. Schnellinstallation ============== Keine Zeit? Versuchen Sie dies:

So installieren und einrichten Sie Snoopy:

root@kitploit:~
bash install.sh

So speichern Sie Daten von den Plugins WLAN, Sysinfo und Heartbeat lokal:

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

So synchronisieren Sie Daten von einem Client zu einem Server:

Server:

root@kitploit:~
snoopy_auth --create myDrone     # Create account
snoopy -v -m server              # Start server plugin

Client:

root@kitploit:~
snoopy -v -m wifi:mon=True -s http://<server>:9001/ -d myDrone -l London -k <key>
  1. EINFÜHRUNG UND ÜBERBLICK ============================= Snoopy ist ein verteiltes Framework für Sensoren, Datensammlung, Abfangen, Analyse und Visualisierung. Es ist modular aufgebaut und ermöglicht die Sammlung beliebiger Daten aus verschiedenen Quellen über Python-Plugins.

  2. Architektur

    Jede Snoopy-Instanz kann mehrere Plugins gleichzeitig ausführen. Ein Plugin sammelt Daten, die vom Haupt-Snoopy-Prozess abgefragt und in einer lokalen Datenbank gespeichert werden. Snoopy kann Daten zwischen Clients (Drohnen) und einem Server synchronisieren, und Clients (Drohnen) können auch Replikate der Daten von einem Server abrufen. Jede Snoopy-Instanz kann die für ihre Position im Gesamtbild geeigneten Plugins ausführen. Hier ist ein Diagramm, das einen möglichen Aufbau zeigt:

    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   |
     +---------------+                                 +--------------+
    

Im obigen Diagramm laufen drei Drohnen und synchronisieren ihre Daten mit zwei separaten Servern. Eine synchronisiert über 3G, die anderen beiden über Xbee. Der zweite Server synchronisiert seine Daten mit einem dritten Server. Schließlich ruft ein Client (Laptop) alle Daten vom ersten und dritten Server ab und führt Maltego aus, um die Daten zu untersuchen.

  1. Einrichtung & Installation

Die Ausführung von 'sh install.sh' im snoopy-ng.git-Verzeichnis installiert alle erforderlichen Pakete. Es bietet an, aircrack aus den Quellen zu installieren, was für Distributionen ohne dieses Paket erforderlich ist (die aircrack-Suite wird für die WLAN-Plugins verwendet). Wir können Maltego für die Datenexploration nur wärmstens empfehlen. Eine Community-Edition (mit einigen Einschränkungen) kann kostenlos von der Paterva-Website unter http://paterva.com heruntergeladen werden.


  1. VERWENDUNG ========

Grundlagen

Um alle verfügbaren Flags und Optionen zu sehen, haben wir zwei Befehle für Sie erstellt:

root@kali:~# snoopy --help (Kurzform -h)

Dieser Befehl zeigt Ihnen alle Laufzeitoptionen, z. B. mit welchem Server synchronisiert werden soll, den Namen der Drohne und ihren Standort. Außerdem wird erklärt, wie die verschiedenen Plugins ausgeführt werden können.

root@kali:~# snoopy --list (Kurzform -i)

Dieser Befehl listet alle verfügbaren Plugins und die Parameter auf, die jedes Plugin für ein korrektes Funktionieren benötigt. Für detailliertere Informationen zu jedem Plugin verwenden Sie '-ii' oder '-iii'. Um Informationen zu einem bestimmten Plugin zu erhalten, verwenden Sie '-i -m '.

Plugins können mit der Option --plugin (oder der Kurzform -m) angegeben werden. Es können mehrere Plugins angegeben werden, die in der Reihenfolge ihrer Eingabe gestartet werden. Jedes Plugin hat 60 Sekunden Zeit, um seinen betriebsbereiten Zustand anzuzeigen, danach tritt ein Timeout ein und das nächste Plugin wird gestartet. Dies kann nützlich sein, wenn nachfolgende Plugins von Aktionen vorheriger abhängen.

Jedes Plugin kann zahlreiche Parameter (wie in der --list-Ausgabe angegeben) in Form von durch Kommata getrennten Schlüssel-Wert-Paaren entgegennehmen. Im Folgenden verwenden wir das 'example'-Plugin, das einfach Zufallszahlen generiert.

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

Wenn die Optionen für Drohne / Standort nicht angegeben werden, werden Standardwerte verwendet. Alternativ können sie wie unten angegeben werden.

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

Datensynchronisation

Daten können zu einem entfernten Rechner synchronisiert werden, indem die Option --server (-s) angegeben wird. Auf dem entfernten Rechner sollte das Server-Plugin (--plugin server) laufen. Vorher sollte ein Schlüssel für einen Drohnennamen generiert werden. Das Folgende veranschaulicht dies.

Server

root@kitploit:~
    root@server:~# snoopy_auth --create myDrone01 --verbose
    [+] Creating new Snoopy server sync account
    [+] Key for 'myDrone01' is 'GWWVF'
    [+] Use this value in client mode to sync data to a remote server.
    root@kali:~# snoopy --plugin server
    [+] Running webserver on '0.0.0.0:9001'
    [+] Plugin server caught data for 2 tables.
    

Client

root@kitploit:~
    root@client:~# snoopy --plugin example:x=1 --drone myDrone --key GWWVF --server http://<server_ip>:9001/ --verbose
    [+] Starting Snoopy with plugins: example
    [+] Plugin example created new random number: 21
    [+] Snoopy successfully sunc 2 elements over 2 tables.
     

Datenabruf von einem entfernten Server

Daten können mit dem Plugin local_sync von einem Server abgerufen werden. Angenommen, der Server läuft wie oben, und führen Sie diesen Vorgang auf dem Client aus:

root@kitploit:~
root@client:~# snoopy --plugin local_sync:server_url=http://<server_ip>:9001/ --drone myDrone --key GWWVF
[+] Plugin local_sync pulled 888 records from remote server.

Datenbankspeicher

Das Standardverhalten besteht darin, alle Daten in einer SQLITE-Datei snoopy.db zu speichern. Dies kann mit dem Parameter --dbms überschrieben werden. Siehe die SQL Alchemy-Dokumentation, wie verschiedene Datenbank-Engines angegeben werden (http://docs.sqlalchemy.org/en/rel_0_9/dialects/index.html). Als Beispiel verwenden wir im Folgenden MySQL:

root@kitploit:~
    root@client:~# snoopy -v --plugin example --dbms=mysql://glenn:secret@localhost/snoopy_db
    [+] Capturing local only. Saving to 'mysql://glenn:secret@localhost/snoopy_db'   

Es kann nützlich sein, auf kleineren Geräten SQLITE zu verwenden und das Server-Plugin Daten in MySQL (oder ähnliches) speichern zu lassen. Ein weiteres Beispiel könnte hilfreich sein, bei dem wir den Dateispeicherort für die Daten angeben, z. B. auf einem Wechselmedium:

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

Es gibt eine Option --flush (-f), um Daten aus dem lokalen Speicher zu löschen, sobald sie mit einem vorgelagerten Server synchronisiert wurden.

Starten von Diensten beim Systemstart

Snoopy kann mit einem Upstart-Skript gestartet werden (siehe Ordner ./setup/upstarts). Weitere Beispiel-Upstart-Skripte befinden sich im selben Verzeichnis – z. B. eines zum Aufbau einer PPP-Verbindung über ein 3G-Modem und eines zum Erstellen eines SSH-Remote-Befehls-Kanals.

Debian-basierte Systeme (z. B. Kali) scheinen Upstart nicht zu unterstützen. In der Zwischenzeit kann die mitgelieferte rc.local-Datei verwendet werden, um Snoopy und zugehörige Dienste beim Systemstart zu starten.


  1. DATENVISUALISIERUNG =====================

Maltego ist das bevorzugte Werkzeug zur Visualisierung. Die Anleitung folgt:

  1. Öffnen Sie Maltego
  2. Wählen Sie 'Import Configuration'
  3. Wählen Sie 'snoopy_entities.mtz' aus dem transforms-Ordner

Dadurch sollten sowohl Entitäten als auch Transforms importiert werden. Ziehen Sie zunächst die Entität 'Base of Operations' aus dem Snoopy-Tab im Palettenmenü auf einen leeren Graphen. Als Beispiel führen Sie die folgenden Operationen auf der Entität durch:

  1. Rechtsklick, Transforms auswählen, 'Get Drones' auswählen
  2. Auf der gewünschten Drohne rechtsklicken, 'Get Location' auswählen
  3. Auf dem gewünschten Standort rechtsklicken, 'Get Clients' auswählen
  4. Auf den gewünschten Clients rechtsklicken, 'Get Observations' auswählen

Es gibt Transforms zum Abrufen von Domains und Cookies (aus passiver Überwachung), zum Nachschlagen von SSID-Straßenadressen, und einige sind bidirektional (z. B. können Clients von einem Standort oder Standorte von einem Client abgerufen werden). Am besten einfach ausprobieren.

Datenbankspezifikation

Wenn nicht das Standard-SQLite-Format verwendet wird, bearbeiten Sie die folgende Datei, um den Speicherort der Daten anzugeben:

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

Diagrammfreigabe

Der Snoopy-Graph kann von mehreren Analysten gleichzeitig genutzt werden, indem die Kollaborationsfunktion von Maltego verwendet wird. Wählen Sie Collaboration und 'Share Current Graph'.


  1. KOMMERZIELLE NUTZUNG =================== Die Lizenz, unter der Snoopy veröffentlicht wird, verbietet die finanzielle (oder anderweitige) Nutzung (siehe LICENSE.txt). Wir haben eine separate Lizenz für die kommerzielle Nutzung, die zusätzliche Funktionen wie z. B.:

    • Synchronisieren von Daten über XBee
    • Erweiterte Plugins
    • Zusätzliche/benutzerdefinierte Transforms
    • Weboberfläche
    • Vorgefertigte Drohnen

Nehmen Sie Kontakt auf ([email protected] / [email protected]), wenn Sie mit uns zusammenarbeiten möchten.


  1. ANHANG =========== Plugins schreiben

Siehe die Datei plugins/example.py, um zu verstehen, wie Plugins geschrieben werden sollten. Jede Datei, die im plugins-Ordner abgelegt wird, wird als Plugin behandelt und sollte die folgenden Eigenschaften haben:

  1. Plugin-Informationen und optionale Parameterdefinitionen bereitstellen.
  2. SQL-Tabellen-Schemadefinitionen für die zu sammelnden Daten bereitstellen.
  3. Daten bei Abfrage im oben definierten Format zurückgeben.

Ansonsten kann das Plugin tun, was immer Sie möchten.

Hardware

Snoopy läuft auf jedem Linux-Gerät mit ausreichender Unterstützung, um Dateien aus der Datei install.sh zu installieren. d. h. Python und zugehörige Pakete. Die Hardwareunterstützung variiert je nach den benötigten Plugins, aber für das häufigste Szenario (Sammeln von WLAN-Daten und Hochladen über 3G) wird Folgendes empfohlen:

  • BeagleBone Black
  • Powered USB-Hub (mit Y-Splitter, um zwei Stecker zu sparen)
  • Alfa AWUS036h WLAN-Adapter
  • Huawei E160 Modem
  • BlueNext BN903S GPS
  • Mindestens ein 2A-Netzteil (variiert je nach Peripheriegeräten)

Betriebssystem

Kali 1.05 und Ubuntu 12.04 wurden getestet. Ähnliche Systeme sollten funktionieren.

Zusätzliche Hinweise:

  • Sie können beliebig viele Plugins gleichzeitig ausführen. Plugins werden sequenziell gestartet, in der auf der Befehlszeile angegebenen Reihenfolge.
  • Das nächste Plugin beginnt erst mit der Initialisierung, wenn das vorherige signalisiert hat, dass es bereit ist (mit einem 60-Sekunden-Timeout). Dies ist nützlich, wenn nachfolgende Plugins von vorherigen abhängen.
  • Wenn Sie keine Drohne oder keinen Standort angeben, werden Standardwerte verwendet.
  • Sie können Snoopy ohne Plugins ausführen, um nur Daten zu synchronisieren.

Bekannte Probleme

Ein Fehlerzustand tritt auf, wenn Daten lokal gesammelt, mit einem entfernten Server synchronisiert und dann eine Replik vom Server abgerufen werden. z. B.:

Server

root@kitploit:~
    root@kali:~# snoopy -m server -m wigle:username=u,password=p,[email protected]
    [+] Running webserver on '0.0.0.0:9001'
    [+] Plugin server caught data for 2 tables.

     

Client

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/
Tool herunterladen