
Snoopy: Ein verteiltes Tracking- und Datenabfang-Framework
| || | | || || || || | | |
| _____|| |_| || _ || _ || _ || |_| |
| |_____ | || | | || | | || |_| || |
|_____ || _ || |_| || |_| || ___||_ _|
_____| || | | || || || | | |
|_______||_| |__||_______||_______||___| |___|
V0.1
"Amy, Technologie ist nicht von Natur aus gut oder böse. Es kommt darauf an, wie sie verwendet wird. Wie der Todesstrahl."
-Professor Farnsworth
Willkommen bei Snoopy; einem verteilten Tracking- und Profiling-Framework. Snoopy ist ein Werk in Arbeit, also zögern Sie nicht, Vorschläge und/oder Korrekturen einzureichen. Dieses Dokument beschreibt die grundlegende Verwendung. Um den Hintergrund etwas besser zu verstehen, werfen Sie einen Blick auf Folgendes:
Die Client-Software läuft auf sogenannten „Drohnen" (Drones). Eine Drohne kann jedes Linux-basierte Gerät mit einer WLAN-Schnittstelle (mit Injektionstreibern) und ausgehender Internetverbindung sein. Snoopy wurde auf einem Nokia N900 und einem Laptop mit BackTrack getestet. Die Drohnen führen die folgenden beiden Vorgänge aus:
Gesammelte Probe Requests (z. B. Bobs iPhone, das nach BTHomeHub-4123 sucht) werden in regelmäßigen Abständen zum Snoopy-Server hochgeladen. Allen Geräten, die sich mit dem Rogue AP verbinden, wird der Internetzugang über den Snoopy-Server bereitgestellt.
Der Server trägt alle Probe Requests in eine Datenbank ein und verwendet Wigle, um GPS-Koordinaten zu bestimmen, sowie Google Maps, um Straßenadressen (und Street-View-Fotos) zu ermitteln. Das bedeutet: Wenn Sie nach Ihrem Heimnetzwerk suchen, könnte ich ein Foto Ihres Hauses erhalten.
Jede Drohne verbindet sich über OpenVPN mit dem Server und besitzt ein eigenes Subnetz. Verbundene Clients erhalten eine IP-Adresse von der Drohne und leiten ihren Datenverkehr über sie. Das bedeutet, dass wir auf dem Server Client-IP-Adressen (und damit MAC-Adressen) der Internetaktivität zuordnen können.
Auf dem Server passiert Folgendes:
Das Netzwerkdiagramm sieht wie folgt aus:
Client1 Drone1 Snoopy Server
+----------+ +-----------------------+ +-----------------------+
| wlan0-|<---WiFi--->|-at0 | | eth0|<-squid-sslstrip-mitmproxy->Internet
| | | | 10.2.0.1 | | 11.22.33.44| |
| dhclient | | | | | | Traffic inspection
| | | | tap0-|<-openvpn----->|-tap0 | Social media analysis
+----------+ | | 192.168.42.2 | +--/| 192.168.42.1 |
10.2.0.2 | +-----------------------+ | +-----------------------+
| |
| | route 10.2.0.0 via 192.168.42.2
| | route 10.3.0.0 via 192.168.42.3
Client2 | |
+----------+ | |
| wlan0-|<---+ |
| | |
| dhclient | |
| | |
+----------+ |
10.2.0.3 |
|
|
|
Client3 Drone2 |
+----------+ +-----------------------+ |
| wlan0-|<---WiFi--->|-at0 | |
| | | | 10.3.0.1 | |
| dhclient | | | | |
| | | | tap0-|<-openvpn--+
+----------+ | | 192.168.42.3 |
10.3.0.2 | +-----------------------+
|
|
|
Client4 |
+----------+ |
| wlan0-|<---+
| |
| dhclient |
| |
+----------+
10.3.0.3
Walter hat eine Weboberfläche für Snoopy geschrieben. Sie ist unter http://your-snoopy-server.com:5000/ erreichbar.
Es gibt mehrere Maltego-Transforms, um gesammelte Daten grafisch zu untersuchen (weitere Informationen siehe unten).
INSTALLATION ================ Die Serverinstallation sollte unkompliziert sein. Sie wurde nur auf einer Standardinstallation von Ubuntu 12.04 LTS 32bit getestet. Es werden Änderungen an mehreren Serverkomponenten vorgenommen, daher wird dringend empfohlen, das Installationsskript auf einer Basisinstallation auszuführen und auf dieser Maschine nichts Weiteres zu betreiben (falls überhaupt). Im Zweifelsfall gehen Sie die Datei install.sh durch und nehmen Sie die Änderungen manuell vor. Andernfalls führen Sie einfach das Installationsprogramm (./install.sh) aus.
VERWENDUNG ======== Sobald die Installation abgeschlossen ist, sollten Sie einfach 'snoopy' eingeben können, damit das Servermenü geladen wird. Falls nicht (oder im Zweifelsfall), gehen Sie in das Home-Verzeichnis des Benutzers, der während der Installation angelegt wurde. Im Verzeichnis 'snoopy/server/' befindet sich eine Datei 'snoopy.sh', die Sie ausführen können. Unten sehen Sie das Menü: