尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Infection Monkey 部署完全指南:从 AppImage、Docker、Windows 到云市场的 Monkey Island 搭建手册
网络安全应用安全【免费下载链接】monkeyInfection Monkey - An open-source adversary emulation platform项目地址https://gitcode.com/gh_mirrors/mo/monkey点击查看免费下载本篇指南以 Infection Monkey 官方文档的 Setup 章节为主体系统梳理 Monkey Island 在 LinuxAppImage、Docker、Windows、AWS 与 Azure 五大场景下的部署步骤、server_config.json配置细节、服务化、证书与升级等实战问题。读完本文你将能够从零搭建一套可用的对抗模拟Adversary Emulation控制端并掌握端口、日志、证书等核心运维配置。部署概览选择适合你的安装方式Infection Monkey 的部署形态是控制端Monkey Island Server 攻击 AgentMonkey Agent的双组件架构。控制端是整个平台的中枢负责下发配置、接收 Agent 回传的扫描与利用结果、生成感染地图与安全报告而 Agent 则由控制端通过网络传播释放到目标机器上执行探测与模拟攻击。官方提供了四种部署路径对应不同的使用场景部署方式适用场景核心形态Linux AppImage自托管、单机演示、企业内部安全评估可执行的单文件包自包含运行时Docker快速验证、CI 环境、需要隔离部署MongoDB Monkey Island 双容器Windows 安装程序Windows 环境的实验室与生产评估图形化安装向导 桌面快捷方式AWS / Azure 云市场云上快速开通、公网可达的控制端云市场镜像底层为 AppImage 部署无论选择哪种方式部署完成后都会得到一个运行于https://localhost默认 HTTPS 443 端口的 Monkey Island Web UI。接下来按平台逐一展开。Linux使用 AppImage 部署支持的操作系统与前置条件AppImage 是一种发行版无关的、自包含运行时的打包格式——包内已经包含应用程序及其运行所需的全部依赖。因此 Infection Monkey 的 AppImage 包可以在大多数安装了 FUSE 的现代 Linux 发行版上运行。官方实测过的发行版包括 BlackArch 2023.04.01、CentOS/Rocky/RHEL 8、Debian 11、Kali 2023.1、Parrot 5.2、openSUSE Leap 15.4、Ubuntu 18.04/20.04/22.04 以及 WSL 2详见 系统需求参考。在开始之前需要明确两点运行 AppImage 需要 root 权限默认情况下 Monkey Island 服务器监听 443 端口这是 Linux 的保留端口1024需要为 AppImage 包设置CAP_NET_BIND_SERVICE能力才能绑定成功需要 FUSE 2.xAppImage 挂载需要 FUSE 2 版本安装 Ubuntu 等系统时若报 FUSE 相关错误可先安装libfuse2。下载与校验安装包从官方发布页下载InfectionMonkey-v2.3.0.AppImage后建议先校验 SHA-256 哈希以确保安装包完整性和来源可信。在 Linux 上使用$ sha256sum InfectionMonkey-v2.3.0.AppImage得到的哈希值应与 发布产物哈希表 中 2.3.0 版本对应条目一致8fc613a02c18c45d136753224b86a24740e18c0e3226786c92b93ca6be7d345d。启动 Monkey Island# 1. 赋予执行权限 chmod ux InfectionMonkey-v2.3.0.AppImage # 2. 启动 Monkey Island ./InfectionMonkey-v2.3.0.AppImage如果启动时出现与 FUSE 相关的错误说明系统缺少 FUSE 2sudo apt update sudo apt install libfuse2启动成功后在浏览器中访问https://localhost即可进入 Monkey Island Web UI随后可参考 快速上手 完成首次配置。提示若安装新版后被要求删除数据目录说明旧版本数据与新版本不兼容可先备份再清理相关说明见 FAQ。注册为开机自启服务AppImage 包内置了service子命令可将 Infection Monkey 安装为 systemd 服务并随开机启动。这需要 root 权限执行前先运行sudo -v并输入密码./InfectionMonkey-v2.3.0.AppImage service --install --user USERNAME卸载服务./InfectionMonkey-v2.3.0.AppImage service --uninstall从仓库中 服务安装脚本 可以看到底层实现脚本会将 AppImage 复制到/opt/infection-monkey/bin/InfectionMonkey.AppImage生成名为infection-monkey.service的 systemd unit以UserUSERNAME运行、携带AmbientCapabilitiesCAP_NET_BIND_SERVICE能力、Afternetwork.target然后执行systemctl enable实现开机自启。卸载时会停止并禁用服务、删除 unit 文件并提示清理$HOME/.monkey_island数据目录。注意服务安装功能目前仅在 Ubuntu 上实测过其他发行版上可能无法正常工作。Docker双容器部署Docker 方式将 Monkey Island 拆成 MongoDB 与 Monkey Island 两个容器。目前 Docker 容器仅支持 Linux不兼容 Docker for Windows / Docker for Mac。拉取镜像并启动 MongoDB# 1. 拉取 MongoDB v6.0 镜像 sudo docker pull mongo:6.0 # 2. 拉取 Monkey Island 镜像 sudo docker pull infectionmonkey/monkey-island:latest # 3. 启动 MongoDB使用命名卷持久化数据 sudo docker run \ --name monkey-mongo \ --networkhost \ --volume monkey-db:/data/db \ --detach \ mongo:6.0升级提示如果是从旧版本升级务必先移除与旧版本关联的 MongoDB 容器和卷避免新旧数据混用。启动 Monkey Island默认证书sudo docker run \ --tty \ --interactive \ --name monkey-island \ --networkhost \ infectionmonkey/monkey-island:latest容器启动后浏览器访问https://localhost即可进入 Web UI。两个容器均使用--networkhost因此 Monkey Island 可以直接通过localhost:27017访问宿主机网络中的 MongoDB。使用数据卷与配置文件启动如果希望把数据与配置持久化到宿主机官方推荐以下流程这也是配置server_config.json的标准姿势# 1. 创建配置目录权限 0700 mkdir -m0700 ./monkey_island_data # 2. 先以 --setup-only 模式运行一次完成初始化 sudo docker run \ --rm \ --name monkey-island \ --networkhost \ --user $(id -u ${USER}):$(id -g ${USER}) \ --volume $(realpath ./monkey_island_data):/monkey_island_data \ infectionmonkey/monkey-island:latest --setup-only然后将server_config.json放入./monkey_island_data目录内容至少包含{ data_dir: /monkey_island_data, mongodb: { start_mongodb: false } }最后以挂载卷 配置文件路径的方式正式启动sudo docker run \ --rm \ --name monkey-island \ --networkhost \ --user $(id -u ${USER}):$(id -g ${USER}) \ --volume $(realpath ./monkey_island_data):/monkey_island_data \ infectionmonkey/monkey-island:latest --server-config/monkey_island_data/server_config.json从 仓库的 Docker 配置 可以看出这正是官方预置的容器配置data_dir指向容器内的/monkey_island_data同时关闭容器内启动 MongoDBstart_mongodb: false复用宿主网络中的外部 MongoDB。--user $(id -u ${USER}):$(id -g ${USER})让容器进程以当前用户身份运行保证挂载目录的文件权限与宿主机一致。--server-config与--setup-only两个命令行参数在 arg_parser.py 中有明确定义--setup-only让 Island 完成初始化后直接退出而不真正启动服务适合首次部署或打包场景--server-config则指定服务器配置文件的路径。Docker 镜像的 entrypoint.sh 会把所有参数透传给monkey_island.py。排查UnicodeDecodeError 崩溃如果monkey-island容器启动时崩溃并报UnicodeDecodeError: utf-8 codec cannot decode byte 0xee in position 0: invalid continuation byte根本原因是加密密钥不匹配Monkey Island 用密钥加密敏感数据后存入 MongoDB而从infectionmonkey/monkey-island:VERSION镜像新建容器会生成新的密钥当用新密钥解密旧容器中已加密的数据时就会失败。三种修复方式复用旧容器执行docker container start -a monkey-island重启现有容器它保留了正确的密钥材料重建数据库删除旧的 MongoDB 容器并启动新容器会丢失全部旧数据再启动新的 Monkey Island 容器持久化运行产物启动 Monkey Island 时挂载命名卷--volume monkey_island_data:/monkey_island_data将加密密钥文件等运行时产物存入卷中供后续容器复用。Windows图形化安装在 Windows 上部署最直接的方式是运行安装程序InfectionMonkey-v2.3.0.exe。提示安装过程中杀毒软件可能将 Infection Monkey 标记为恶意软件——这是正常现象它本质上是一个攻击模拟工具详见 FAQ 说明。安装完成后屏幕上会出现 Windows 安装向导界面按步骤完成安装即可。随后通过桌面快捷方式启动 Infection Monkey。注意如果希望 Agent 在当前机器上采集更多数据建议以 Administrator 身份运行。提示若升级后提示删除数据目录而你不确定如何处理参考 FAQ 相关条目。Windows 特有的注意事项系统区域设置仅支持英文系统区域设置如果命令行输出为其他语言Infection Monkey 无法保证正常工作Windows 更新安装程序依赖 Windows 更新 KB2999226通用 C 运行时更新。如果安装失败请先通过 Windows Update 或手动安装该补丁浏览器支持Monkey Island 支持 Chrome及 Chromium 内核浏览器。若服务器只有 Internet Explorer请先安装 Chrome 或同类现代浏览器。AWS / Azure云市场一键部署AWS Marketplace 部署在 AWS Marketplace 的 Infection Monkey 页面点击Continue to Subscribe然后选择目标区域Region选择 EC2 实例类型——官方建议至少 1GB 内存以获得最佳性能也可使用默认推荐机型为实例选择 VPC 与子网在安全组Security Group中放行入站 TCP 5000 端口底层 AppImage 服务将 HTTPS 443 转发/映射至 5000 供平台访问选择用于登录的 EC2 密钥对Key Pair点击Launch with 1-click。实例就绪后通过https://{public-ip}访问 Monkey Island使用ubuntu用户名登录实例。Azure Marketplace 部署在 Azure Marketplace 的 Infection Monkey 页面点击GET IT NOW按向导分四步完成Basics为实例命名如InfectionMonkey选择用户名/密码或 SSH 公钥认证方式选择资源组与区域Size选择至少 1GB 内存的机型Settings选择网络并在**网络安全组Network Security Group**中放行入站 TCP 5000 端口Summary确认订单信息后点击Create。实例开通后通过https://{public-ip-address}访问。云上实例的配置方式AWS 与 Azure 云市场镜像本质上都是AppImage 部署因此进入 VM 后其配置方法与 Linux AppImage 的配置章节 完全一致SSH 登录后编辑server_config.json、传参启动即可。此外Infection Monkey 还内置了 AWS 集成可以在 EC2 实例上直接运行 Agent详见 使用 - 集成。配置服务器server_config.json 详解Monkey Island 服务器的全部关键配置都集中在server_config.json文件中。仓库自带的 默认配置 为{ island_port: 443, log_level: DEBUG, mongodb: { start_mongodb: true } }一个包含全部可选项的完整示例{ island_port: 443, log_level: DEBUG, ssl_certificate: { ssl_certificate_file: PATH_TO_CRT_FILE, ssl_certificate_key_file: PATH_TO_KEY_FILE }, mongodb: { start_mongodb: true }, data_dir: /monkey_island_data }配置文件支持只写需要的选项例如仅覆盖证书{ ssl_certificate: { ssl_certificate_file: PATH_TO_CRT_FILE, ssl_certificate_key_file: PATH_TO_KEY_FILE } }各配置项含义如下配置项说明默认值/取值范围island_portIsland CC 服务器监听端口默认443HTTPSlog_level日志级别DEBUG最详细/INFO精简/ERROR仅错误ssl_certificate自定义证书的.crt与.key文件路径默认使用内置自签名证书data_dirIsland 存储数据库及其他文件的可写目录无默认Docker 场景须显式指定mongodbMongoDB 相关选项start_mongodb控制是否由 Island 自启 MongoDB除非自建 MongoDB 实例否则不建议修改修改监听端口默认 HTTPS 端口为 443。修改server_config.json并添加island_port{ ... island_port: 8080, ... }重启 Monkey Island 后Web UI 将变为https://localhost:8080。使用企业私有 CA 签发的证书默认情况下 Infection Monkey 使用自签名 SSL 证书。在企业或安全敏感环境中官方建议改用私有证书颁发机构Private CA签发的证书停止正在运行的 Island 进程或停止 Docker 容器可选但推荐将.crt与.key文件移动到$HOME/.monkey_islandLinux或%AppData%\monkey_islandWindows确保证书文件仅对当前用户可读chmod 600 PATH_TO_KEY_FILE chmod 600 PATH_TO_CRT_FILE在server_config.json中指定证书路径Linux 示例{ ssl_certificate: { ssl_certificate_file: $HOME/.monkey_island/my_cert.crt, ssl_certificate_key_file: $HOME/.monkey_island/my_key.key } }Windows 示例默认配置位于C:\Program Files\Infection Monkey\monkey_island\cc\server_config.json{ ... ssl_certificate: { ssl_certificate_file: %AppData%\\monkey_island\\my_cert.crt, ssl_certificate_key_file: %AppData%\\monkey_island\\my_key.key }, ... }Docker 场景则需要把证书文件放进挂载的./monkey_island_data目录并在配置中使用容器内路径{ data_dir: /monkey_island_data, mongodb: { start_mongodb: false }, ssl_certificate: { ssl_certificate_file: /monkey_island_data/my_cert.crt, ssl_certificate_key_file: /monkey_island_data/my_key.key } }通过--server-config参数重启服务然后在浏览器访问https://localhost。调整日志级别在server_config.json中加入{ log_level: INFO }重启后生效。DEBUG最详细、INFO适中、ERROR仅在出错时输出。排查 Agent 通信或传播问题时建议先切到DEBUG再复现。配置文件的加载方式各平台一览平台配置文件位置加载方式Linux AppImage任意路径./InfectionMonkey-v2.3.0.AppImage --server-config/path/to/server_config.jsonDocker挂载卷内如/monkey_island_data/server_config.jsondocker run ... infectionmonkey/monkey-island:latest --server-config/monkey_island_data/server_config.jsonWindowsC:\Program Files\Infection Monkey\monkey_island\cc\server_config.json直接编辑文件点击桌面快捷方式启动AWS / AzureVM 内的 AppImage 部署SSH 登录后按 Linux 方式配置升级与配置迁移Infection Monkey 目前不支持原地升级upgrade-in-place升级策略因平台而异Linux AppImage下载新版 AppImage 包按部署章节重新走一遍安装流程Docker下载新镜像停止并移除当前 Monkey Island 与 MongoDB 容器及卷再用新文件重新执行安装命令Windows下载新版安装程序并运行新版本会覆盖安装到旧版本之上AWS / Azure从云市场重新部署一台新机器。如果你希望保留现有配置可以在旧版 Monkey Island 的 Web UI 中点击Export config按钮将配置导出为文件再在新实例中通过Import config导入。官方在升级说明中配了导入导出界面的截图import-export-configuration.png该功能位于配置页面中是跨版本迁移配置的标准做法。附系统需求速查部署前建议对照 系统需求文档 检查环境Monkey Island控制端架构仅支持 x86-64Linux 硬件基线Intel Xeon 2.20GHz 或更好2 核4GB 内存Windows 硬件基线Intel Xeon 2.20GHz 或更好4 核6GB 内存已测试 Linux 发行版BlackArch、CentOS/Rocky/RHEL 8、Debian 11、Kali、Parrot、openSUSE Leap 15.4、Ubuntu 18.04/20.04/22.04、WSL 2AppImage 需 FUSE 2已测试 Windows 版本Windows Server 2016 / 2019、Windows 10。Agent攻击端架构仅支持 x86-64Linux要求 GLIBC 2.23Agent 基于 Python 3.11 构建GLIBC 向前不向后兼容WindowsWindows Server 2012、Windows 7/Server 2008_R2需安装 KB2999226、Windows 10。小结本文覆盖了 Infection Monkey 的全部官方部署路径Linux 用户优先选择 AppImage 单文件包支持service子命令注册 systemd 开机自启需要快速验证时使用 Docker 双容器方案注意 MongoDB 密钥不匹配的 UnicodeDecodeError 问题Windows 环境走图形化安装向导云上环境则利用 AWS / Azure 市场镜像一键开通。无论哪种方式server_config.json都是控制端口、日志级别、自定义证书与数据目录的枢纽配合--server-config/--setup-only参数即可完成精细化的运维配置。完成部署后即可参考 快速上手 开始你的首次对抗模拟演练。赞分享网络安全应用安全【免费下载链接】monkeyInfection Monkey - An open-source adversary emulation platform项目地址https://gitcode.com/gh_mirrors/mo/monkey点击查看免费下载相关推荐Infection Monkey Linux 部署指南基于 AppImage 安装与 Monkey Island 服务配置详解Infection Monkey Linux 部署指南基于 AppImage 安装与 Monkey Island 服务配置详解 本篇指南以官方文档 docs/网络安全应用安全Infection Monkey 开发环境搭建指南Agent 与 Monkey Island 从零配置Infection Monkey 开发环境搭建指南Agent 与 Monkey Island 从零配置 Infection Monkey 是一个开源的 adv网络安全应用安全Infection Monkey Linux 包构建器AppImage 与 Docker 镜像的完整构建与部署指南Infection Monkey Linux 包构建器AppImage 与 Docker 镜像的完整构建与部署指南 导读 本文基于 Infection Mon网络安全应用安全上一篇实战技巧高效提升开源大模型下载速度的完整策略下一篇告别网络依赖Chat2DB离线版本全攻略与企业级部署实践创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Agora Flat v1.6.0 版本全解析:课件无感切换、Agora 登录与回放交互升级

