
# رفيقك لكاميرات ONVIF وRTSP لاكتشاف واختراق كاميرات المراقبة الواقعية 🎥
pwneye هي أداة أمنية هجومية مركّزة وقابلة للنقل للعمل مع كاميرات IP التي تعرض خدمات ONVIF و RTSP، بهدف منح باحثي الأمن والقراصنة طريقة سهلة للتعامل مع الاكتشاف، واختبار المصادقة، وجمع البيانات الوصفية، والتحقق من البث، والتسجيل، والإجراءات اللاحقة من سير عمل CLI واحد.
بعض القدرات المدعومة حالياً تشمل:
ffplay، وتسجيل عبر ffmpeg، والتقاط لقطة~/.pwneyehttps://github.com/user-attachments/assets/6913632b-326d-455e-aa0d-be6bf9b3e66c
ثبّت pwneye كأمر CLI على مستوى النظام من GitHub:```bash
pipx install git+https://github.com/Hackerest/pwneye.git
pwneye --help
قم بإلغاء تثبيته:```bash
pipx uninstall pwneye
قم بترقيته لاحقًا من نفس مصدر GitHub:```bash pipx upgrade pwneye
### Python```bash
git clone https://github.com/Hackerest/pwneye
cd pwneye
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 pwneye.py --help
قم بترقيته لاحقًا من نفس مصدر GitHub:```bash cd pwneye git pull source .venv/bin/activate pip install -r requirements.txt
### التبعيات الخارجية
من المتوقع توفر الأدوات التالية في `PATH` حسب الوضع الذي تستخدمه:
- `ffplay`
- `ffprobe`
- `ffmpeg` للتسجيل
| المنصة | أمر التثبيت |
| --- | --- |
| macOS (Homebrew) | `brew install ffmpeg` |
| Ubuntu / Debian | `sudo apt update && sudo apt install ffmpeg` |
| Fedora | `sudo dnf install ffmpeg ffmpeg-free` |
| Arch Linux | `sudo pacman -S ffmpeg` |
| openSUSE | `sudo zypper install ffmpeg` |
## البدء
استخدم هذه النقاط كأسرع مداخل للعمل مع الأداة. الهدف هنا ليس توثيق كل خيار، بل إظهار أكثر الطرق فائدة لبدء العمل مع كاميرا بناءً على ما تعرفه بالفعل.
ابدأ من سير العمل الكامل الافتراضي عندما يكون لديك هدف واحد وتريد أن تقوم `pwneye` بعملية اختيار البروتوكول نيابةً عنك:```bash
pwneye -t 192.168.1.135
ابدأ باكتشاف ONVIF عندما تكون على نفس الشبكة المحلية وتريد تحديد الأجهزة والبائعين ومؤشرات البث قبل لمس RTSP:```bash pwneye --discover
ابدأ مباشرة من RTSP عندما يكون ONVIF غير ذي صلة، أو غير متوفر، أو كنت تعرف بالفعل ما تريد اختباره:```bash
pwneye -t 192.168.1.135 --skip-onvif
ابدأ من بيانات الاعتماد المعروفة أو المشتبه بها عندما تريد تقليل الضوضاء والتحقق من الوصول بسرعة:```bash pwneye -t 192.168.1.135 --username admin --password admin pwneye -t 192.168.1.135 --username admin --password ~/wordlists/passwords.txt pwneye -t 192.168.1.135 --username ~/wordlists/users.txt --password admin123
ابدأ من مسار معروف أو قالب مسار عندما يكون لديك بالفعل دليل على التدفق وتريد تحكماً دقيقاً في طلبات RTSP:```bash
pwneye -t 192.168.1.135 --skip-onvif -cn "/live/ch00_0"
pwneye -t 192.168.1.135 --skip-onvif -cn '/cam/realmonitor?channel={channel}&subtype=0'
ابدأ بجمع الأدلة بمجرد العثور على تدفق يعمل:```bash pwneye -t 192.168.1.135 --snapshot pwneye -t 192.168.1.135 --record
الأعلام المفيدة التي يجب وضعها في الاعتبار:
- `--vendor VENDOR`: تقليل طلبات RTSP عندما تكون عائلة الجهاز معروفة مسبقًا
- `-cn, --connection-string PATH`: تجربة مسار RTSP معروف أو ملف يحتوي على مسارات مرشحة
- `--multi-channel`: تفضيل مسارات RTSP القائمة على القنوات عندما تشك في أن الهدف من نوع DVR/NVR
- `--threads N`: التحكم في التزامن لاختراق ONVIF وRTSP
- `--skip-onvif` / `--skip-rtsp`: التركيز على بروتوكول واحد فقط
- `--no-cache`: عدم القراءة من أو الكتابة إلى ذاكرة التخزين المؤقت
- `--fresh`: تجاهل قراءات ذاكرة التخزين المؤقت ولكن لا يزال كتابة النتائج الجديدة
## ONVIF
ONVIF هو جانب الإدارة والتحكم في عالم الكاميرات. عمليًا، هو مفيد للاكتشاف، والمصادقة، واستخراج البيانات الوصفية، وتعداد ملفات الوسائط، واسترجاع عناوين URI لدفق الفيديو، وإجراءات الجهاز مثل إعادة التشغيل.
في `pwneye`، عادةً ما يكون ONVIF هو البروتوكول الذي يوفر أغنى سياق ما بعد المصادقة، وأوضح مسار لفهم ما تعرضه الكاميرا، وعندما يمتلك الحساب المصادق صلاحيات كافية، الوصول إلى إجراءات إدارية حقيقية على الجهاز.
### ما يوفره لك ONVIF
عندما تعرض الكاميرا ONVIF، يمكن لـ `pwneye` استخدامه من أجل:
- اكتشاف الكاميرات على الشبكة المحلية عبر WS-Discovery
- اختبار مصادقة ONVIF باستخدام بيانات اعتماد ثابتة أو ملفات
- استخراج بيانات الشركة المصنعة والجهاز الوصفية
- استرجاع عناوين URI لدفق RTSP المعروضة من الجهاز
- تعداد السياق المفيد بعد المصادقة قبل لمس RTSP بشكل أكثر عدوانية
- طلب إعادة تشغيل مصادق عليها باستخدام `--reboot`
- طلب إعادة ضبط المصنع مصادق عليها باستخدام `--reset`
- تحريك كاميرا قادرة على PTZ من سطر الأوامر أو من العارض المخصص
- فتح قشرة تفاعلية مصادق عليها باستخدام `--shell`
- تشويه الدفق عبر ONVIF باستخدام `--deface`
- استعادة آخر ملف تشويه محفوظ باستخدام `--undeface`
### تعداد الشبكة المحلية
استخدم WS-Discovery لتحديد الأجهزة القادرة على ONVIF على الشبكة المحلية:```
pwneye --discover
[info] Starting continuous ONVIF discovery on the target network
[warning] No network interface was specified. Using en0 (subnet 192.168.1.0/24) for discovery
[success] Discovered 1 new ONVIF device(s) on the target network
[info] Saved ONVIF discovery data to cache for 192.168.1.135 (Tenda)