Tool for RTSP that brute-forces routes and credentials, makes screenshots!
Project description
RTSPBrute
Inspired by Cameradar
Features
- Find accessible RTSP streams on any target
- Brute-force stream routes
- Brute-force credentials
- Make screenshots on accessible streams
- Generate user-friendly report of the results:
.txt
file with each found stream on new line.html
file with screenshot of each found stream
Report files
result.txt
: Each target is on a new line. Import to VLC: change extension to.m3u
and open in VLCindex.html
: Click on the screenshot to copy its link
Installation
Requirements
python
(>3.7
)av
Pillow
rich
Install with pip
or your favorite PyPi package manager.
pip install rtspbrute
CLI
USAGE
$ rtspbrute -t TARGETS [-p PORTS [PORTS ...]] [-r ROUTES] [-c CREDENTIALS]
[-ct N] [-bt N] [-st N] [-T TIMEOUT] [-d] [-h]
ARGUMENTS
-h, --help show this help message and exit
-t, --targets TARGETS the targets on which to scan for open RTSP streams
-p, --ports PORTS [PORTS ...] the ports on which to search for RTSP streams
-r, --routes ROUTES the path on which to load a custom routes
-c, --credentials CREDENTIALS the path on which to load a custom credentials
-ct, --check-threads N the number of threads to brute-force the routes
-bt, --brute-threads N the number of threads to brute-force the credentials
-st, --screenshot-threads N the number of threads to screenshot the streams
-T, --timeout TIMEOUT the timeout to use for sockets
-d, --debug enable the debug logs
EXAMPLES
$ rtspbrute -h
$ rtspbrute -t hosts.txt -p 554 5554 8554 -d
$ rtspbrute -t ips.txt -r routes.txt -c combinations.txt
$ rtspbrute -t targets.txt -st 10 -T 10
"argument" (default_value
):
- "-t, --targets" (No default value): Set the path to the input file. The file can contain IPs, IP ranges and CIDRs. Each one of them should be on a separate line, e.g.:
0.0.0.0
192.168.100.1-192.168.254.1
192.17.0.0/16
- "-p, --ports" (
554
): Set custom ports, e.g.:-p 554 5554 8554
- "-r, --routes" (
routes.txt
): Set custom path to the file with routes. Each route should start with/
and be on a separate line, e.g.:
/1
/11
/h264
- "-c, --credentials" (
credentials.txt
): Set custom path to the file with credentials. Each combination should contain:
and be on a separate line, e.g.:
admin:admin
user:user
- "-ct, --check-threads" (
500
): Set custom number of threads to brute-force the routes - "-bt, --brute-threads" (
200
): Set custom number of threads to brute-force the credentials - "-st, --screenshot-threads" (
20
): Set custom number of threads to screenshot the streams. Smaller number leads to more successful screenshots: when there's too much threads PyAV will throw errors and wouldn't connect to target. - "-T, --timeout" (
2
): Set custom timeout value for socket connections - "-d, --debug" (
False
): Enable debug logging todebug.log
file
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rtspbrute-1.0.0.tar.gz
(20.5 kB
view hashes)
Built Distribution
rtspbrute-1.0.0-py3-none-any.whl
(36.1 kB
view hashes)
Close
Hashes for rtspbrute-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | adde84b63fba53a2803222ad76d8ead6d897c5c3dece562d7408378157e388c6 |
|
MD5 | 26f22deaae38cfe6a6d1b23df75809d6 |
|
BLAKE2b-256 | cae465837612f21534ce194940c7c283f7462add00502c6ce6255c4412e12676 |