CVE-2020-36911CVE-2020-36911是存在于Covenant渗透测试框架0.1.3至0.5版本中的一个严重安全漏洞。该漏洞允许未经认证的远程攻击者通过构造恶意的JWT(JSON Web Token)令牌来绕过身份验证机制,并获得管理员权限。Covenant是一款基于.NET Core开发的C2(命令与控制)框架,广泛用于红队演练和渗透测试。漏洞根源在于Covenant对JWT令牌的处理存在缺陷,攻击者可以伪造具有admin角色的令牌,从而绕过正常的管理员认证流程。一旦成功利用,攻击者能够上传恶意的DLL有效载荷到目标服务器,并在目标系统上以高权限执行任意代码,最终实现完全的主机控制。此漏洞的CVSS评分高达9.8,属于严重级别,对使用受影响版本Covenant的用户构成重大安全威胁。
该漏洞主要利用了Covenant框架中JWT认证机制的实现缺陷。在Covenant的认证流程中,系统使用JWT令牌来验证用户身份和管理权限。攻击者可以通过以下方式利用此漏洞:首先,构造一个精心设计的JWT令牌,在payload中声明admin角色;其次,由于Covenant在验证JWT签名时存在缺陷,系统错误地接受了这个伪造的管理员令牌;最后,利用获取的管理员权限,攻击者可以访问API接口并上传恶意的DLL文件作为有效载荷。当Covenant加载这些DLL时,攻击者预置的恶意代码将被执行,从而在目标系统上实现远程代码执行。整个攻击过程无需任何有效的凭据,完全依赖JWT令牌的伪造和验证缺陷。攻击者还可以利用Covenant的Listener功能,在目标主机上建立持久化后门,实现长期控制。