
Snoopy: распределённый фреймворк для отслеживания и перехвата данных
| || | | || || || || | | |
| _____|| |_| || _ || _ || _ || |_| |
| |_____ | || | | || | | || |_| || |
|_____ || _ || |_| || |_| || ___||_ _|
_____| || | | || || || | | |
|_______||_| |__||_______||_______||___| |___|
V0.1
"Amy, технологии не являются по своей сути хорошими или плохими. Всё зависит от того, как их использовать. Как с Лучом смерти."
-Профессор Фарнсворт
Добро пожаловать в Snoopy; распределённый фреймворк для отслеживания и профилирования. Snoopy находится в разработке, так что не стесняйтесь присылать предложения и/или исправления. В этом документе описывается базовое использование. Чтобы лучше понять предысторию, взгляните на следующее:
Клиентское ПО работает на устройствах, которые мы называем «Дроны». Дроном может быть любое устройство на базе Linux, имеющее Wi-Fi-интерфейс (с драйверами для инжекции) и исходящее подключение к интернету. Snoopy тестировался на Nokia N900 и ноутбуке с BackTrack. Дроны выполняют следующие две операции:
Собранные зондирующие запросы (например, iPhone Боба, ищущий BTHomeHub-4123) загружаются на сервер Snoopy через регулярные промежутки времени. Все устройства, которые подключаются к Rogue AP, получают доступ в интернет через сервер Snoopy.
Сервер помещает все зондирующие запросы в базу данных, использует Wigle для определения координат GPS, а Google Maps — для определения почтовых адресов (и фотографий с улиц). Это означает, что если вы отправляете зондирующие запросы для своей домашней сети, я могу получить фотографию вашего дома.
Каждый Дрон подключается к серверу через OpenVPN и имеет свою подсеть. Подключившиеся клиенты получают IP-адрес от Дрона и маршрутизируют трафик через него. Это значит, что на сервере мы можем сопоставить IP-адреса клиентов (и, следовательно, MAC-адреса) с их интернет-активностью.
На сервере происходит следующее:
Схема сети выглядит следующим образом:
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
Уолтер написал веб-интерфейс для Snoopy. К нему можно получить доступ по адресу http://your-snoopy-server.com:5000/
Существует несколько трансформов Maltego для графического исследования собранных данных (см. ниже для получения дополнительной информации).
УСТАНОВКА ================ Установка сервера должна быть простой. Она тестировалась только на чистой установке Ubuntu 12.04 LTS 32bit. Вносятся изменения в несколько компонентов сервера, поэтому настоятельно рекомендуется запускать скрипт установки на базовой установке и не запускать ничего другого на этом компьютере (если только это не необходимо). Если сомневаетесь, просмотрите файл install.sh и внесите изменения вручную. В противном случае просто запустите установщик (./install.sh).
ИСПОЛЬЗОВАНИЕ ======== После завершения установки вы сможете просто набрать 'snoopy', чтобы загрузить меню сервера. Если этого не произошло (или если сомневаетесь), перейдите в домашний каталог пользователя, созданного во время установки. Внутри каталога 'snoopy/server/' находится файл 'snoopy.sh', который вы можете запустить. Ниже представлено меню:
+---------------------------------------------------------------+
| Welcome to Snoopy V0.1 |
| SERVER SIDE |
| |
| SensePost Information Security |
| [email protected] / www.sensepost.com |
+---------------------------------------------------------------+
Date: Thu Nov 1 16:37:08 CET 2012
Snoopy Server Status: Stopped
Connected Drones: 0
Wigle User: setYourWigleAccount