手把手教你安装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或域名更新):
    1
    
    https://your-server-ip-or-domain:8443
    
    注意:确保URL末尾没有斜杠(/)。
  4. 别忘了点击绿色“update”按钮,并在配置更改后重启服务器。

使用自定义证书

默认使用自签名证书进行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 设计