EMCL-Research-ITSecLab/heiST

GitHub: EMCL-Research-ITSecLab/heiST

一个面向 CTF 与安全研究的开源自动化实验环境搭建工具,解决挑战赛基础设施部署复杂的问题。

Stars: 6 | Forks: 3

# heiST ## 安装设置 要设置服务,请按照以下步骤操作: 1. 禁用 Proxmox VE 软件源以防止 apt update 输出错误 2. 将此仓库克隆到 `/root/` 3. `cd /root/heiST/setup/` 4. 编辑 `/root/heiST/setup/.env` 变量以适应 Proxmox 安装环境和所需值 5. 通过运行 `bash /root/heiST/setup/install_requirements.sh` 安装先决条件 6. 运行 `python3 /root/heiST/setup/setup.py` 执行设置 7. 等待设置完成,这可能需要一些时间(约 10 分钟) 8. 设置完成后,您可以通过 `http://localhost/` 或 `http:///` 访问服务 ## 示例 .env 文件 ``` PROXMOX_HOST='10.0.0.1' PROXMOX_USER='root@pam' PROXMOX_PASSWORD='admin123' PROXMOX_PORT='8006' BACKEND_PORT='8000' PROXMOX_INTERNAL_IP='10.0.3.4' PROXMOX_EXTERNAL_IP='10.0.3.4' PROXMOX_HOSTNAME='pve' PROXMOX_LVM_STORAGE='local-lvm' PROXMOX_SSH_KEYFILE='/root/.ssh/id_rsa' UBUNTU_BASE_SERVER_URL='ChangeMeToYourMirror' SSL_TLS_CERTS_DIR='/root/heiST/setup/certs' DNSMASQ_BACKEND_DIR='/etc/dnsmasq-backend' DATABASE_FILES_DIR='/root/heiST/database' DATABASE_NAME='heist' DATABASE_USER='postgres' DATABASE_PASSWORD='ChangeMe123!' DATABASE_PORT='5432' DATABASE_HOST='10.0.0.102' WEBSERVER_FILES_DIR='/root/heiST/webserver' WEBSERVER_USER='www-data' WEBSERVER_GROUP='www-data' WEBSERVER_ROOT='/var/www/html' WEBSERVER_HOST='10.0.0.101' WEBSERVER_HTTP_PORT='80' WEBSERVER_HTTPS_PORT='443' WEBSERVER_DATABASE_USER='api_user' WEBSERVER_DATABASE_PASSWORD='ChangeMe123!' BACKEND_FILES_DIR='/root/heiST/backend' BACKEND_LOGGING_DIR='/var/log/backend' OPENVPN_SUBNET='10.64.0.0/16' OPENVPN_SERVER_IP='10.64.0.1' BACKEND_NETWORK_SUBNET='10.0.0.1/24' BACKEND_NETWORK_ROUTER='10.0.0.1' BACKEND_NETWORK_DEVICE='backend' BACKEND_NETWORK_HOST_MIN='10.0.0.2' BACKEND_NETWORK_HOST_MAX='10.0.0.254' DATABASE_MAC_ADDRESS='0E:00:00:00:00:01' WEBSERVER_MAC_ADDRESS='0E:00:00:00:00:02' WEBSITE_ADMIN_USER='admin' WEBSITE_ADMIN_PASSWORD='ChangeMe123!' BACKEND_AUTHENTICATION_TOKEN='api-token' CHALLENGES_ROOT_SUBNET='10.128.0.0' CHALLENGES_ROOT_SUBNET_MASK='255.128.0.0' MONITORING_VPN_INTERFACE='ctf_monitoring' MONITORING_DMZ_INTERFACE='dmz_monitoring' MONITORING_VM_MAC_ADDRESS='0E:00:00:00:00:03' MONITORING_HOST='10.0.0.103' MONITORING_VM_USER='ubuntu' MONITORING_VM_PASSWORD='ChangeMe123!' BANNER_SERVER_PORT='80' MONITORING_VM_ID='9000' MONITORING_VM_NAME='monitoring-vm' MONITORING_VM_MEMORY='10240' MONITORING_VM_CORES='2' MONITORING_VM_DISK='32G' MONITORING_FILES_DIR='/root/heiST/monitoring' GRAFANA_PORT='3000' GRAFANA_USER='admin' GRAFANA_PASSWORD='ChangeMe123!' GRAFANA_FILES_SETUP_DIR='/root/heiST/monitoring/grafana' GRAFANA_FILES_DIR='/etc/grafana' PROMETHEUS_PORT='9090' POSTGRES_EXPORTER_PORT='9187' POSTGRES_EXPORTER_PASSWORD='ChangeMe123!' PROXMOX_EXPORTER_PORT='9221' MONITORING_VM_EXPORTER_PORT='9100' DATABASE_VM_EXPORTER_PORT='9100' WEBSERVER_VM_EXPORTER_PORT='9100' WEBSERVER_APACHE_EXPORTER_PORT='9117' PROXMOX_EXPORTER_TOKEN_NAME='pve_exporter_token' PVE_EXPORTER_DIR='/etc/pve-exporter' PROXMOX_NODE_EXPORTER_PORT='9101' WAZUH_MANAGER_PORT='9200' WAZUH_API_USER='wazuh-wui' WAZUH_API_PASSWORD='ChangeMe123!' WAZUH_DASHBOARD_USER='kibanaserver' WAZUH_DASHBOARD_PASSWORD='ChangeMe123!' WAZUH_INDEXER_USER='admin' WAZUH_INDEXER_PASSWORD='ChangeMe123!' WAZUH_ENROLLMENT_PASSWORD='ChangeMe123!' WAZUH_API_PORT='55000' WAZUH_NETWORK_DEVICE='vrtmon' WAZUH_NETWORK_DEVICE_IPV6='fd12:3456:789a:1::1' WAZUH_NETWORK_DEVICE_CIDR='64' WAZUH_NETWORK_SUBNET='fd12:3456:789a:1::/64' WAZUH_MANAGER_IPV6='fd12:3456:789a:1::101/64' WAZUH_FILE_DIR='/root/heiST/monitoring/wazuh' WAZUH_REGISTRATION_PORT='1515' WAZUH_COMMUNICATION_PORT='1514' CLICKHOUSE_HTTPS_PORT='8443' CLICKHOUSE_NATIVE_PORT='9440' CLICKHOUSE_USER='default' CLICKHOUSE_PASSWORD='ChangeMe123!' CLICKHOUSE_SQL_DIR='/root/heiST/monitoring/clickhouse/sql' MONITORING_DNS='clickhouse.local' VECTOR_FILES_DIR='/root/heiST/monitoring/vector' VECTOR_DIR='/etc/vector' SURICATA_LOG_DIR='/var/log/suricata' SURICATA_FILES_DIR='/etc/suricata' SURICATA_RULES_DIR='/var/lib/suricata/rules' ZEEK_SITE_DIR='/opt/zeek/share/zeek/site' CLOUD_INIT_NETWORK_DEVICE='vmbr-cloud' CLOUD_INIT_NETWORK_DEVICE_IP='10.32.0.1' CLOUD_INIT_NETWORK_DEVICE_CIDR='20' CLOUD_INIT_NETWORK_SUBNET='10.32.0.0/20' ROTATE_DAYS='90' LOGROTATE_CONFIG_DIR='/etc/logrotate.d' PCAP_ROTATION_INTERVAL='*/15' IPTABLES_FILE='/etc/iptables-backend/iptables.sh' ```
标签:CTF平台, DNSMASQ, DNS解析, Docker, .env, HTTPS, KVM, MAC地址, NIDS, OpenVPN, PostgreSQL, Proxmox VE, Python, SSL证书, Web服务, 后端开发, 夺旗赛, 子网划分, 安全学习, 安全竞赛, 安全防御评估, 容器化, 应用安全, 开源项目, 挑战平台, 数据库, 无后门, 漏洞演练, 特权提升, 环境配置, 网络安全, 网络配置, 自动化部署, 虚拟化, 请求拦截, 逆向工具, 部署脚本, 隐私保护