关键漏洞信息 漏洞描述 CVE编号: CVE-2024-57412 影响系统: OmniOS r151046, SunOS OmniOS 5.11 漏洞类型: 拒绝服务(DoS) 原因: 在处理TCP RST数据包时,OmniOS对序列号的接受范围过宽,不要求序列号精确匹配预期值,只需在当前接收窗口内即可。这违反了RFC5961,允许攻击者发送多个随机RST数据包中断正常连接,导致服务拒绝。 复现环境 测试机: Ubuntu系统虚拟机,安装Python、scapy、pcapy等工具。 目标系统: OmniOS操作系统虚拟机,安装GCC运行时环境。 网络通信: 两台虚拟机可通过网络通信。 实验概述 步骤: 测试机发送特定顺序的数据包(CONNECT、SYN+ACK(V)、PUSH+ACK(V)、RST(INV,0)、PUSH+ACK(V)),观察目标系统的响应。 关键点: - CONNECT后发送RST(INV,0),若连接中断则存在漏洞。 - 发送多个不同序列号的RST数据包,确保覆盖整个接收窗口范围。 文件准备 poc.py: 测试机中用于发送指定数据包的脚本。 socketAdapter.c: 目标系统中用于识别命令和执行系统调用的文件。 复现步骤 1. 目标系统: - 编译并生成socketAdapter可执行文件。 - 运行socketAdapter,使目标系统处于监听状态。 2. 测试机: - 配置iptables避免干扰。 - 运行poc.py发送数据包。 3. 捕获数据包: - 观察目标系统响应,确认是否存在漏洞。 贡献者 Qian Zou, Ke Xu, Xuewei Feng, Qi Li, Xueying Li, Gang Jin