Agora Flat v1.6.0 版本全解析:课件无感切换、Agora 登录与回放交互升级

音视频即时通讯教育前端桌面应用 【免费下载链接】flat Project flat is the Web, Windows and macOS client of Agora Flat open source classroom. 项目地址: https://gitcode.com/gh_mirrors/fl/flat 点击查看 免费下载 本文以 Agora Flat 开源教室项目 v1.6.0 …

📅 2026/10/8 19:14:32
ALS1-Camera组件化相机系统:解决复杂动画下的镜头抖动与穿模

ALS1-Camera组件化相机系统:解决复杂动画下的镜头抖动与穿模

1. 从 ALS1-Camera 说起:一个被低估的相机组件扩展第一次看到ALS1-Camera这个命名,我脑子里蹦出来的第一反应是:这大概率是某个 Advanced Locomotion System 衍生项目里的相机模块。后来翻了一圈社区讨论和源码片段,基本印证了这个…

📅 2026/10/8 19:14:32
AI编程智能体实战:从零搭建自动化开发流程与避坑指南

AI编程智能体实战:从零搭建自动化开发流程与避坑指南

1. 为什么“AI 编程智能体”值得普通程序员认真对待1.1 从“写代码”到“指挥智能体写代码”的转变过去十几年,程序员的日常基本围绕三件事转:查文档、写代码、调 Bug。写代码这件事本身,占据了大量时间,尤其是重复性的 CRUD、接口…

