RTSP狩猎之旅:从协议解析到黑客实战

admin 2025年2月14日16:06:41评论45 views1字数 3692阅读12分18秒阅读模式
01
法律
RTSP狩猎之旅:从协议解析到黑客实战
02
开始
      大家新年好呀!好久没给大家整点技术干货了,回想上次写文章还是 2024 年 4月,分享了一波 AI 安全相关的内容,结果一眨眼都快一年了(时间过得也太快了吧?)。

不过没关系,新的研究文章它来了!这次的内容比之前更硬核,涉及视频流传输协议,不仅有深度分析,还有实战案例,保证让大家看完有收获。

技术这条路就是不断折腾、不断进步,感谢一路陪伴的朋友们!这篇文章希望能带给你们新的思考,欢迎评论区一起交流,咱们继续冲!,最后在开源一个大师和朋友写的测试工具,方便大家平时日常渗透和漏洞挖掘!!

03
rtsp开始
      嘿嘿,最近经历了一些事,一直在折腾 RTSP 协议的攻击可能性。结果研究着研究着发现——市面上那些 RTSP 攻击工具,很多都不太行,根本打不动真正的 RTSP 设备,比如摄像头、视频盒子这些。

既然这样,那还等什么?咱自己动手整一个!在彻底搞明白 RTSP 协议的攻击点之后,我撸了个小工具,专门针对这些设备优化,方便大家直接上手实战。工具已经就绪,细节和玩法都给你们安排上了,感兴趣的兄弟们冲就完了!

0x01 什么是rtsp?

大家有没有想过,为什么有些摄像头可以被远程访问,而有些却只能在本地局域网看?这背后的关键技术就是 RTSP(Real-Time Streaming Protocol,实时流传输协议)。

RTSP 是个啥?简单来说,它是控制音视频流的“指挥官”,让客户端和服务器能够交互,决定什么时候播放、暂停、停止。常见的应用场景包括:

  • IP摄像头监控(企业、大街、工厂的监控头)
  • 流媒体直播(某些私人推流服务器)
  • 智能家居设备(比如可视门铃)

RTSP 主要通过 TCP/UDP 传输数据,默认端口是554,但不同厂商可能会选8554、之类的端口。

一般情况下都是554端口,所以我们在进行红队攻击或者渗透测试的时候可以着重关注fofa、hunter、钟馗之眼等网络空间搜索平台找到的554端口资产。

RTSP狩猎之旅:从协议解析到黑客实战
04
RTSP 的流量特征(如何抓住它的尾巴)
RTSP狩猎之旅:从协议解析到黑客实战

作为一款明文传输的协议,RTSP 的流量特征十分明显,抓包分析的时候,很容易找到它的痕迹。主要有两类:

  1. 控制信令流量(相当于对摄像头的操作指令)
    • 典型请求头:
      OPTIONS rtsp://192.168.0.100:554/live.sdp RTSP/1.0CSeq: 1User-Agent: VLC/3.0.16
    • OPTIONS请求用于查询服务器支持的命令
    • CSeq是请求序列号
    • User-Agent可以透露访问者是谁,比如 VLC、FFmpeg 等
  2. 视频数据流量(承载实际的音视频内容)
    • 使用RTP/RTCP协议传输
    • UDP端口号通常是5004/5005
    • RTCP负责流控制,位于RTP端口相邻位置

0x03RTSP 协议的安全机制

RTSP 协议常见的认证方式有以下几种:

1.Basic 认证(基本认证)

特点:

  • 最简单的认证方式,客户端在Authorization头中直接发送 Base64编码用户名:密码
  • 服务端在未认证时返回401Unauthorized,并带上WWW-Authenticate: Basic realm="RTSP Server"头,要求客户端提供凭据。

安全性问题:

  • Base64只是编码,不是加密
    ,容易被嗅探截获并解码出明文密码。
  • 在 明文 RTSP 连接(未加密)中,这种认证方式极不安全,极易被中间人攻击(MITM)。

示例:

Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ= ("username:password" 的 Base64编码)

2.Digest 认证(摘要认证)

特点:

  • 比 Basic 认证更安全,它采用 MD5哈希计算身份凭据,而不是直接传输密码。
  • 服务器返回401Unauthorized时,WWW-Authenticate头中会带一个nonce值(防重放攻击)。
  • 客户端需要用nonce计算哈希值,生成response,然后发送给服务器进行验证。

安全性改进:

  • 避免了直接明文传输密码的风险。
  • 但是 MD5 哈希较弱,仍然可以通过 彩虹表等方式破解。

示例:

Authorization: Digest username="user", realm="RTSP Server", nonce="abc123", uri="rtsp://example.com/stream", response="md5_hash"

3.RTSP + TLS(RTSPS,基于 HTTPS 的认证)

特点:

  • RTSPS(RTSP over SSL/TLS)
    通过 加密传输保护 RTSP 认证过程,防止嗅探攻击。
  • 认证方式仍然可以是 Basic 或 Digest,但由于使用了 TLS 加密通道,即使是 Basic 认证也不会被轻易嗅探破解。

