
أداة استطلاع نهائية لإنترنت الأشياء/أنظمة التحكم الصناعية.
Kamerka واجهة المستخدم الرسومية هي لوحة تحكم استطلاعية مبنية على Django لاكتشاف ومراجعة وتصنيف الأجهزة المتصلة بالإنترنت من أنظمة التحكم الصناعية وإنترنت الأشياء والأجهزة الطبية. تجمع بين بيانات بحث Shodan وتصور خرائط Google ولقطات شاشة الأجهزة وإثراء الاستخبارات السلبية وأدوات المسح/الاستغلال المختارة في واجهة ويب واحدة.
يساعد التطبيق في تقليل الضوضاء أثناء المراجعة باستخدام مفتاح Filter Honeypots في جداول الأجهزة. هذا يستبعد الأجهزة التي تظهر مؤشرات شبيهة بالـ Honeypot، بحيث يمكن للمحللين التركيز أولاً على الأصول الحقيقية المحتملة. كما يعرض Kamerka حقل Indicator للجهاز، مبني من البانرات المحللة واستجابات البروتوكول وتسميات لقطات الشاشة وبيانات وصفية أخرى للجهاز، لشرح سبب تمييز الجهاز أو كيفية تحديد موقعه أو تصنيفه.
استخدمه فقط للأبحاث المصرح بها، وإدارة الأصول، وإدارة التعرض الدفاعي، والإبلاغ إلى المالكين المناسبين أو فرق CERT/CSIRT.






لوحة التحكم (Dashboard): إحصائيات عالية المستوى، رصيد Shodan، عمليات بحث حديثة، رسوم بيانية، تغطية عالمية، ومفضلات.قاعدة البيانات (Database): جدول قابل للبحث لجميع الأجهزة المكتشفة مع تصفية لـ Honeypot المحتملة.التاريخ (History): عمليات بحث سابقة بأسماء الدول وفئات الأجهزة المحددة وروابط إلى النتائج.الخريطة (Map): خريطة Google عنقودية عالمية للأجهزة المكتشفة.المعرض (Gallery): جميع لقطات شاشة الأجهزة المجمعة مع تصفية حسب الدولة.النتائج (Results): جدول أجهزة لكل بحث، خريطة، إحصائيات، وتصفح بنمط التصدير.الجهاز (Device): علامات تبويب تحديد الموقع والمعلومات والاستغلال لجهاز واحد.GeoLite2-City.mmdb في جذر المستودع إذا كنت تريد تحديد الموقع الجغرافي لاستيراد Nmap XML.تم سرد تبعيات بايثون في requirements.txt. يستهدف المشروع الآن خط الإصدارات الطويلة الأمد Django 5.2 LTS و Celery 5.6 وحزم Python المقيدة بحيث تظل التثبيتات حديثة دون القفز إلى إصدارات رئيسية غير متوافقة.
استنساخ المستودع وإنشاء بيئة افتراضية:
git clone https://github.com/woj-ciech/Kamerka-GUI.git
cd Kamerka-GUI
python3.12 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
إذا لم يكن python3.12 متاحًا، استخدم مترجم Python آخر 3.10-3.13. تجنب إعادة استخدام بيئة افتراضية قديمة من Python 3.8/3.9 لأن مجموعة التبعيات الحالية تتطلب Python 3.10+.
إنشاء مخطط قاعدة البيانات:
python manage.py migrate
أنشئ keys.json في جذر المستودع:
{
"keys": {
"shodan": "YOUR_SHODAN_API_KEY",
"google_maps": "YOUR_GOOGLE_MAPS_API_KEY",
"whoisxmlapi": "YOUR_WHOIS_XML_API_KEY"
}
}
ابدأ Redis في محطة منفصلة:
redis-server
ابدأ عامل Celery في محطة أخرى:
source .venv/bin/activate
celery --app kamerka worker --loglevel=info
ابدأ خادم التطوير الخاص بـ Django:
source .venv/bin/activate
python manage.py runserver
افتح التطبيق:
http://localhost:8000/
keys.json مطلوب في وقت التشغيل لأن التطبيق يقرأ مفاتيح API من keys['keys'].keys.json خارج نظام التحكم بالمصادر. فهو يحتوي على بيانات اعتماد خاصة.يتم الحفاظ على القائمة الكاملة لاستعلامات Shodan المدعومة في queries.md.
تشمل الفئات الواسعة:
يمكن لـ Kamerka استيراد مخرجات Nmap XML ويتضمن نصوص NSE مساعدة تحت nmap_scripts.
تشمل عائلات النصوص المضمنة:
يتضمن المشروع وحدات استغلال/مساعدة مختارة لعائلات أجهزة محددة، بما في ذلك:
هذه المساعدات مخصصة للتحقق الخاضع للرقابة فقط. لا تقم بتشغيلها ضد أنظمة لا تملكها أو ليس لديك إذن باختبارها.