rtsp_discover.py - A quick and simple tool to validate ports as supporting RTSP and obtaining the DESCRIBE and OPTIONS response content.
Copyright (C) 2014 Luke Stephens and Tek Security Group, LLC - all rights reserved
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
RTSP Discover is provided for testing purposes only and is not authorized for use to conduct malicious, illegal or other nefarious activities.
Standard usage is:
python rtsp_discover.py <target ip [:port]>
Right now the discover program runs a DESCRIBE request and a OPTIONS request. DESCIBE is defined by the standard as an optionally supported verb, while OPTIONS is a mandatory verb. If both of these don't return anything, it is a pretty good bet that the port doesn't actually support RTSP (even if it is on the 554 standard port).
- Validate there are no other inquiry verbs that could help discover RTSP connections in the standard.
- Check whether there are other DESCRIBE or OPTIONS formats that may illuminate RTSP active ports.
- Add the ability to search scan (give it a IP block and port block)
- Add more intelligent reporting.