手把手安装Mitre CALDERA并配置SSL证书

本文详细介绍了在Ubuntu系统上安装Mitre CALDERA服务器的完整步骤,包括克隆仓库、安装依赖、配置Go环境、设置SSL证书以及解决自签名证书信任问题等关键技术环节。

如何安装Mitre CALDERA并配置SSL证书

克隆仓库

1
git clone https://github.com/mitre/caldera.git --recursive --branch 2.8.1

进入CALDERA目录

1
cd caldera

安装PIP及依赖

1
2
sudo apt install -y python3-pip
pip3 install -r requirements.txt

安装Go

安装Go在技术上是可选的,但它能动态编译代理可执行文件,并更好地规避AV检测。

  1. 从https://golang.org/doc/install下载Go
  2. 解压下载的文件(文件名可能不同)
    1
    
    sudo tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz
    
  3. 更新PATH:在$HOME/.bashrc文件中添加以下行
    1
    
    export PATH=$PATH:/usr/local/go/bin
    
  4. 关闭终端重新打开使PATH更改生效,或使用source ~/.bashrc命令
  5. 检查版本确认Go安装成功
    1
    
    go --version
    

启动服务器

  1. 创建CALDERA配置文件副本local.yml,并编辑设置自己的用户和安全密码
    1
    
    cp ~/caldera/conf/default.yml ~/caldera/conf/local.yml
    
  2. 编辑local.yml文件,更改用户名和密码为更安全的设置
  3. 启动CALDERA服务器
    1
    
    python3 server.py
    

为CALDERA Web界面设置SSL通信

如果CALDERA Web界面可通过不受信任的网络访问,应按照以下说明启用加密通信。加密通信由HAProxy工具处理。

安装HAProxy

1
2
sudo apt update
sudo apt install haproxy

配置SSL

  1. 登录到localhost:8888的CALDERA Web界面,转到Advanced–>Configuration菜单
  2. 从配置菜单启用SSL插件。现在可以通过https://<your ip>:8443访问CALDERA Web界面
  3. 还需要从CALDERA Web界面(advanced–>configuration)更新app.contact.http设置,包含https(使用服务器的IP或域名更新)

注意:确保URL末尾不包含斜杠(/)。 不要忘记单击绿色“update”按钮,并在配置更改后重启服务器。

配置app.contact.http设置后,将看到使用http联系方法部署代理的更新命令(例如54ndc47)。

默认使用自签名证书进行SSL加密。如果需要,可以用自己的证书替换~/caldera/plugins/ssl/conf/insecure_certificate.pem处的自签名证书。

创建自己的签名/信任证书

尝试使用Let’s Encrypt。需要拥有域名并配置DNS权威记录指向CALDERA服务器的IP地址。

使用以下命令创建组合pem文件:

1
2
cd /etc/letsencrypt/live/<your domain>
cat cert.pem privkey.pem > ~/caldera/plugins/ssl/conf/insecure_certificate.pem

更改后重启CALDERA服务器。

处理自签名证书信任问题

如果使用自签名证书,任何获取远程代理的PowerShell命令都会抱怨无法建立信任关系。需要在执行代理命令之前运行以下PowerShell命令绕过信任检查(仅适用于使用默认自签名证书的情况):

1
2
3
4
5
6
7
8
9
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()

现在您的CALDERA服务器已完全设置好并准备投入使用。查看“Attack Emulation: Atomic Red Team, CALDERA, and More”课程,了解更多关于使用Mitre CALDERA的信息,包括超过25个动手实验室。https://wildwesthackinfest.com/online-training/attack-emulation-atomic-red-team-caldera-and-more/

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计