Caldera安装好后,默认是运行在本机的 8888 端口上。想使用 https 来与受控机通信,需要做一些额外的配置。
安装 HAProxy
sudo apt update
sudo apt install haproxy
启动ssl代理
在原来运行 http 的 Web 页面上,设置启动 ssl 代理(若状态不是 Enabled,需要点一下 Enable):
接下来,需要重启一下 C2 server,并访问新地址:https://<你的IP>:8443
然后我们就可以在上线主机时选择 https 的地址。上线主机操作见: Caldera安装及简单使用
Caldera 默认 ssl 证书路径
caldera/plugins/ssl/conf/insecure_certificate.pem
若想使用自己的 SSL 证书,需要将自己的公私钥文件打包以替换默认的证书。以公钥文件为 cert.pem,私钥文件为 privkey.pem 为例:
cat cert.pem privkey.pem > caldera/plugins/ssl/conf/insecure_certificate.pem
特别说明
第一次在受控主机上使用 https 建立连接前,需要现在管理员权限下的 powershell 中执行以下代码:
class TrustAllCertsPolicy : System.Net.ICertificatePolicy {
[bool] CheckValidationResult([System.Net.ServicePoint] $a,
[System.Security.Cryptography.X509Certificates.X509Certificate] $b,
[System.Net.WebRequest] $c,
[int] $d) {
return $true
}
}
[System.Net.ServicePointManager]::CertificatePolicy = [TrustAllCertsPolicy]::new()
然后,在运行复制过来的 powershell 上线命令即可。