Tomcat
Discovery
通常、ポート8080で実行されます
一般的なTomcatエラー:
Enumeration
Version Identification
Apache Tomcatのバージョンを見つけるには、簡単なコマンドを実行できます:
これは、ドキュメントインデックスページで「Tomcat」という用語を検索し、HTMLレスポンスのタイトルタグにバージョンを表示します。
マネージャーファイルの場所
/manager
および /host-manager
ディレクトリの正確な場所を特定することは重要です。名前が変更される可能性があるため、これらのページを見つけるためにブルートフォース検索を推奨します。
ユーザー名列挙
Tomcatのバージョン6より古い場合、次の方法でユーザー名を列挙することが可能です:
デフォルトの資格情報
/manager/html
ディレクトリは特に敏感であり、WARファイルのアップロードとデプロイを許可するため、コード実行につながる可能性があります。このディレクトリは基本的なHTTP認証によって保護されており、一般的な資格情報は次のとおりです:
admin:admin
tomcat:tomcat
admin:
admin:s3cr3t
tomcat:s3cr3t
admin:tomcat
これらの資格情報は次のようにテストできます:
別の注目すべきディレクトリは /manager/status
で、TomcatおよびOSのバージョンを表示し、脆弱性の特定に役立ちます。
ブルートフォース攻撃
マネージャーディレクトリに対してブルートフォース攻撃を試みるには、次のようにします:
Along with setting various parameters in Metasploit to target a specific host.
Common Vulnerabilities
Password Backtrace Disclosure
/auth.jsp
にアクセスすると、幸運な状況下でバックトレースにパスワードが表示される可能性があります。
Double URL Encoding
mod_jk
のCVE-2007-1860脆弱性により、二重URLエンコーディングのパストラバーサルが可能になり、特別に作成されたURLを介して管理インターフェースへの不正アクセスが可能になります。
Tomcatの管理ウェブにアクセスするには、次のようにします: pathTomcat/%252E%252E/manager/html
/examples
Apache Tomcatのバージョン4.xから7.xには、情報漏洩やクロスサイトスクリプティング(XSS)攻撃に脆弱なサンプルスクリプトが含まれています。これらのスクリプトは包括的にリストされており、不正アクセスや潜在的な悪用のチェックが必要です。 こちらで詳細を確認してください
/examples/jsp/num/numguess.jsp
/examples/jsp/dates/date.jsp
/examples/jsp/snp/snoop.jsp
/examples/jsp/error/error.html
/examples/jsp/sessions/carts.html
/examples/jsp/checkbox/check.html
/examples/jsp/colors/colors.html
/examples/jsp/cal/login.html
/examples/jsp/include/include.jsp
/examples/jsp/forward/forward.jsp
/examples/jsp/plugin/plugin.jsp
/examples/jsp/jsptoserv/jsptoservlet.jsp
/examples/jsp/simpletag/foo.jsp
/examples/jsp/mail/sendmail.jsp
/examples/servlet/HelloWorldExample
/examples/servlet/RequestInfoExample
/examples/servlet/RequestHeaderExample
/examples/servlet/RequestParamExample
/examples/servlet/CookieExample
/examples/servlet/JndiServlet
/examples/servlet/SessionExample
/tomcat-docs/appdev/sample/web/hello.jsp
Path Traversal Exploit
一部の脆弱なTomcatの構成では、次のパスを使用してTomcatの保護されたディレクトリにアクセスできます: /..;/
したがって、例えば、次のようにしてTomcatマネージャーページにアクセスできるかもしれません: www.vulnerable.com/lalala/..;/manager/html
別の方法として、このトリックを使用して保護されたパスをバイパスするには、http://www.vulnerable.com/;param=value/manager/html
にアクセスします。
RCE
最後に、Tomcat Web Application Managerにアクセスできる場合、.warファイルをアップロードしてデプロイすることができます(コードを実行)。
Limitations
十分な権限(役割: admin, managerおよびmanager-script)がある場合にのみWARをデプロイできます。これらの詳細は、通常/usr/share/tomcat9/etc/tomcat-users.xml
に定義されている_tomcat-users.xml_の下にあります(バージョンによって異なります)(POSTセクションを参照)。
Metasploit
MSFVenom リバースシェル
デプロイするための war を作成する:
revshell.war
ファイルをアップロードし、それにアクセスします(/revshell/
):
tomcatWarDeployer.pyを使用したバインドおよびリバースシェル
いくつかのシナリオでは、これが機能しないことがあります(例えば、古いバージョンのsun)
ダウンロード
リバースシェル
バインドシェル
Culsterdの使用方法
手動方法 - Webシェル
index.jspをこの内容で作成します:
この(アップロード、ダウンロード、コマンド実行を許可する)をインストールすることもできます: http://vonloesch.de/filebrowser.html
手動方法 2
JSPウェブシェルのようなものを取得し、WARファイルを作成します:
POST
Tomcatの認証情報ファイルの名前は tomcat-users.xml です。
Tomcatの資格情報を収集する他の方法:
他のトムキャットスキャンツール
参考文献
Last updated