العودة إلى التحديثات
New releaseJul 26, 2026

cameradar v6.2.1

يخترق Cameradar كاميرات المراقبة بالفيديو عبر RTSP

مشاركة

كاميرادار

Coverage Status

أداة الوصول إلى تدفق RTSP

يقوم Cameradar بمسح نقاط نهاية RTSP على الأهداف المصرح بها، ويستخدم هجمات القاموس لاختراق بيانات اعتمادهم ومساراتهم.

ما يفعله Cameradar

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

جدول المحتويات


البدء السريع مع 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 أو أحدث

الخطوات

  1. 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 عند مسح الشبكات الكبيرة جدًا: فهو بشكل عام أسرع وأكثر كفاءة على نطاق واسع، لكنه لا يوفر اكتشاف الخدمة.

الفئات