BlackShadow-arch/The-Full-Attack-Chain

GitHub: BlackShadow-arch/The-Full-Attack-Chain

一份结构化的12周红队测试毕业项目文档,完整记录了从侦察到域控制的端到端攻击链,并附带MITRE ATT&CK映射与执行级安全报告。

Stars: 0 | Forks: 0

# ⚔️ 完整攻击链 — 红队测试毕业项目 **实习生:** Ali Ahsan | **学号:** CSI-B1-427 **项目:** Cyberstar 网络安全红队实习 **导师:** Umar Niaz **日期:** 2026 年 5 月 22 日 **类型:** 12 周毕业项目 — 端到端红队测试 ## 📌 概述 本项目记录了在受控实验室环境中进行的**完整的端到端红队测试**。从外部侦察开始,一直到完全攻陷**域管理员**,现代网络杀伤链的每一个阶段都得到了执行、记录,并映射到了 **MITRE ATT&CK 框架**。 ## 🗺️ 攻击链概述 ``` Reconnaissance → Initial Access → Privilege Escalation → Persistence → Lateral Movement → AD Enumeration → Domain Dominance → Cleanup ``` | 阶段 | 技术 | 结果 | |-------|-----------|---------| | 侦察 | Nmap (TCP/SYN/UDP), NSE Scripts, SMB Enum | 映射了 23 个开放端口,发现 4 个 CRITICAL 级别服务 | | 初始访问 | vsftpd 2.3.4 后门 (CVE-2011-2523) | 通过 Metasploit 获取即时 root shell | | 权限提升 | SUID nmap binary 逃逸, EternalBlue (MS17-010) | Linux 上的 root 权限,Windows 7 上的 SYSTEM 权限 | | 持久化 | SSH Key 后门, Scheduled Task | 在重启和密码重置后依然存活 | | 横向移动 | SSH 隧道, Pass-the-Hash, WMIExec | 到达隔离的 Windows 7 机器 | | 凭据转储 | Kiwi (内存级 Mimikatz), /etc/shadow | 提取了所有 NTLM 哈希,100% 无磁盘操作 | | AD 枚举 | PowerView, BloodHound, SharpHound | 完整的域对象映射 + 攻击路径 | | Kerberos 攻击 | AS-REP Roasting, Kerberoasting | 恢复了明文凭据 | | 域控制 | LLMNR 中毒, DCSync, Golden Ticket | 伪造了永久的全域访问权限 | | 清理 | 移除 SSH 密钥, schtasks delete, 还原 ACL | 所有系统恢复到测试前的状态 | ## 📋 任务分解 ### 任务 01 — 范围界定与规划阶段 专业的红队测试始于一份明确的**交战规则**文档。 **目标:** - 识别目标上所有开放端口和运行中的服务 - 通过远程漏洞利用(vsftpd / Samba)获取初始 shell 访问权限 - 在 Linux 目标上将权限提升至 root - 建立持久化(SSH 后门、scheduled task) - 枢纽进入内部网络并到达 Windows 7 机器 - 从 Windows 机器中转储凭据 - 枚举 Active Directory 环境并识别攻击路径 - 通过 Golden Ticket / DCSync 获取域管理员状态 - 建立坚韧的林级别持久化 **成功标准:** | 目标 | 成功指标 | 完成周次 | |-----------|---------------|----------------| | 网络侦察 | 带有漏洞矩阵的完整端口/服务映射 | 第 02 周 | | 初始访问 | 通过 Metasploit 漏洞利用获取远程 shell | 第 03 周 | | 权限提升 | 确认 Root/SYSTEM 访问权限 | 第 05 周 | | 凭据获取 | 提取并破解 NTLM 哈希 | 第 04 周 | | 横向移动 | 通过 RDP / WMI 访问 Windows 7 机器 | 第 04 周 | | AD 枚举 | 识别 BloodHound 攻击路径 | 第 07 周 | | 域控制 | 通过 Golden Ticket 获取域管理员 | 第 08 周 | | 持久化 | 多种机制在密码重置后依然存活 | 第 08 周 | **道德边界:** - 所有测试均在受控、隔离的实验室环境中进行 - 未经授权绝不访问任何生产系统或第三方网络 - 所有活动均由导师 Umar Niaz 先生监督 ### 任务 02 — 网络杀伤链的执行 #### 🔍 侦察与网络扫描 **发现的开放端口:** | 端口 | 服务 | 版本 | 风险 | |------|---------|---------|------| | 21/tcp | FTP | vsftpd 2.3.4 | CRITICAL — 后门 | | 22/tcp | SSH | OpenSSH 4.7p1 | 中危 | | 80/tcp | HTTP | Apache 2.2.8 | 高危 | | 139/445/tcp | SMB | Samba 3.0.20 | CRITICAL — RCE | | 3306/tcp | MySQL | 5.0.51a | 中危 | | 5432/tcp | PostgreSQL | 8.3.x | 中危 | | 6667/tcp | IRC | UnrealIRCd | CRITICAL — 后门 | | 8009/tcp | AJP | Apache JServ | 高危 — Ghostcat | **CVE 映射:** | 服务 | CVE | CVSS | 漏洞利用类型 | |---------|-----|------|-------------| | vsftpd 2.3.4 | CVE-2011-2523 | 10.0 | 后门 RCE | | Samba 3.0.20 | CVE-2007-2447 | 10.0 | 通过 usermap 脚本的 RCE | | Apache 2.2 | 多个 | 7.5 | 路径穿越 / DoS | | MySQL 5.x | CVE-2012-2122 | 6.5 | 身份验证绕过 | #### 💥 初始访问 通过 Metasploit 利用 vsftpd 2.3.4 后门 — 获得了即时的 root 级别 shell。 #### ⬆️ 权限提升 **Linux (Metasploitable 2) — 通过 LinPEAS / LSE 的关键发现:** - 漏洞利用后已经以 root 身份运行 - 可写的 `/etc/passwd` 且 `/etc/shadow` 可读 - nmap SUID binary — 交互模式逃逸到 root shell - MySQL root 无密码 - NFS export 使用了 `no_root_squash` — 挂载了整个文件系统 **Windows 7:** - EternalBlue (MS17-010) → `NT AUTHORITY\SYSTEM` - 通过 PrintSpoofer 进行令牌模拟 #### 🔒 持久化 - **Linux:** 攻击者的 SSH 公钥被注入到 `/root/.ssh/authorized_keys` - **Windows:** 名为 `updater` 的 scheduled task 在系统启动时以 SYSTEM 权限运行 ``` schtasks /create /tn updater /tr "C:\Users\hp\rev.exe" /sc onstart /ru SYSTEM /f ``` #### 🔄 横向移动与枢纽 - SSH 动态端口转发通过 Metasploitable 2 建立了 SOCKS 代理 - 通过 `ip neigh`(Living off the Land)进行内部发现 - Kiwi(内存级 Mimikatz)转储了 NTLM 哈希 — 100% 无磁盘操作,绕过了 AV - 使用 `impacket-wmiexec` 进行 Pass-the-Hash → 无需破解即可获得对 Windows 7 的管理员访问权限 ``` hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt --force ``` #### 🏛️ Active Directory 枚举 ``` Get-NetUser # All domain users Get-NetComputer # All domain machines Get-NetGroup # Privileged group memberships ``` BloodHound 的“到域管理员的最短路径”查询揭示了多条可行的攻击路径 — 将数小时的手动分析缩短到了几秒钟。 #### 🔑 Kerberos 攻击 **LLMNR/NBT-NS 中毒:** ``` responder -I eth0 -dwv hashcat -m 5600 ntlmv2.txt /usr/share/wordlists/rockyou.txt --force ``` **AS-REP Roasting** — 针对设置了 `DONT_REQ_PREAUTH` 标志的账户: ``` GetNPUsers.py lab.local/ -dc-ip -usersfile users.txt -format hashcat -outputfile hashes.txt ``` **Kerberoasting** — 针对具有已注册 SPN 的服务账户: ``` impacket-GetUserSPNs lab.local/user:pass -dc-ip -request -outputfile kerb.txt hashcat -m 13100 kerb.txt /usr/share/wordlists/rockyou.txt ``` **DCSync + Golden Ticket:** ``` mimikatz # lsadump::dcsync /domain:corp.local /user:krbtgt mimikatz # kerberos::golden /domain:corp.local /sid:S-1-5-21-... /krbtgt: /user:Administrator /id:500 /ptt ``` Golden Ticket 有效期:**10 年** — 直到 KRBTGT 被轮换两次之前,在密码重置后依然有效。 ### 任务 03 — 测试后清理 **所有创建的持久化痕迹均已移除:** | 痕迹 | 位置 | 系统 | 清理操作 | |----------|----------|--------|---------------| | SSH authorized_key | ~/.ssh/authorized_keys | Linux | 移除了攻击者公钥条目 | | Scheduled Task "updater" | Windows Task Scheduler | Windows 7 | `schtasks /delete /tn updater /f` | | Meterpreter shell | 进程内存 | 两者 | 会话终止 — 无磁盘痕迹 | | Proxychains SOCKS 代理 | 网络(端口 1080) | Linux 枢纽 | 杀死了 SSH 隧道进程 | | Golden Ticket | 当前会话内存 | AD Domain | `klist purge` / 系统重启 | | DCSync ACL 授权 | 域对象上的 AD ACL | Domain Controller | `Remove-DomainObjectAcl` | | 隐藏的域账户 | Active Directory OU | Domain Controller | `Remove-ADUser` | | GPO 修改 | Group Policy | Domain Controller | 还原至原始备份状态 | ### 任务 04 — 最终报告 #### 执行摘要 实现了完全的域管理员访问权限。模拟企业环境中的每一台系统、凭据和机密资源均被攻陷。 **业务影响:** | 阶段 | 影响 | |-------|--------| | 侦察 | 使用免费工具在几分钟内映射了整个网络面 | | 初始访问 | 带有后门的 FTP 服务提供了即时的 root 访问权限 — 无需密码 | | 凭据窃取 | 从一台被攻陷的服务器中提取并破解了所有员工的密码 | | 横向移动 | 从一个被突破的系统出发,可以访问网络中的每一台服务器 | | 域控制 | 一名单个攻击者现在永久控制了整个 IT 基础设施 | #### 🎯 风险评级与 MITRE ATT&CK 映射 | 发现 | CVSS | 严重程度 | MITRE ATT&CK | |---------|------|----------|-------------| | vsftpd 2.3.4 后门 (CVE-2011-2523) | 10.0 | CRITICAL | T1190 — Exploit Public-Facing App | | Samba Usermap RCE (CVE-2007-2447) | 10.0 | CRITICAL | T1190 — Exploit Public-Facing App | | EternalBlue MS17-010 | 9.8 | CRITICAL | T1210 — Exploitation of Remote Services | | Golden Ticket (KRBTGT hash) | 9.8 | CRITICAL | T1558.001 — Golden Ticket | | DCSync 攻击 | 9.0 | CRITICAL | T1003.006 — DCSync | | 通过 cmd= 参数的 RCE | 9.8 | CRITICAL | T1059 — Command and Scripting Interpreter | | LLMNR/NBT-NS 中毒 | 8.8 | HIGH | T1557.001 — LLMNR/NBT-NS Poisoning | | NTLM 哈希提取 (Kiwi/Mimikatz) | 8.5 | HIGH | T1003.001 — LSASS Memory | | Pass-the-Hash | 8.1 | HIGH | T1550.002 — Pass the Hash | | ACL 滥用 (GenericWrite) | 8.0 | HIGH | T1484.001 — Group Policy Modification | | AS-REP Roasting | 7.5 | HIGH | T1558.004 — AS-REP Roasting | | Kerberoasting | 7.5 | HIGH | T1558.003 — Kerberoasting | | SSH 密钥持久化 | 7.2 | HIGH | T1098.004 — SSH Authorized Keys | | Scheduled Task 持久化 | 7.2 | HIGH | T1053.005 — Scheduled Task | #### 🛡️ 补救建议 **优先级 1 — CRITICAL(立即行动):** - 停用 vsftpd 2.3.4、UnrealIRCd 和 Samba 3.0.20 — 替换为受支持的版本 - 通过 Group Policy 在整个域中禁用 LLMNR 和 NBT-NS - 立即将 KRBTGT 密码轮换**两次**,以使现有的任何 Golden Ticket 失效 - 在所有 Windows 系统上打补丁修复 MS17-010 (EternalBlue) — 自 2017 年起即存在漏洞利用风险 **优先级 2 — HIGH:** - 强制所有用户账户进行 Kerberos 预身份验证 - 为所有服务账户实施 gMSA (Group Managed Service Accounts) - 使用 BloodHound 审计所有 AD ACL — 移除意外的权限授予 - 启用 LDAP 签名和通道绑定 - 执行强密码策略:至少 15 个字符,不得包含常见单词 - 部署 Microsoft Defender for Identity (MDI) 以进行 Kerberos 异常检测 **优先级 — 中危:** - 实施分层管理模型(Tier 0/1/2 隔离) - 为所有特权账户和远程访问部署 MFA - 移除非必要 binary(例如 nmap)上不必要的 SUID 位 - 实施网络分段 — 工作站不应直接访问服务器 - 在 Windows 10/11 上启用 Credential Guard 以防止内存中的凭据盗窃 **优先级 4 — 战略层面:** - 计划每季度进行 AD 安全审计(特权组、SPN、ACL、GPO) - 部署带有伪造 SPN 并禁用预身份验证的蜜罐账户,以用于攻击者检测 - 针对:Event 4768 (TGT 请求)、Event 4769 (异常 TGS)、Event 5136 (AD 修改)、DCSync 复制事件,实施 SIEM 报警 - 每 6 个月进行一次红队演练,以验证已实施的防御控制 ## 🛠️ 使用的工具 `Nmap` · `Metasploit` · `LinPEAS` · `LSE` · `WinPEAS` · `PowerUp` · `Mimikatz` · `Kiwi` · `Responder` · `Hashcat` · `John the Ripper` · `Impacket` · `BloodHound` · `SharpHound` · `PowerView` · `Proxychains` · `SSH` · `PrintSpoofer` · `WMIExec` ## ⚠️ 免责声明
标签:CISA项目, CTF学习, CTI, IP 地址批量处理, Modbus, PE 加载器, Web报告查看器, 内网渗透, 协议分析, 威胁模拟, 安全报告, 密码管理, 攻击链, 权限提升, 模拟器, 活动目录