
Apache Struts (CVE-2017-5638) シェル
Apache Struts (CVE-2017-5638) シェル
「LowNoiseHG (LNHG) Struts Shell」(以下「StrutsShell」)は、Apache Struts CVE-2017-5638を手動で悪用する(HTTP GETリクエストを手作業で行う)必要性を感じず、またこの脆弱性に対するMetasploitモジュールが(少なくとも当社のテストケースでは)動作しなかったことに気づいた後、2017年3月に考案されました。
StrutsShellの基本動作は、攻撃対象のプラットフォーム(Windows、Linuxなど)向けのコマンドライン(シェル)入力を処理し、Apache Strutsの脆弱性を利用してそれをシェルにプッシュして実行させることです。ツールは応答を返し、次のシェルコマンドを待機することで、途切れることのないインタラクション体験を提供します。
# LowNoiseHG Apache Struts (CVE-2017-5638) Shell v.0.1 (2017/03/17)
# by F4Lc0N - LNHG - USA/Colombia
#
# Thanks to Andrew Weidenhamer (@AWeidenhamer), David Llorens (c4an),
# Tauseef Ghazi (@tghazi), and AJ (@nikamajinkya) for inspiration, ideas
# and debugging/betatesting help.
usage: StrutsShell.py [-h] [-d] [-u URL]
LNHG Apache Struts (CVE-2017-5638) Shell v.0.1
optional arguments:
-h, --help show this help message and exit
-d, --debug show debugging info
-u URL, --url URL Apache Struts vulnerable URL (i.e.:
http://www.example.com/test/login.action)
for inspiration, ideas and debugging/beta-testing help.
LowNoiseHG (LNHG) で行われるR&Dのほとんどと同様に、このツールはその有用性のためにのみ設計・開発され、経済的資金や割り当てられた時間はありません。すべての開発は個人の時間のみで行われており、興味深い機能が出てきて、他のプロジェクトを考慮した上で時間があれば継続されます。
現在のバージョンは非常によく動作しますが、修正すべき小さなバグがまだいくつかあり、改善できる基本的な機能もあります。
StrutsShell およびその関連コードはすべて GPL v3 オープンソースライセンスの下で公開されています。完全なライセンスは LICENSE.md ファイルに添付されています。
StrutsShell を「そのまま」すべてのオプションを有効にして実行するには、以下が必要です。
注: StrutsShell はKali、Ubuntu、Debianで開発およびテストされました。他のプラットフォームでも動作させられるはずです ;)
$ sudo apt-get install -y python git
$ pip install requests
$ cd /opt
$ sudo git clone https://github.com/falcon-lnhg/StrutsShell.git
$ cd StrutsShell
$ ./StrutsShell.py -u http://www.example.com/test/login.action
オプションの完全なリストはいつでも以下で確認できます。
$ ./StrutsShell -h
