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

قم بتثبيت 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/24172.16.100.10localhost172.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 install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latestالملف الثنائي cameradar موجود الآن في $GOPATH/bin.
للاطلاع على العلامات المتاحة، راجع مرجع التكوين.
تلخص هذه الخطوات إعداد Termux عمليًا على Android. استخدم Termux 117 من F-Droid أو الموقع الرسمي لـ Termux، وليس Google Play.
قم بتثبيت الحزم المطلوبة في Termux:
pkg update
pkg install mc wget git nmap proot-distro
قم بتثبيت Alpine وتسجيل الدخول:
proot-distro install alpine
proot-distro login alpine
apk add wget git go gcc clang musl-dev make
أنشئ مسار وحدة وقم باستنساخ المستودع:
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
انسخ القواميس وقم بتشغيل الملف الثنائي:
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
استخدم عناوين 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، يمكنك تخطي الاكتشاف ومعاملة كل هدف ومنفذ كمرشح للتدفق. هذا الوضع لا يشغل الاكتشاف ويمكن أن يكون مفيدًا في الشبكات المقيدة أو عندما تريد مهاجمة مخزون معروف.
تخطي الاكتشاف يعني:
مثال:
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 عند مسح الشبكات الكبيرة جدًا: فهو بشكل عام أسرع وأكثر كفاءة على نطاق واسع، لكنه لا يوفر اكتشاف الخدمة.
docker run --rm -t --net=host \
ullaakut/cameradar \
--scanner masscan \
--ports "554,8554" \
--targets 192.168.1.0/24
[!تحذير]
--scan-speedينطبق فقط على ماسحnmap.
--framecheckبعض الكاميرات لا تتبع سلوك RTSP بشكل كامل ويمكن أن ترجع 200 OK حتى عندما يكون المسار أو بيانات الاعتماد خاطئة.
عند تمكين --framecheck، يتحقق Cameradar من كل 200 OK عن طريق محاولة التشغيل وانتظار حزمة RTP.
يعني فحص الإطار:
200 OK عندما يمكنه تأكيد توليد الإطار.--framecheck معطل افتراضيًا لأنه يضيف طلبات RTSP ويمكن أن يزيد بشكل كبير من مدة الهجوم.
مثال مع Docker:
docker run --rm -t --net=host \
ullaakut/cameradar \
--targets 192.168.1.0/24 \
--ports "554,8554" \
--framecheck
مثال مع الملف الثنائي المحلي ومتغير البيئة:
FRAMECHECK=true \
cameradar \
--targets 192.168.1.0/24 \
--ports "554,8554"
Cameradar هي أداة اختبار اختراق. قم بمسح الشبكات والأجهزة التي تملكها فقط أو لديك إذن صريح لاختبارها. لا تستخدم هذه الأداة للوصول إلى الأنظمة أو التدفقات غير المصرح بها. إذا كنت غير متأكد، توقف واحصل على موافقة كتابية قبل المسح.
يعرض Cameradar النتائج في واجهة طرفية قابلة للقراءة.
يقوم بتسجيل النتائج في وحدة التحكم.
يتضمن التقرير المضيفين المكتشفين، ونماذج الأجهزة المحددة، والمسارات أو بيانات الاعتماد الصالحة.
إذا قمت بتحديد مسار لعلامة --output، يكتب Cameradar أيضًا قائمة تشغيل M3U بالتدفقات المكتشفة.
استخدم VLC Media Player للاتصال بتدفق:
rtsp://username:password@address:port/route
لنقاط نهاية RTSP الآمنة، استخدم:
rtsps://username:password@address:port/route
يمكن أن يحتوي الملف على عناوين IP وأسماء مضيفين ونطاقات IP وشبكات فرعية. افصل الإدخالات بأسطر جديدة. مثال:
0.0.0.0
localhost
192.17.0.0/16
192.168.1.140-255
192.168.2-3.0-255
عند استخدام --skip-scan، يقوم Cameradar بتوسيع كل إدخال إلى عناوين IP صريحة قبل بناء قائمة الأهداف.
المرجع الكامل لواجهة سطر الأوامر ومتغيرات البيئة موجود في مرجع التكوين.
يشمل ذلك جميع العلامات المدعومة، والقيم الافتراضية، والقيم المقبولة، وتعيين متغيرات البيئة.
قم بتشغيل الأمر التالي في جذر المستودع:
docker build . -t cameradar
الصورة الناتجة تسمى cameradar.
go install github.com/Ullaakut/cameradar/v6/cmd/cameradar@latestالملف الثنائي cameradar موجود الآن في $GOPATH/bin/cameradar.
راجع استكشاف الأخطاء وإصلاحها والأسئلة الشائعة
تشغيل camerdar على جهازك الخاص لمسح المنافذ الافتراضية
docker run --rm -t --net=host ullaakut/cameradar --targets localhost
تشغيل camerdar مع ملف إدخال، مع تمكين السجلات على المنفذ 8554
docker run --rm -t --net=host -v /tmp:/tmp ullaakut/cameradar --targets /tmp/test.txt --ports 8554
تشغيل camerdar على شبكة فرعية مع قواميس مخصصة، على المنافذ 554, 5554, 8554, 322, و 8322
docker run --rm -t --net=host -v /tmp:/tmp ullaakut/cameradar --targets 192.168.0.0/24 --custom-credentials "/tmp/dictionaries/credentials.json" --custom-routes "/tmp/dictionaries/routes" --ports 554,5554,8554
تشغيل camerdar مع اكتشاف masscan
docker run --rm -t --net=host ullaakut/cameradar --scanner masscan --targets 192.168.0.0/24 --ports 554,8554
حقوق الطبع والنشر 2026 Ullaakut
يُمنح الإذن، مجانًا، لأي شخص يحصل على نسخة من هذا البرنامج وملفات التوثيق المرتبطة به (الـ "برنامج")، للتعامل في البرنامج دون قيود، بما في ذلك دون حصر حقوق الاستخدام والنسخ والتعديل والدمج والنشر والتوزيع والترخيص و/أو بيع نسخ من البرنامج، والسماح للأشخاص الذين تم تزويدهم بالبرنامج بذلك، وفقًا للشروط التالية:
يجب تضمين إشعار حقوق الطبع والنشر أعلاه وإشعار الإذن هذا في جميع النسخ أو الأجزاء الجوهرية من البرنامج.
يتم توفير البرنامج "كما هو"، دون أي ضمان من أي نوع، صريحًا أو ضمنيًا، بما في ذلك على سبيل المثال لا الحصر ضمانات القابلية للتسويق والملاءمة لغرض معين وعدم الانتهاك. في أي حال من الأحوال لا يكون المؤلفون أو حاملو حقوق الطبع والنشر مسؤولين عن أي دعوى أو أضرار أو مسؤولية أخرى، سواء في إطار عقد أو تقصير أو غير ذلك، تنشأ عن أو فيما يتعلق بالبرنامج أو استخدامه أو تعاملات أخرى في البرنامج.