
Ваш компаньон для камер ONVIF и RTSP: обнаружение и взлом реальных камер видеонаблюдения 🎥
pwneye — это сфокусированный и портативный инструмент offensive security для работы с 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` может использовать его для: