Sliver提供了Armory这个功能,允许操作者通过添加基于第三方工具的新命令来扩展本地客户端控制台及其功能。通过Armory可以实现BOF 和 COFF 的加载和执行,安装的扩展只会在Client下生效,不会上传到服务端或同步到其他Client。
Armory列表
https://github.com/sliverarmory/armory/blob/master/armory.json
Armory操作
安装扩展
安装扩展通过install
指令实现,安装时需要去github下载,为了方便墙内用户,Sliver也提供了-p参数。
从v1.5.14开始,可以通过armory install all
直接安装所有官方扩展。
更新扩展
更新扩展通过update
指令实现。它会更新所有已经安装的扩展。
删除扩展
删除扩展需要区分安装的扩展是alias还是extension,可以通过aliases
和extensions
命令查看扩展情况,然后再使用aliases rm
和extensions rm
来删除。
自定义BOF
Sliver同样提供了方法去帮助用户添加自己的BOF。
假设需要安装klist(查看缓存的Kerberos票据)时,可以下载https://github.com/Cyb3rC3lt/SliveryArmory/releases/tag/v1.0.0。压缩包中包含了source文件夹和extension.json。
首先在client机器上安装mingw-w64
和make
,进入source目录,执行sudo make
:
在上级目录底下生成了Klist.x64.o和Klist.x86.o(Extension.json文件中的Path需要修改成首字母大写)。
查看extension.json(此json文件在安装自定义BOF时需要自己编写):
1 |
|
进入Sliver,执行extensions install /home/kali/klist
,随后在.sliver-client/extensions目录下可以看到klist文件夹。可以通过重启sliver-client或直接执行extensions load /home/kali/.sliver-client/extensions/klist
加载klist。