ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Infection Monkey 功能全景:从凭据窃取、漏洞利用到勒索与挖矿载荷模拟

Infection Monkey 功能全景:从凭据窃取、漏洞利用到勒索与挖矿载荷模拟 网络安全应用安全【免费下载链接】monkeyInfection Monkey - An open-source adversary emulation platform项目地址https://gitcode.com/gh_mirrors/mo/monkey点击查看免费下载Infection Monkey 是一款开源的对手模拟adversary emulation平台通过一个可配置的蠕虫型 Agent 在受控网络中自我传播并由名为 Monkey Island 的 C2 服务器统一指挥与可视化帮助你用经验数据检验安全防御的有效性。本文以项目 features 文档为核心骨架系统梳理 Exploiter、Credentials Collector、Payload勒索/挖矿模拟、Malware Masquerade、Polymorphism、插件体系与报告等核心功能并辅以仓库源码与参考文档佐证读者读完后既能理解每个功能的攻击原理也能掌握在 Monkey Island 上的配置要点与安全边界。组件架构Agent 与 Monkey IslandInfection Monkey 由两个核心组件构成见 READMEAgent感染猴子代理一个可配置的网络蠕虫能够感染机器、窃取数据并投递载荷。它在网络中自我复制传播并把活动情况上报给指挥中心。Monkey Island猴岛指挥中心用于控制并可视化感染进程的命令与控制C2服务器。Agent 传播、凭据窃取、漏洞利用、载荷投递的全部状态都在这里汇聚用户可以在此配置策略、查看感染地图与安全报告。整个工作流可以类比为“恶意软件疫苗”先收集并分析真实恶意软件的行为再修改 Agent 配置去逼真模仿这些行为但不对目标系统造成破坏随后把 Agent 注入网络实证检验安全控制能否检测、阻止或缓解感染若未能遏制感染则据此改进安全工具、策略与流程。Exploiters模拟真实攻击路径的传播利用器利用器Exploiters是 Infection Monkey 的插件负责把 Agent 副本传播到网络中的其他机器上见 exploiters/_index.md。在真实攻击中攻击者会利用侦察阶段识别出的漏洞来破坏联网系统、获取未授权访问、提权或执行恶意操作。Infection Monkey 的 Agent 完成侦察阶段后进入传播阶段使用启用的利用器对易受攻击的系统实现远程代码执行RCE即“exploitation”随后把自身复制到被攻陷的系统并启动新的 Agent 进程如此循环扩散。当前项目支持多种利用器详见 exploiters 参考文档既有基于已知漏洞的如 Log4Shell、Zerologon也有基于口令爆破的如 SSH、SMB、RDP、WMI、SNMP、Hadoop 等利用器类型说明Log4Shell漏洞利用模拟 Log4j RCE 漏洞CVE-2021-44228Zerologon漏洞利用模拟 Netlogon 提权漏洞CVE-2020-1472SSH / SMB / RDP / WMI / SNMP凭据/口令爆破使用预置口令或窃取到的凭据尝试认证并执行 AgentHadoop服务利用针对 Hadoop 集群开放端口实施利用安全性上多数利用器对目标系统的性能与可用性几乎不构成风险已知会冲击生产负载的利用器会在 Monkey Island 界面上被明确标记为“unsafe”配置时需特别注意。Credentials Collectors窃取凭据供横向移动复用凭据收集器Credentials Collectors试图从被 Agent 感染的系统中窃取凭据见 credentials_collectors/_index.md。真实网络攻击中攻击者常从被攻陷系统提取凭据用于横向移动、提权、数据窃取与持久化。Infection Monkey 模拟这一行为Agent 启动后进入侦察阶段第一步就是用所有启用的凭据收集器窃取凭据并将窃取结果发回 Monkey Island任何 Agent 都可以立即使用这些凭据。随后进入传播阶段利用器会先向 Monkey Island 查询两类凭据——用户预配置的凭据与被窃取的凭据——再尝试用它们对目标系统认证认证成功后就在目标上执行 Agent把感染扩散到全网。支持的凭据收集器包括Mimikatz 凭据收集器基于纯 Python 实现的 pypykatz从 Windows 内存与凭据管理器中提取明文口令、哈希、PIN 与 Kerberos 票据用于提权或横向移动Chrome 凭据收集器从 Chrome 浏览器提取保存的凭据见 chrome.mdSSH 凭据收集器收集主机上的 SSH 密钥与口令见 ssh.md。Payload 载荷模拟勒索软件与挖矿劫持除传播与窃取外Infection Monkey 还能投递两类高保真载荷模拟用于检验端点防护与检测规则。勒索软件模拟Ransomware Simulation勒索软件通过加密受害者文件或锁定系统来勒索赎金可造成停机、数据丢失与财务损失。Infection Monkey 的勒索软件载荷用完全可逆的方式模拟这一行为见 ransomware-simulation.md加密方式对文件就地执行一次简单的位翻转bit flip再把文件名追加扩展名默认.m0nk3y。由于数据已被篡改文件暂时不可用足以触发安全解决方案告警要“解密”只需再次位翻转并去掉扩展名。你甚至可以配置空扩展名但将无法仅凭文件名判断文件是否已被加密。目标文件限定只加密指定目录下的常规文件且扩展名命中目标清单该清单基于对 GoldenEye 勒索软件的分析涵盖.doc、.xlsx、.pdf、.zip、.kdbx、.pyc、.vmdk等约 70 种扩展名详见 reference/payloads/ransomware.md不递归子目录、不跟随符号链接/快捷方式未指定目录则不加密任何文件。可配置项对应 config-schema属性类型默认值说明file_extensionstring.m0nk3y加密后追加的扩展名须匹配^(\.[A-Za-z0-9_])?$linux_target_dirstringnullLinux 目标目录须以/、$、~开头或为空windows_target_dirstringnullWindows 目标目录须为盘符路径、环境变量或 UNC 路径leave_readmebooleantrue是否在目标目录留下勒索说明 README.txtchange_wallpaperboolean默认关闭是否更换 Windows 桌面壁纸仅对 Windows 受害者有效为充分利用勒索模拟建议用 Ansible、PsExec 或 Windows GPO 等配置管理工具在每台机器上预先准备一个“勒索目标目录”内含可安全加密的文件。挖矿劫持模拟Cryptojacker Simulation挖矿劫持者Cryptojacker是窃取他人算力与电力来挖矿的恶意软件。Infection Monkey 的 cryptojacker 插件通过快速计算加密哈希来占用 CPU与野外挖矿木马利用相同系统组件见 cryptojacker-simulation.mdCPU 占用可配置消耗单核 CPU 的 0%–100%用于模拟从隐蔽到高调的变体内存占用可配置消耗一定比例的 RAM挖矿网络流量模拟通过 HTTP 向 Island 发送getblocktemplate请求以模仿比特币矿工的网络流量——许多 NIDS 正是靠检测这类消息识别挖矿活动启用后可用于验证 NIDS 是否正常工作。生产安全边界该组件不适合生产环境CPU 利用被限制在单核内存方面内置保护最多消耗可用 RAM 的 90%——因为一旦内存耗尽OS 会强制杀死进程回收内存插件为避免自身被杀而设置了这一上限。相关安全阀与配置细节可参考 reference/payloads/cryptojacker.md。规避与伪装Polymorphism 与 Malware MasqueradePolymorphism多态性多态/变体恶意软件在复制过程中自我修改使任何两份副本都不完全相同从而规避基于签名的检测。Infection Monkey 通过向每个 Agent 二进制注入随机数据来模拟这一性质——每份副本哈希不同对依赖哈希匹配的检测技术呈现“多态”外观见 polymorphism.md。其实现位于 monkey/infection_monkey/exploit/polymorphic_agent_binary_repository_decorator.pyPolymorphicAgentBinaryRepositoryDecorator在分发 Agent 二进制时追加16 个 null 字节 8 个随机字节。源码注释明确指出null 字节用于把后续“伪装数据masque”与可执行代码隔离开防止被 OS 当作指令执行从而在保持功能不受影响的同时改变文件哈希# 默认参数 DEFAULT_NULL_BYTES_LENGTH 16 DEFAULT_RANDOM_BYTES_LENGTH 8 # 每次 get_agent_binary() 时注入随机字节 append_bytes(agent_binary, self._null_bytes randbytes(self._random_bytes_length))Malware Masquerade恶意软件伪装“伪装Masquerade”指让一个东西呈现出它本不是的样子。许多恶意软件检测规则如 YARA 规则通过匹配文件中的字符串或唯一字节序列来识别恶意程序。Malware Masquerade 功能允许用户向 Agent 二进制中注入指定的字符串或任意数据字节让 Agent 伪装成特定类型的恶意软件见 malware-masquerade.md非常适合自写检测规则的安全人员用来测试规则质量、提升模拟保真度。在Configuration屏幕的Masquerade标签页中配置字符串把任意数量的字符串加入 Linux 或 Windows Agent 的字符串列表并点击Submit可用 Linuxstrings命令验证注入是否成功curl https://SERVER_IP:5000/api/agent-binaries/linux -k -o monkey-linux-64 \ strings monkey-linux-64 | grep MY_STRING配置二进制数据对无法用 ASCII/Unicode 表示的任意字节先做Base64 编码再粘贴到 Masquerade 标签页的Base64字段中即可让这类基于字节序列的检测规则也能被测试。Plugins可扩展的插件体系Infection Monkey 是可扩展的可在 Monkey Island 的 Plugins 页面安装插件来增强功能见 plugins/_index.md。该页面包含三个标签页Available Plugins可下载安装的插件列表Installed Plugins已安装插件列表可在此卸载或更新Upload New Plugin上传新插件的表单适合安装尚未正式发布的插件。如果插件安装失败首先确认运行 Monkey Island 的机器可访问互联网仍无法解决时可检查 Island 日志 定位原因。Reports可视化安全报告Infection Monkey 提供多种报告来汇总模拟结果包括安全报告与勒索软件相关报告见 reports/_index.mdSecurity Report安全报告汇总感染过程中发现的安全问题与可利用的攻击路径见 security.mdRansomware Report勒索软件报告呈现勒索模拟中加密的文件、勒索说明等细节见 ransomware.md。报告中展示的感染地图可直观呈现 Agent 在网络中的传播路径帮助你快速判断安全控制是否拦截了关键传播链路。AWS Agent Launcher免登录在 EC2 上运行 AgentInfection Monkey 支持在不登录、不修改任何 EC2 实例的前提下在整个 AWS 基础设施中启动 Agent见 aws-agent-launcher.md。该能力依托AWS Systems ManagerSSMAgent每个 EC2 实例都装有 SSM Agent 来执行来自 Systems Manager 的请求并通过 Amazon Message Delivery Service 向 Monkey Island 回报状态与执行详情。使用前提发起启动的 EC2 实例上必须安装SSM Agent该实例需具备允许 SSM Agent 执行命令的IAM 角色。当 Monkey Island 部署在任意 EC2 实例上时例如使用 Infection Monkey AMI它会自动检测到自身运行在 AWS 环境中随后“在 EC2 实例上启动 Agent”的选项就会变为可用。总结如何基于功能清单规划你的模拟演练Infection Monkey 的功能设计遵循“侦察 → 窃取 → 传播 → 载荷 → 报告”的完整攻击链先用 Credentials Collectors 窃取凭据、用 Exploiters 在侦察阶段识别的薄弱点上实现 RCE随后用窃取到的凭据横向移动期间可通过 Polymorphism 与 Malware Masquerade 提高模拟保真度、检验基于哈希与字符串/字节特征的检测规则再按需投递勒索或挖矿载荷验证终端防护与 NIDS最后用 Reports 汇总证据、改进防御。所有行为都可在 Monkey Island 的 Configuration 页面精细控制且每类组件都内置了生产安全边界unsafe 标记、单核 CPU 限制、90% RAM 上限、可逆加密与非递归文件处理。如需进一步了解部署方式可参考 设置指南 与 快速上手。赞分享网络安全应用安全【免费下载链接】monkeyInfection Monkey - An open-source adversary emulation platform项目地址https://gitcode.com/gh_mirrors/mo/monkey点击查看免费下载相关推荐Infection Monkey Mimikatz 凭据收集器基于 pypykatz 的内存凭据窃取原理、配置与攻防演练实战Infection Monkey Mimikatz 凭据收集器基于 pypykatz 的内存凭据窃取原理、配置与攻防演练实战 Mimikatz 凭据收集器M网络安全应用安全Nothing Private测试策略Cypress集成测试与Karma单元测试完整解析Nothing Private测试策略Cypress集成测试与Karma单元测试完整解析 Nothing Private是一个旨在证明即使在使用隐私浏览或隐身使用Invoke-WCMDump进行Windows凭据漏洞挖掘使用Invoke WCMDump进行Windows凭据漏洞挖掘 在网络安全领域了解和利用系统中的漏洞是提升防御能力的关键步骤。今天我们要介绍的是一个开源项目—上一篇SciPy optimize.elementwise 的 Array API 标准支持表从自动生成的 CPU/GPU/JIT 能力矩阵到源码实现下一篇TinyZero终极指南10个常见安装与训练问题快速解决创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表