2023-07-07 23:42:27 +00:00
|
|
|
|
# 8009 - Apache JServ Protocol (AJP)のペンテスト
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
<details>
|
|
|
|
|
|
2023-04-25 18:35:28 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
* **サイバーセキュリティ企業**で働いていますか? **HackTricksで会社を宣伝**したいですか?または、**PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
|
|
|
|
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を見つけてください。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
|
|
|
|
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
|
|
|
|
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
|
|
|
|
* **ハッキングのトリックを共有するには、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
|
2022-11-05 09:07:43 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
**HackenProofはすべての暗号バグバウンティの場所です。**
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
**遅延なしで報酬を受け取る**\
|
|
|
|
|
HackenProofのバウンティは、顧客が報酬予算を入金した後に開始されます。バグが検証された後に報酬を受け取ることができます。
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
**Web3ペンテストの経験を積む**\
|
|
|
|
|
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!上昇期のWeb3セキュリティをマスターしましょう。
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
**Web3ハッカーレジェンドになる**\
|
|
|
|
|
各検証済みのバグで評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
|
|
|
|
|
|
|
|
|
|
[**HackenProofでサインアップ**](https://hackenproof.com/register)してハッキングから報酬を得ましょう!
|
|
|
|
|
|
|
|
|
|
{% embed url="https://hackenproof.com/register" %}
|
2022-11-05 09:07:43 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
## 基本情報
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
|
|
|
|
From: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
|
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
> AJPはワイヤープロトコルです。これは、[Apache](http://httpd.apache.org/)などのスタンドアロンのWebサーバーがTomcatと通信するためのHTTPプロトコルの最適化バージョンです。歴史的に、Apacheは静的コンテンツの提供においてTomcatよりもはるかに高速でした。アイデアは、可能な限りApacheが静的コンテンツを提供し、Tomcat関連のコンテンツに対してはリクエストをTomcatにプロキシすることです。
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
また興味深いのは:
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
> ajp13プロトコルはパケット指向です。パフォーマンスの理由から、より読みやすいプレーンテキストではなくバイナリ形式が選択されたと思われます。WebサーバーはTCP接続を介してサーブレットコンテナと通信します。ソケットの作成にかかる高価なプロセスを削減するために、Webサーバーはサーブレットコンテナへの持続的なTCP接続を維持し、複数のリクエスト/レスポンスサイクルに対して接続を再利用しようとします。
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
**デフォルトポート:** 8009
|
2022-05-01 13:25:53 +00:00
|
|
|
|
```
|
2020-07-15 15:43:14 +00:00
|
|
|
|
PORT STATE SERVICE
|
|
|
|
|
8009/tcp open ajp13
|
|
|
|
|
```
|
2022-05-01 13:25:53 +00:00
|
|
|
|
## CVE-2020-1938 ['Ghostcat'](https://www.chaitin.cn/en/ghostcat)
|
2021-04-27 04:58:23 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
AJPポートが公開されている場合、TomcatはGhostcatの脆弱性に対して脆弱です。この問題に対応する[エクスプロイト](https://www.exploit-db.com/exploits/48143)があります。
|
2021-04-27 04:58:23 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
GhostcatはLFI(Local File Inclusion)の脆弱性ですが、ある特定のパスからのみファイルを取得できます。それでも、これには`WEB-INF/web.xml`などの重要な情報(Tomcatインターフェースの資格情報など)を漏洩させる可能性があります。ただし、サーバーのセットアップによって異なります。
|
2021-04-27 04:58:23 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
修正済みバージョンは9.0.31以上、8.5.51、および7.0.100です。
|
2021-04-27 04:58:23 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
## 列挙
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
### 自動化
|
2022-10-03 13:43:01 +00:00
|
|
|
|
```bash
|
|
|
|
|
nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
|
2022-05-01 13:25:53 +00:00
|
|
|
|
```
|
2023-07-07 23:42:27 +00:00
|
|
|
|
### [**ブルートフォース**](../generic-methodologies-and-resources/brute-force.md#ajp)
|
2022-10-03 13:43:01 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
## AJPプロキシ
|
2022-10-03 13:43:01 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
### Apache AJPプロキシ
|
2022-10-03 13:43:01 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
通常、ポート8009が開いていて他のウェブポートが開いていないことはめったにありません。その場合、既存のツール(例:Metasploit)を使用して侵入することができれば便利です。引用の一つに述べられているように、Apacheを悪用してリクエストをTomcatのポート8009にプロキシすることができます。参考文献には、それを行うための素晴らしいガイドがあります(まずそれを読んでください)。以下は、私自身のマシンで使用したコマンドの概要です。必要ないと思われる一部の元の指示は省略しました。
|
2022-10-03 13:43:01 +00:00
|
|
|
|
```bash
|
2021-01-20 22:58:40 +00:00
|
|
|
|
sudo apt-get install libapache2-mod-jk
|
|
|
|
|
sudo vim /etc/apache2/apache2.conf # append the following line to the config
|
2023-07-07 23:42:27 +00:00
|
|
|
|
Include ajp.conf
|
|
|
|
|
sudo vim /etc/apache2/ajp.conf # create the following file, change HOST to the target address
|
|
|
|
|
ProxyRequests Off
|
|
|
|
|
<Proxy *>
|
|
|
|
|
Order deny,allow
|
|
|
|
|
Deny from all
|
|
|
|
|
Allow from localhost
|
|
|
|
|
</Proxy>
|
|
|
|
|
ProxyPass / ajp://HOST:8009/
|
|
|
|
|
ProxyPassReverse / ajp://HOST:8009/
|
2020-07-15 15:43:14 +00:00
|
|
|
|
sudo a2enmod proxy_http
|
2021-01-20 22:58:40 +00:00
|
|
|
|
sudo a2enmod proxy_ajp
|
|
|
|
|
sudo systemctl restart apache2
|
2020-07-15 15:43:14 +00:00
|
|
|
|
```
|
2023-07-07 23:42:27 +00:00
|
|
|
|
このセットアップを使用することの良い副作用は、AJPプロトコルがいくらかバイナリであるため、設置されているIDS/IPSシステムを阻止する可能性があることですが、これは確認していません。これで、通常のメタスプロイトのトムキャットの脆弱性を127.0.0.1:80に向けるだけで、そのシステムを乗っ取ることができます。以下はメタスプロイトの出力です。
|
2022-10-03 13:43:01 +00:00
|
|
|
|
```bash
|
2020-07-15 15:43:14 +00:00
|
|
|
|
msf exploit(tomcat_mgr_deploy) > show options
|
|
|
|
|
|
|
|
|
|
Module options (exploit/multi/http/tomcat_mgr_deploy):
|
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
Name Current Setting Required Description
|
|
|
|
|
---- --------------- -------- -----------
|
|
|
|
|
PASSWORD tomcat no The password for the specified username
|
|
|
|
|
PATH /manager yes The URI path of the manager app (/deploy and /undeploy will be used)
|
|
|
|
|
Proxies no Use a proxy chain
|
|
|
|
|
RHOST localhost yes The target address
|
|
|
|
|
RPORT 80 yes The target port
|
|
|
|
|
USERNAME tomcat no The username to authenticate as
|
|
|
|
|
VHOST no HTTP server virtual host
|
2020-07-15 15:43:14 +00:00
|
|
|
|
```
|
2023-07-07 23:42:27 +00:00
|
|
|
|
### Nginxリバースプロキシ&AJP
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
オープンなAJPプロキシポート(8009 TCP)に遭遇した場合、Nginxを`ajp_module`と共に使用して「隠れた」Tomcat Managerにアクセスすることができます。これは、次の手順でNginxのソースコードをコンパイルし、必要なモジュールを追加することで実現できます:
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-07-07 23:42:27 +00:00
|
|
|
|
* Nginxのソースコードをダウンロードします。
|
|
|
|
|
* 必要なモジュールをダウンロードします。
|
|
|
|
|
* `ajp_module`を使用してNginxのソースコードをコンパイルします。
|
|
|
|
|
* AJPポートを指す設定ファイルを作成します。
|
2020-07-15 15:43:14 +00:00
|
|
|
|
```bash
|
2022-10-03 13:43:01 +00:00
|
|
|
|
# Download Nginx code
|
|
|
|
|
wget https://nginx.org/download/nginx-1.21.3.tar.gz
|
|
|
|
|
tar -xzvf nginx-1.21.3.tar.gz
|
|
|
|
|
|
|
|
|
|
# Compile Nginx source code with the ajp module
|
|
|
|
|
git clone https://github.com/dvershinin/nginx_ajp_module.git
|
|
|
|
|
cd nginx-1.21.3
|
|
|
|
|
sudo apt install libpcre3-dev
|
|
|
|
|
./configure --add-module=`pwd`/../nginx_ajp_module --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules
|
|
|
|
|
make
|
|
|
|
|
sudo make install
|
|
|
|
|
nginx -V
|
2020-07-15 15:43:14 +00:00
|
|
|
|
```
|
2023-07-07 23:42:27 +00:00
|
|
|
|
次の行を`/etc/nginx/conf/nginx.conf`の`http`ブロック内に追加し、`server`ブロック全体をコメントアウトしてください。
|
2022-10-03 13:43:01 +00:00
|
|
|
|
```shell-session
|
|
|
|
|
upstream tomcats {
|
2023-07-07 23:42:27 +00:00
|
|
|
|
server <TARGET_SERVER>:8009;
|
|
|
|
|
keepalive 10;
|
|
|
|
|
}
|
2022-10-03 13:43:01 +00:00
|
|
|
|
server {
|
2023-07-07 23:42:27 +00:00
|
|
|
|
listen 80;
|
|
|
|
|
location / {
|
|
|
|
|
ajp_keep_conn on;
|
|
|
|
|
ajp_pass tomcats;
|
|
|
|
|
}
|
2022-10-03 13:43:01 +00:00
|
|
|
|
}
|
|
|
|
|
```
|
2023-07-14 16:20:47 +00:00
|
|
|
|
ローカルホストに対してcURLリクエストを発行して、Nginxが正常に動作しているか確認してください。
|
2022-10-03 13:43:01 +00:00
|
|
|
|
```html
|
|
|
|
|
sudo nginx
|
|
|
|
|
curl http://127.0.0.1:80
|
|
|
|
|
|
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="en">
|
2023-07-07 23:42:27 +00:00
|
|
|
|
<head>
|
|
|
|
|
<meta charset="UTF-8" />
|
|
|
|
|
<title>Apache Tomcat/X.X.XX</title>
|
|
|
|
|
<link href="favicon.ico" rel="icon" type="image/x-icon" />
|
|
|
|
|
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon" />
|
|
|
|
|
<link href="tomcat.css" rel="stylesheet" type="text/css" />
|
|
|
|
|
</headas
|
|
|
|
|
<body>
|
|
|
|
|
<div id="wrapper">
|
|
|
|
|
<div id="navigation" class="curved container">
|
|
|
|
|
<span id="nav-home"><a href="https://tomcat.apache.org/">Home</a></span>
|
|
|
|
|
<span id="nav-hosts"><a href="/docs/">Documentation</a></span>
|
|
|
|
|
<span id="nav-config"><a href="/docs/config/">Configuration</a></span>
|
|
|
|
|
<span id="nav-examples"><a href="/examples/">Examples</a></span>
|
|
|
|
|
<span id="nav-wiki"><a href="https://wiki.apache.org/tomcat/FrontPage">Wiki</a></span>
|
|
|
|
|
<span id="nav-lists"><a href="https://tomcat.apache.org/lists.html">Mailing Lists</a></span>
|
|
|
|
|
<span id="nav-help"><a href="https://tomcat.apache.org/findhelp.html">Find Help</a></span>
|
|
|
|
|
<br class="separator" />
|
|
|
|
|
</div>
|
|
|
|
|
<div id="asf-box">
|
|
|
|
|
<h1>Apache Tomcat/X.X.XX</h1>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="upper" class="curved container">
|
|
|
|
|
<div id="congrats" class="curved container">
|
|
|
|
|
<h2>If you're seeing this, you've successfully installed Tomcat. Congratulations!</h2>
|
2022-10-03 13:43:01 +00:00
|
|
|
|
<SNIP>
|
|
|
|
|
```
|
2023-07-07 23:42:27 +00:00
|
|
|
|
## 参考文献
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2022-10-03 13:43:01 +00:00
|
|
|
|
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
<figure><img src="../../.gitbook/assets/image (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
|
|
|
|
|
|
**HackenProofはすべての暗号バグ報奨金の場所です。**
|
2022-11-05 09:07:43 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
**遅延なしで報酬を受け取る**\
|
|
|
|
|
HackenProofの報奨金は、顧客が報奨金予算を入金した後にのみ開始されます。バグが検証された後に報酬を受け取ることができます。
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
**Web3ペントテストの経験を積む**\
|
|
|
|
|
ブロックチェーンプロトコルとスマートコントラクトは新しいインターネットです!その成長期におけるWeb3セキュリティをマスターしましょう。
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
**Web3ハッカーレジェンドになる**\
|
|
|
|
|
各検証済みのバグごとに評判ポイントを獲得し、週間リーダーボードのトップを制覇しましょう。
|
2023-02-27 09:28:45 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
[**HackenProofに登録**](https://hackenproof.com/register)してハッキングから報酬を得ましょう!
|
|
|
|
|
|
|
|
|
|
{% embed url="https://hackenproof.com/register" %}
|
2022-11-05 09:07:43 +00:00
|
|
|
|
|
2022-10-03 13:43:01 +00:00
|
|
|
|
<details>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-04-25 18:35:28 +00:00
|
|
|
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2023-07-14 16:20:47 +00:00
|
|
|
|
* **サイバーセキュリティ企業で働いていますか?** **HackTricksで会社を宣伝**したいですか?または、**最新バージョンのPEASSを入手したり、HackTricksをPDFでダウンロード**したいですか?[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
|
2023-07-07 23:42:27 +00:00
|
|
|
|
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見しましょう。独占的な[**NFT**](https://opensea.io/collection/the-peass-family)のコレクションです。
|
|
|
|
|
* [**公式のPEASS&HackTricksのグッズ**](https://peass.creator-spring.com)を手に入れましょう。
|
2023-07-14 16:20:47 +00:00
|
|
|
|
* [**💬**](https://emojipedia.org/speech-balloon/) [**Discordグループ**](https://discord.gg/hRep4RUj7f)または[**telegramグループ**](https://t.me/peass)に**参加**するか、**Twitter**で**フォロー**してください[**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**。**
|
2023-07-07 23:42:27 +00:00
|
|
|
|
* **ハッキングのトリックを共有するために、PRを** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **と** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **に提出してください。**
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|