
Snoopy: إطار عمل موزع للتتبع واعتراض البيانات
| || | | || || || || | | |
| _____|| |_| || _ || _ || _ || |_| |
| |_____ | || | | || | | || |_| || |
|_____ || _ || |_| || |_| || ___||_ _|
_____| || | | || || || | | |
|_______||_| |__||_______||_______||___| |___|
V0.1
"Amy, technology isn't intrinsically good or evil. It's how it's used. Like the Death Ray."
-Professor Farnsworth
مرحبًا بك في Snoopy؛ إطار عمل تتبع وتوصيف موزع. Snoopy قيد التطوير، لذا لا تتردد في تقديم الاقتراحات و/أو التصحيحات. توضح هذه الوثيقة الاستخدام الأساسي. لفهم الخلفية أكثر قليلاً، ألق نظرة على ما يلي:
يعمل برنامج جانب العميل على ما نسميه "الطائرات". يمكن أن تكون الطائرة أي جهاز يعمل بنظام Linux وبه واجهة WiFi (مع برامج تشغيل حقن) واتصال بالإنترنت الصادر. تم اختبار Snoopy على Nokia N900 وجهاز كمبيوتر محمول يعمل بنظام BackTrack. تقوم الطائرات بالعمليتين التاليتين:
يتم تحميل طلبات الفحص المجمعة (مثل iPhone الخاص بـ Bob الذي يبحث عن BTHomeHub-4123) إلى خادم Snoopy في فترات منتظمة. جميع الأجهزة التي تتصل بنقطة الوصول المزيفة يتم توجيه اتصالها بالإنترنت عبر خادم Snoopy.
يقوم الخادم بإدخال جميع طلبات الفحص في قاعدة بيانات، ويستخدم Wigle لتحديد إحداثيات GPS، وخرائط Google لتحديد عناوين الشوارع (والصور الفوتوغرافية من Street View). هذا يعني أنه إذا كنت تبحث عن شبكة منزلك، فقد أحصل على صورة لمنزلك.
تتصل كل طائرة بالخادم عبر 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
Would you like to:
[1] (Re)Start Snoopy server components
[2] Stop Snoopy server components
[3] Manage drone configuration packs
[4] Configure server options
[5] Set web traffic injection string
[6] Observe logs
[X] Exit
[?] Help
إنشاء حزم الطائرات الخيار [3] في القائمة سيسمح لك بإنشاء 'حزم' جانب العميل لأجهزة الطائرات الخاصة بك. تحصل كل طائرة على مفاتيح OpenVPN وSSH الخاصة بها، ونطاقات DHCP، وجداول التوجيه. سيتم تزويدك بعنوان URL للتنزيل لكل جهاز طائرة. تأكد من ضبط الوقت بشكل صحيح على الخادم والطائرة وإلا لن يتم إنشاء اتصال VPN.