質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

3073閲覧

MetasploitでJoomlaの脆弱性(CVE-2015-8562)のexploitを成功させたい

gxnrk190

総合スコア11

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2018/08/13 13:11

編集2018/08/13 17:28

初投稿失礼します。

当方セキュリティを勉強しております。
その中で現在、一週間ほど苦戦していることがあり、とうとう質問するに至りました。

==================================
■やりたいこと
Kali LinuxのMetasploitから標的Webサーバに対してJoomlaの脆弱性(CVE-2015-8562)を攻撃し、
Webサーバからリバースシェルを返して来させたい。

metasploitについて
モジュール:exploit/multi/http/joomla_http_header_rce
ペイロード:php/meterpreter/reverse_tcp
必要なオプションは全て入力済み

標的Webサーバについて
・CentOS6.9
・Apache/2.2.15(CentOS)
・PHP/5.3.3
・Joomla 3.1.1

PHPとJoomlaについては、攻撃が成立するバージョンは満たしていると認識しております。

■現状
理想の成功形としては、payloadが送られた後にmeterpreterが返ってくるのを想定していました。
(実演例:https://www.youtube.com/watch?v=Vt4BwtMWkS8)

当該のモジュールとペイロードセットし、必要なパラメータを入力後、runすると
以下のようなメッセージになり、meterpreterが返ってきません。

[] Started reverse TCP handler on (Kali LinuxのIP):4444
[
] (WebサーバのIP):80 - Sending payload...
[*] Exploit completed, but no session was created.

■自分なりに考えた原因と試したこと
・iptablesなどのFirewallが原因で、Kali Linux側のポート4444が通らないのでは?
→iptablesは無効化しており、ポート4444への疎通が可能なことは確認済みです。
実際に、joomlaは通さずreverse_shell専用のモジュールを使用してmeterpreterが返ってきました。

・バーチャルホストが原因では?
→同じIPでWordpressとJoomlaをバーチャルホストとして、かつWordpressがメインサイトとして稼働させていました。
metasploitにRHOSTとしていつもIPアドレスをいれていたので、攻撃対象がWordpressにいっていたのではと思いました。
ただ、metasploitのパラメータVHOSTにjoomlaのホスト名を入れても、上手くいきませんでしたし、
Wordpressを止めてJoomlaをメインサイトとして設定し直しても、成功しませんでした。
(joomlaメインサイト時に、joomlaのURLを攻撃しにいっていたことは、Wiresharkにて確認済みです。)

・PHPのバージョンが原因では?
→当該脆弱性をexploitするには、PHPにも脆弱性(CVE-2015-6835)がある必要があるとのこと。
調べてみると、ディストリビューションが提供しているPHPには同じバージョンでもパッチ済みのPHPを提供している、
という記事を見つけました。

  なのでPHP公式サイトから、あえてバージョン5.3.2のtarファイルをダウンロード、インストールしてみました。
こちらはまだ実践中の段階で、そもそも5.3.2のインストールが上手くいかないというところで詰まっている段階です...
(./conigureする時に--with-mysqlでエラーが出る、--with-mysqlなしでやるとjoomlaが上手くmysqlに繋がってくれない、など)

■質問したいこと
・上記で述べたように、
「ディストリビューションのPHPはパッチ済みのものであり、PHPの脆弱性が対策されているから攻撃が成功しない」
という可能性はあるのでしょうか?(あまりにphpのインストールが上手く行かなく、心が折れそうなので...)

・PHPバージョン以外にも、exploitが成功しない原因は他になにが考えられるでしょうか?
自分が考えた原因以外にあるようであれば、ご教授いただけると大変幸いです。
==================================

だらだらとまとまりの無い長文失礼しました。
ここまできたらどうしても成功させるまで終わらせられないと思ってます...

↓↓↓
8/14追記
コメントいただいたように、PHPが標準でインストールされているものは対策済みということで、
あえて脆弱なバージョンの導入を試みています。

公式PHPのサイトから5.3.2のtarファイルをダウンロードし、解凍後に
./configure <オプション>
make && make install
の流れをやっております。

ただ、オプションの「--with-mysql」の部分でどうやら引っかかっており、
configure時に下記エラーが出ます。

configure: error: Cannot find libmysql under /usr.
Note that the MySQL client library is not bundled anymore!

mysqlはCenntOS6.9導入時から標準でついているものを変わらず使っております。

--with-mysql=に/usr/lib64/mysqlなどを入れたりしていますが、上手くいきません。

何か解決策があれば、ご教授いただけると大変幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/08/13 15:43

ちなみに CENTOS 6 にある標準リポジトリからインストールされた PHP 5.3.3 ならば対策されてるので実行できないのです
gxnrk190

2018/08/13 16:35

そちらのPoCです!やはり、標準でインストールされたPHPは対策済みでしたか...
gxnrk190

2018/08/13 16:36

現在も公式のソースからPHP5.3.2のインストールを試行錯誤しておりますが、上手くmysqlと連携されずに苦戦中です...
namda

2018/08/13 19:49

エラー文そのままのlibmysqlが無いんでないの?探して有るようなら、とりあえずinstallだけならシンボリックリンクで貼れば行けるんでない?
退会済みユーザー

退会済みユーザー

2018/08/14 02:02

ちなみにこのPOCにあるコードはコンパイルして実行すれば脆弱性の有無がわかるやつだったはず
guest

回答1

0

ベストアンサー

これだという原因が分かったわけではありませんが、気になったことを少し。

→当該脆弱性をexploitするには、PHPにも脆弱性(CVE-2015-6835)がある必要があるとのこと。

調べてみると、ディストリビューションが提供しているPHPには同じバージョンでもパッチ済みのPHPを提供している、という記事を見つけました。

記事のURLを示してください。
私の調べた範囲では、CentOS6.9にバンドルされたPHPは、CVE-2015-6835は解消されていないはずです(参考)。
RedHat社のサイトでも、will not fixとなっています。

https://access.redhat.com/security/cve/cve-2015-6835

また、すべてのパッチを適用したCentOS6.9に、私が作成した脆弱性チェックプログラムを実行させると以下のように脆弱であることを示しています(最下行)。脆弱性がない場合は、この最下行のメッセージは表示されず、別のエラーが表示されます。

array(2) { ["_default"]=> NULL ["57:"_aa"]=> object(Class1)#1 (1) { ["private":"Class1":private]=> string(3) "prv" } } CVE-2015-6835 vulnerable

標的Webサーバについて

・Joomla 3.1.1

確かにJoomla 3.1.1は脆弱なバージョンに含まれていますが、バージョン毎にPoCが実は違うということはあり得ます。この脆弱性のPoCはソフトウェアの内部構造に深く依存するからです。CVE-2015-8562が解消されたバージョンはJoomla! 3.4.6ですから、一つ手前の Joomla! 3.4.5を使うのが無難かと思います。PoCを作成する場合は、たいてい脆弱性のあるバージョンのうち最新版をもとに作成するからです。

投稿2018/08/14 08:58

編集2018/08/14 09:05
ockeghem

総合スコア11701

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gxnrk190

2018/08/15 16:28

ご回答いただき、ありがとうございます。 >記事のURLを示してください。 https://qiita.com/bezeklik/items/74106f3ed528584293c3 http://blog.asial.co.jp/1349 この辺りを参考にさせていただきました。 >私が作成した脆弱性チェックプログラムを実行させると以下のように脆弱であることを示しています ツールの提供ありがとうございます。 試したところ、ターゲットの環境でも脆弱であることを示すメッセージが表示されました。 >Joomla! 3.4.5を使うのが無難かと思います。 phpのインストール方法が解決したというこで、phpをダウングレードした環境に加え、アドバイスいただいたjoomlaのバージョンを用意して試してみました。 標的環境1: Jooma3.1.1, PHP5.3.2 (元々用意していた環境からphpをダウングレード) 標的環境2: Joomla3.4.5, PHP5.4.4(アドバイスいただいたjoomlaに合わせてphpもアップグレード) しかし、どちらの環境においても上手くいきませんでした...
ockeghem

2018/08/15 22:04

>>記事のURLを示してください。 >https://qiita.com/bezeklik/items/74106f3ed528584293c3 >http://blog.asial.co.jp/1349 >この辺りを参考にさせていただきました。 ありがとうございます。これらは、一般的にLinuxディストリビューションのPHPにはパッチが提供されるという話ですね。しかし、すべての脆弱性のパッチが提供されるわけではなく、今回のケースでは、CentOSにはパッチは提供されないのです。 他については問題ないかと思いますが、exploitが刺さらない原因は思いつきません。
gxnrk190

2018/08/16 21:56

アドバイスで頂いた通り、本脆弱性に対するPoCが2通りネット上で公開されているのを見つけたので、それらをMetasoloitのペイロード部分に反映させ、標的サーバにて用意した様々なバージョンの組み合わせで試してみました。 パターン1 https://packetstormsecurity.com/files/134949/Joomla-HTTP-Header-Unauthenticated-Remote-Code-Execution.html ※Metasploitのデフォルトで使われているパターン パターン2 https://www.exploit-db.com/exploits/38977/ ※evalで実行する部分はMetasploitのものを利用して、evalの前後部分だけを上記URLのものを反映 さらにUSER-AGENTに入れるパターンとX-FORWARDED-FORに入れるパターンの2通りも、上記ペイロードとそれぞれ組み合わせて試してみました。 結局、どのバージョンにどちらのペイロードを試しても上手くいきませんでした... CentOS6上で構築したJoomlaへのexploitは、一旦切り上げようと考えています。 また時間があるときにCentOS5あたりで再度構築して攻撃を試みようかと思います。 ただ、今回の試みを通じてPHPのインストールや、攻撃対象バージョン毎にPoCが異なる可能性もあることなど、学ぶことが色々あったので、成功はできませんでしたが良い勉強になりました。 この度はご協力いただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問