安全性改进:

  • 基于 HTTPS 的安全模型,避免了明文密码和中间人攻击。
  • 但很多老旧设备不支持 RTSPS,加密传输带来的额外开销也可能影响性能。

4.基于 IP/MAC 绑定的认证

特点:

  • 部分 RTSP 服务器支持基于 IP 地址或 MAC 地址进行访问控制,只允许特定设备访问流媒体。
  • 这种方式通常用于企业或内网环境,结合防火墙策略进行访问限制。

安全性问题:

  • 只要攻击者能伪造 IP 地址或 MAC 地址,就可以绕过限制。
  • 如果没有额外的认证(如用户名/密码),这种方式相对较弱。

总结

认证方式
安全性
易用性
主要风险
Basic 认证
简单
明文 Base64,易被嗅探
Digest 认证
中等
中等
仍然依赖 MD5,有破解风险
RTSPS(TLS 加密)
需配置证书
设备兼容性问题
IP/MAC 绑定
中等
简单
可被伪造,适用于局域网

一般来说,如果你在研究 RTSP 认证攻击,最容易入手的就是 Basic 和 Digest 认证,很多老旧设备依然使用这两种方式。如果目标设备支持 RTSPS,加密会增加攻击难度,而 IP/MAC 绑定则更依赖环境限制。

0x04如果你是黑客你会怎么进行攻击?

首先rtsp作为一种简单的协议,我们能从他的认证机制着手进行攻击,比如暴力破解。最早我也是这么想的,我使用了hydra或者无影等支持rtsp协议爆破工具,通过wireshark进行抓包的时候发现一个问题。rtsp和我们传统爆破是由一些区别的。

rtsp爆破的时候他会判断路径是否存在,只有路径存在的时候。才会进行下一步爆破。就是说一般的工具先探测是否存在默认路径。当路径匹配成功后在进行爆破,但是hydra等工具内置的路径字典有限还无法自定义,就是说即使当前设备的rtsp存在弱口令,也无法爆破成功。

Hydra 爆破的流量特征

在抓包软件里,Hydra 的攻击流量长这样:

  • 短时间内大量 DESCRIBE或 OPTIONS请求(用于探测服务器是否需要认证)
  • 大量 401Unauthorized响应(说明服务器在拒绝非法访问)
  • 最终 200OK响应(爆破成功后,说明已经登录成功!)
  • 紧接着是 PLAY请求,获取视频流

用 Wireshark 抓包,可能会看到如下内容:

DESCRIBE rtsp://192.168.1.100:554/live.sdp RTSP/1.0CSeq: 1Authorization: Basic YWRtaW46MTIzNDU=  #admin:12345

(如果摄像头还在用默认密码,那基本就直接沦陷了。)

一般我们攻击就可以基于rtsp的两种认证模式进行攻击,即Digest和Basic。那么有师傅就会问了,有很多摄像头设备他都是有web端的,我直接爆破web端不就好了,那么你如果这么操作,在我实践情况下会发现两个问题。

1、web端登录口一般有登录次数限制。

2、web端走http和https协议大多数流量监测设备都可以监测出来。(态势感知等设备)

但是如果你直接攻击554端口的rtsp协议的话,大多数就没有登录次数限制(实操证明)。你可以通过rtsp爆破出的密码再去登录web。

RTSP狩猎之旅:从协议解析到黑客实战

0x05具体攻击实操

扫描 RTSP 端口,看看哪些摄像头是“裸奔”的:

1、masscan或者网络空间搜索引擎nmap都可以,可以识别出协议就行。或者盲打

2、看了上面的内容大家应该明白了要攻击rtsp首先要知道他具体的路径,或者先进行路径的爆破,只有识别到路径才能进行进一步的密码爆破,所以我和xxtt师傅一起写了一个小工具,可以自定义uri(路径)、用户名、密码字典等。用于rtsp协议设备的攻击。同时我也内置了市面上大多数摄像头路径。(也是没办法,市面上找到的都爆破不出我们想要的结果只能自己写了,工具后面放在github,链接放在文章最后)

RTSP狩猎之旅:从协议解析到黑客实战

爆破出之后直接使用vlc播放器进行播放,就可以看摄像头内容了

0x06总结

攻击rtsp协议目前发现有这么几个优势:

1、非全流量设备可能没有相关规则能检测到你的爆破攻击流量。

2、rtsp大多数设备都是有web界面的,rtsp协议直接爆破可能没有爆破数量限制,爆破出来后直接登录web。

工具Github路径:

https://github.com/returnwrong/RTSP-Cracker-Pro

感谢大家的阅读祝大家新年快乐,2025年天天出高危,洞洞都速审!

原文始发于微信公众号(地图大师的漏洞追踪指南):RTSP狩猎之旅:从协议解析到黑客实战

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月14日16:06:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   RTSP狩猎之旅:从协议解析到黑客实战https://cn-sec.com/archives/3741177.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息