
cameradar v6.2.1
يخترق Cameradar كاميرات المراقبة بالفيديو عبر RTSP
كاميرادار
أداة الوصول إلى تدفق RTSP
يقوم Cameradar بمسح نقاط نهاية RTSP على الأهداف المصرح بها، ويستخدم هجمات القاموس لاختراق بيانات اعتمادهم ومساراتهم.
ما يفعله Cameradar
- يكتشف مضيفي RTSP المفتوحين على الأهداف القابلة للوصول.
- يكتشف طراز الجهاز الذي يبث دفق RTSP.
- يحاول اكتشاف مسارات التدفق بناءً على القاموس (على سبيل المثال،
/live.sdp). - يحاول اكتشاف بيانات اعتماد الكاميرا بناءً على القاموس.
- ينتج تقريرًا بالنتائج.

جدول المحتويات
- البدء السريع مع Docker
- تثبيت الملف الثنائي
- التثبيت على Android (Termux)
- التكوين
- الأمان والاستخدام المسؤول
- المخرجات
- التحقق من الوصول إلى الكاميرا
- خيارات سطر الأوامر ومتغيرات البيئة
- تنسيق ملف الإدخال
- البناء والمساهمة
- الأسئلة الشائعة
- أمثلة
- الترخيص

البدء السريع مع Docker
قم بتثبيت Docker وقم بتشغيل:
docker run --rm -t --net=host ullaakut/cameradar --targets <target>
مثال:
docker run --rm -t --net=host ullaakut/cameradar --targets 192.168.100.0/24
يقوم هذا بمسح المنافذ 554 و 5554 و 8554 على الشبكة الفرعية الهدف. يحاول تعداد تدفقات RTSP. لمعرفة جميع الخيارات، راجع مرجع التكوين.
-
يمكن أن تكون الأهداف عبارة عن CIDRs أو عناوين IP أو نطاقات IP أو اسم مضيف.
- شبكة فرعية:
172.16.100.0/24 - عنوان IP:
172.16.100.10 - مضيف:
localhost - نطاق:
172.16.100.10-20
- شبكة فرعية:
-
لاستخدام قواميس مخصصة، قم بتركيبها وتمرير كلا العلامتين:
docker run --rm -t --net=host \ -v /path/to/dictionaries:/tmp/dictionaries \ ullaakut/cameradar \ --custom-routes /tmp/dictionaries/my_routes \ --custom-credentials /tmp/dictionaries/my_credentials.json \ --targets 192.168.100.0/24
تثبيت الملف الثنائي
استخدم هذا الخيار إذا لم يكن Docker متاحًا أو إذا كنت تريد بناء محلي.
التبعيات
- Go 1.25 أو أحدث
الخطوات
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latest
الملف الثنائي cameradar موجود الآن في $GOPATH/bin.
للاطلاع على العلامات المتاحة، راجع مرجع التكوين.
التثبيت على Android (Termux)
تلخص هذه الخطوات إعداد Termux عمليًا على Android. استخدم Termux 117 من F-Droid أو الموقع الرسمي لـ Termux، وليس Google Play.
1) إعداد Termux و Alpine
قم بتثبيت الحزم المطلوبة في Termux:
pkg update
pkg install mc wget git nmap proot-distro
قم بتثبيت Alpine وتسجيل الدخول:
proot-distro install alpine
proot-distro login alpine
2) تثبيت أدوات البناء في Alpine
apk add wget git go gcc clang musl-dev make
3) بناء Cameradar
أنشئ مسار وحدة وقم باستنساخ المستودع:
mkdir -p go/pkg/mod/github.com/Ullaakut
cd go/pkg/mod/github.com/Ullaakut
git clone https://github.com/Ullaakut/cameradar.git
cd cameradar/cmd/cameradar
go install
4) تشغيل Cameradar
انسخ القواميس وقم بتشغيل الملف الثنائي:
mkdir -p /tmp
cp -r ../../dictionaries /tmp/dictionaries
/go/bin/cameradar --targets=<target> --custom-credentials=/tmp/dictionaries/credentials.json --custom-routes=/tmp/dictionaries/routes --ui=plain --debug
استبدل <target> بعنوان IP أو نطاق أو مضيف أو شبكة فرعية لديك الإذن باختبارها.
التكوين
المنافذ الافتراضية هي 554 و 5554 و 8554 و http و 322 و 8322.
إذا لم تحدد منافذ، سيستخدم Cameradar هذه المنافذ.
مثال على مسح منافذ مخصصة:
docker run --rm -t --net=host \
ullaakut/cameradar \
--ports "18554,19000-19010" \
--targets localhost
يمكنك استبدال القواميس الافتراضية بملفات المسارات وبيانات الاعتماد الخاصة بك.
يوفر المستودع قواميس أساسية في مجلد dictionaries.
docker run --rm -t --net=host \
-v /my/folder/with/dictionaries:/tmp/dictionaries \
ullaakut/cameradar \
--custom-routes /tmp/dictionaries/my_routes \
--custom-credentials /tmp/dictionaries/my_credentials.json \
--targets 172.19.124.0/24
RTSPS وشهادات TLS
استخدم عناوين URL rtsps:// للوصول إلى تدفقات RTSPS.
- إذا كانت شهادة التدفق صادرة عن مرجع تصديق عام موثوق، فلا حاجة لإعداد إضافي.
- إذا كانت شهادة التدفق موقعة ذاتيًا أو صادرة عن مرجع تصديق خاص، فقد يرفضها مخزن الثقة لنظام التشغيل.
- في هذه الحالة، وجّه
SSL_CERT_FILEإلى شهادة المرجع المصدق (أو شهادة الخادم للإعداد الذاتي) عند تشغيل Cameradar.
مثال مع الملف الثنائي المحلي:
SSL_CERT_FILE=/path/to/ca-or-server.crt \
cameradar \
--targets localhost \
--ports 8322 \
--skip-scan \
--custom-routes routes.txt \
--custom-credentials credentials.json
مثال مع Docker:
docker run --rm -t --net=host \
-e SSL_CERT_FILE=/tmp/certs/server.crt \
-v /path/to/certs:/tmp/certs:ro \
ullaakut/cameradar \
--targets localhost \
--ports 8322
إذا كنت تفضل عدم استخدام SSL_CERT_FILE، أضف شهادة CA الخاصة بك إلى مخزن الثقة للنظام الذي يستخدمه بيئة وقت التشغيل الخاصة بك.
تخطي الاكتشاف باستخدام --skip-scan
إذا كنت تعرف بالفعل نقاط نهاية RTSP، يمكنك تخطي الاكتشاف ومعاملة كل هدف ومنفذ كمرشح للتدفق. هذا الوضع لا يشغل الاكتشاف ويمكن أن يكون مفيدًا في الشبكات المقيدة أو عندما تريد مهاجمة مخزون معروف.
تخطي الاكتشاف يعني:
- لا يقوم Cameradar بتشغيل الاكتشاف ولا يكتشف نماذج الأجهزة.
- يتم تحليل الأهداف إلى عناوين IP. يتم حل أسماء المضيفين عبر DNS.
- يتم توسيع كتل CIDR ونطاقات IPv4 لتشمل كل عنوان في النطاق.
- النطاقات الكبيرة تخلق العديد من الأهداف، لذا استخدمها بحذر.
مثال:
docker run --rm -t --net=host \
ullaakut/cameradar \
--skip-scan \
--ports "554,8554" \
--targets 192.168.1.10
في هذا المثال، يحاول Cameradar هجمات القاموس ضد المنفذين 554 و8554 من 192.168.1.10.
اختيار ماسح الاكتشاف باستخدام --scanner
يدعم Cameradar مُحركي اكتشاف خلفي:
nmap(افتراضي)masscan
استخدم nmap عندما تريد اكتشاف RTSP أكثر موثوقية: فهو يقوم بتحديد الخدمة ويمكنه التمييز بشكل أفضل بين RTSP والمنافذ المفتوحة الأخرى.
استخدم masscan عند مسح الشبكات الكبيرة جدًا: فهو بشكل عام أسرع وأكثر كفاءة على نطاق واسع، لكنه لا يوفر اكتشاف الخدمة.