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报告查看器, 内网渗透, 协议分析, 威胁模拟, 安全报告, 密码管理, 攻击链, 权限提升, 模拟器, 活动目录