📅 2026/10/8 19:14:32
MORE NEWS

更多资讯

📰

NLog 6日志可视化控件库实战:架构设计与性能优化

做日志系统的时候,最容易忽略的不是日志怎么记,而是记完之后怎么看。我这次给项目接上NLog 6之后,发现日志是写进文件了,可要看实时日志还得自己开文件、刷新、搜索,效率低到不想说话。后来干脆把日志查看功能从业务代…

📰

华为ENSP网络模拟器从安装到实验避坑:VLAN、ACL与DHCP配置实践

简介:基于华为 ENSP 的完整实验手册,适合网络初学者、备考华为 HCIA/HCIP 认证或正在做实验练习的工程师。手册按实验模块组织,系统梳理了从交换机基本配置、VLAN 划分与 VLAN 间通信、RSTP 优化,到静态路由、RIP、OSPF 多区/虚连…

📰

内核学习之路第1期:从UNIX到Linux,再看操作系统五十年演进史

正式开写之前,先交代一下这个系列是怎么来的。前两年我负责的一台高负载Nginx节点上有个玄学问题:每隔几天就会出现几十毫秒的卡顿,应用层日志、数据库慢查询、网络抓包全部查过,都找不到原因。最后用perf把这几十毫秒钉在了do_sy…

📰

AI应用架构设计实战:从五层模型到关键组件落地指南

最近这半年,我身边越来越多团队开始动手做AI应用,但绝大多数人第一次画“AI应用架构图”的时候,其实是懵的。大家都在说AI应用架构设计,市面上却很少看到一篇文章真的教你怎么从零把它画清楚、想清楚。我过去一年多画了几十张AI应…

📰

大厂Java面试核心拆解:JVM、Spring Boot、微服务与AI技术栈

我做了将近十年的Java面试官,也带过不少应届生和社招候选人,一个特别明显的感受是:现在的大厂Java面试,早就不是“背背八股文、写两道算法”就能蒙混过关的阶段了。很多候选人简历上写着精通Spring Boot、熟悉微服务,结…

📰

显存只有6GB也能跑Helios?Group Offloading低显存优化深度指南

显存只有6GB也能跑Helios?Group Offloading低显存优化深度指南 【免费下载链接】Helios Helios: Real Real-Time Long Video Generation Model 项目地址: https://gitcode.com/gh_mirrors/helios33/Helios Helios 是一个 14B 参数的实时长视频生成模型&#…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