
Apache Axis1.4 リモートコマンド実行脆弱性の悪用ツール - CVE-2019-0227,サービス名とWebshellファイル名のランダム化をサポート
Apache Axis1.4 には、リモートコマンド実行脆弱性 (CVE-2019-0227) が存在します。enableRemoteAdmin プロパティが true に設定されている場合、攻撃者は AdminService インターフェースを介して悪意のあるサービスをデプロイし、ターゲットサーバー上で任意のシステムコマンドを実行できます。
影響を受けるバージョン: Apache Axis ≤ 1.4
トリガー条件: enableRemoteAdmin が true に設定されていること
| 方法 | スクリプト | 原理 | ファイル書き込みの有無 | 隠蔽性 |
|---|---|---|---|---|
| 方法1: JSP Webshell | jsp-webshell/axis_exp.py | LogHandler を介して JSP Webshell を書き込む | ✅ ファイルを書き込む | 低 |
| 方法2: Freemarker 直接実行 | freemarker-exec/axis_freemarker_exp.py | Freemarker Execute クラスを直接呼び出してコマンドを実行 | ❌ ファイルを書き込まない | 高 |
cd jsp-webshell
python3 axis_exp.py -u http://target.com:8080/axis/ -c "whoami"
cd freemarker-exec
python3 axis_freemarker_exp.py -u http://target.com:8080/axis/ -c "whoami"
pip install requests urllib3
Axis1.4-CVE-2019-0227/
├── README.md
├── jsp-webshell/
│ ├── axis_exp.py
│ └── README.md
└── freemarker-exec/
├── axis_freemarker_exp.py
└── README.md
本ツールはセキュリティ研究および許可されたテストの目的のみに使用されます。許可なく本ツールを使用してターゲットシステムを攻撃することは違法行為であり、使用者はすべての法的責任を負うものとします。
MIT License
## 📝 サブディレクトリ README(jsp-webshell/README.md)
Axis AdminService を介して悪意のあるサービスをデプロイし、LogHandler を利用して JSP Webshell を書き込み、GET リクエストでコマンドを実行します。
悪意のあるサービスのデプロイ → LogHandler による shell.jsp の書き込み → GET リクエストによるコマンド実行
# 単一コマンドの実行
python3 axis_exp.py -u http://localhost:8080/axis/ -c "whoami"
# インタラクティブシェル
python3 axis_exp.py -u http://localhost:8080/axis/ -i
# 認証あり
python3 axis_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
## 📝 サブディレクトリ README(freemarker-exec/README.md)
Axis AdminService を介して freemarker.template.utility.Execute クラスを指すサービスをデプロイし、その exec メソッドを直接呼び出してシステムコマンドを実行します。ファイルは一切書き込みません。
Execute サービスのデプロイ → exec メソッドの直接呼び出し → コマンド実行結果が SOAP 応答で返される
WEB-INF/lib/ ディレクトリに freemarker.jar が存在すること(Axis 1.4 はデフォルトで同梱)# 単一コマンドの実行
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -c "whoami"
# インタラクティブシェル
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -i
# 認証あり
python3 axis_freemarker_exp.py -u http://localhost:8080/axis/ -U admin -P admin -i
| パラメーター | 説明 |
|---|
-u, --url | ターゲット Axis サービスのアドレス |
-c, --command | 単一コマンドを実行 |
-i, --interactive | インタラクティブシェルモード |
-U, --username | Basic 認証のユーザー名 |
-P, --password | Basic 認証のパスワード |
| パラメーター | 説明 |
|---|
-u, --url | ターゲット Axis サービスのアドレス |
-c, --command | 単一コマンドを実行 |
-i, --interactive | インタラクティブシェルモード |
-U, --username | Basic 認証のユーザー名 |
-P, --password | Basic 認証のパスワード |