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

本文详细介绍了在Ubuntu系统上安装Mitre CALDERA服务器的步骤,包括克隆仓库、安装依赖、配置Go环境、设置SSL证书以及使用Let's Encrypt创建可信证书的全过程。

如何安装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://<您的IP>:8443访问CALDERA Web界面
  3. 还需要从CALDERA Web界面(advanced–>configuration)更新app.contact.http设置以包含https,如下所示(使用服务器的IP或域名更新)

    注意:确保URL末尾不包含斜杠(/)

  4. 不要忘记单击绿色的“update”按钮,并在配置更改后重新启动服务器

使用可信证书

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

需要创建自己的签名/可信证书?尝试使用Let’s Encrypt。您需要拥有一个域名,并配置DNS权威记录指向您的CALDERA服务器的IP地址。

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

1
2
cd /etc/letsencrypt/live/<您的域名>
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 设计