# 向日葵远程代码执行漏洞（CNVD-2022-10270）复现

**URL:** <https://forum.90sec.com/t/topic/2029>\
**Category:** 账号审核\
**Created:** [2022 年2 月 19 日 14:06 UTC](https://forum.90sec.com/t/topic/2029 "2022-02-19T14:06:28Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

作者： ![sordlight](https://forum.90sec.com/letter_avatar_proxy/v4/letter/s/8dc957/32.png) [@sordlight](https://forum.90sec.com/u/sordlight)\
发布日期： [2022 年2 月 19 日 14:06 UTC](https://forum.90sec.com/t/topic/2029/1 "2022-02-19T14:06:28Z")

</div>

该漏洞本质就是当主机启动向日葵后，会开启一个http服务，该服务中存在一些未授权访问获取CID的接口，携带该CID去访问/check接口可以执行系统命令  
**0x01**  **复现环境信息**

向日葵版本：10.5.0.29613、11.0.0.33162

安装程序：SunloginClient\_10.5.0.29613\_X64.exe、SunloginClient\_11.0.0.33162.exe  
**0x02**  **复现步骤**  
**2.1**  **找到向日葵http服务开启的端口**  
一种方法是通过系统命令找到向日葵相关服务占用的端口，另一种是查看向日葵的日志，此处主要说第二种  
右键向日葵托盘图标，选择“日志”选项，即可进入向日葵的日志文件夹  
 ![image](https://forum.90sec.com/uploads/default/original/2X/1/1f3f271e830d47f5ff0b84c01c9a159434c8e27a.png)  
找到如图所有的sunlogin\_service.xxx格式的日志，在前面几行即可看到日志中打印的服务开启端口，如下图为49671

 ![image](https://forum.90sec.com/uploads/default/original/2X/f/f8ac7f63796c14c2f7a0d9a34fb20f26d5051fff.png)  
 ![image](https://forum.90sec.com/uploads/default/original/2X/4/4b69162a69a6ec545a9e0b0b1ac225088a4c65d1.png)  
**2.2**  **获取CID**  
往/cgi-bin/rpc接口构造如下请求包，可以在未授权下获取verify\_string,即CID  
 ![image](https://forum.90sec.com/uploads/default/original/2X/a/af45c27d8ab541bb39024df6759cd797721a8fc5.png)  
**2.3**  **执行命令**  
往/check接口构造如下请求包，注意需要将上一步骤获取的CID按照如图格式填充到cookie中，且在url中提供cmd参数，如下图所示ping 127.0.0.1,可以看到成功回显

```nohighlight
GET /check?cmd=ping%20127.0.0.1

```

 ![image](https://forum.90sec.com/uploads/default/original/2X/4/42941822e27098689aac63641ce40f699b443ae7.png)  
修改url如下执行whoami

```nohighlight
GET /check?cmd=ping..%2F..%2F..%2Fwindows%2Fsystem32%2Fwindowspowershell%2Fv1.0%2Fpowershell.exe%20whoami

```

 ![image](https://forum.90sec.com/uploads/default/original/2X/2/2d52af0a361ef1eae8e43a211dd7a70c690cb11c.png)  
修改url入下执行ipconfig

```nohighlight
ping..%2F..%2F..%2Fwindows%2Fsystem32%2Fwindowspowershell%2Fv1.0%2Fpowershell.exe%20ipconfig

```

 ![image](https://forum.90sec.com/uploads/default/original/2X/a/a05d351c15ae6ff638c66d3ea0e89d087e6c8bda.png)

**0x03**  **关于一些执行命令失败的情况和其他说明**  
3.1check接口并非没有任何防护，直接执行部分敏感命令时是失败的  
如下直接执行whoami,会返回commandnotallow

 ![image](https://forum.90sec.com/uploads/default/original/2X/8/83744b64f5d7d4dc17274a51ba86d1f86f5124a4.png)  
但是如上文所示，通过调用powershell或cmd,则是可以执行这些命令的  
3.2执行不合法的命令，会返回error2  
 ![image](https://forum.90sec.com/uploads/default/original/2X/1/19ab7b3bcc074c2839087043d745f1ac0df13268.png)  
3.3获取CID的那个请求，其实也可以是一个GET请求  
 ![image](https://forum.90sec.com/uploads/default/original/2X/b/ba576044aab467679c176c7c6269a11fad741dd0.png)  
3.4服务开放端口 **并非一定是 4W+高位端口** ，此处我用11.0.0.33162 @ 1307复现服务端口为2175  
 ![image](https://forum.90sec.com/uploads/default/original/2X/5/547f7d607e30e4e4ae84e62992b66733456aebff.png)

3.5该漏洞的利用特征还算比较明显的，那么应该如何绕过waf检测呢  
当前试过进行大小写转换、以及利用/.\混淆,不过都没有执行成功，应该是软件中明确限定了大小写，从一些相关的日志，可以看出，每一个接口疑似都是一个待加载的模块，当我改了大小写之后，找不到这个模块了

 ![image](https://forum.90sec.com/uploads/default/original/2X/0/0e54a11e06c5b5dca23ddfef774489e28b14fba1.png)  
 ![image](https://forum.90sec.com/uploads/default/original/2X/5/56a1ea1b18796435f21abb1726f0f83ebb42de67.png)  
后续等我学了逆向再研究下  
**0x04**  **参考**  
Sp4ce 师傅写的向日葵远程命令执行漏洞分析文档

---

<div class="post-metadata">

作者： ![sordlight](https://forum.90sec.com/letter_avatar_proxy/v4/letter/s/8dc957/32.png) [@sordlight](https://forum.90sec.com/u/sordlight)\
发布日期： [2022 年2 月 23 日 15:58 UTC](https://forum.90sec.com/t/topic/2029/2 "2022-02-23T15:58:42Z")

</div>

这个审核还没过？？？
