Kali Linuxを使用してShellshockのハッキングを検証する! Part2

こんにちはtakenemです。以前投稿しました、Kali Linuxを使用してShellshockのハッキングを検証する! Part1に引き続き、Part2 では実際にShellshockの脆弱性が潜んでいるかの確認と、ハッキングされるまでを検証していきます!

検証環境の準備

検証環境には、攻撃されるサーバと攻撃するマシンを用意します。攻撃されるサーバには、bashの脆弱性をもったLinuxサーバとWebサーバが動作する環境を用意します。Webサーバにはcgiファイルを用意します。攻撃するマシンにはKali LinuxとMetasploit Framework が導入されたマシンを使用します。MetasploitのDatabaseは事前にUpdateすることをお勧めします。

■攻撃対象サーバ
OS: CentOS release 6.5 (Final)
MW: Apache/2.2.15 (Unix) ※OSに同梱されているバージョン
URL: http://192.168.100.131/cgi-bin/test.cgi

■攻撃するマシン
OS: Kali Linux 2.0
MW: metasploit v4.11.5-2016010401

bashの脆弱性確認

“this bash is vulnerable” が表示されたら脆弱性ありです。

Bashのバージョンを確認することで、Shellshockの対象なのか確認ができます。

影響を受けるバージョンは以下となっております。
Bash 4.3 Patch 25 およびそれ以前
Bash 4.2 Patch 48 およびそれ以前
Bash 4.1 Patch 12 およびそれ以前
Bash 4.0 Patch 39 およびそれ以前
Bash 3.2 Patch 52 およびそれ以前
Bash 3.1 Patch 18 およびそれ以前
Bash 3.0 Patch 17 およびそれ以前

引用:GNU bash の脆弱性に関する注意喚起

Exploitの設定

まず、攻撃するマシンのMetasploit Framework を起動します。

msfconsole起動

次に、攻撃モジュールをセットします。

exploitシェル

今回WebサーバをApacheにて構築し、CGIファイルを置いたのは以下の理由のためです。

Linux 系 Web サーバ上で mod_cgi あるいは、mod_cgid から起動される CGI プログラムが、 (明示的/暗示的に) GNU bash を呼び出している場合に、影響を受ける可能性があります。 なお、mod_php、mod_perl、および mod_python は環境変数を使用しないため、影響を受けないと考えられます。
Apache HTTP サーバの場合には、次のような条件を満たす場合、mod_cgi あるいは、mod_cgid から起動される CGI プログラムが稼働している可能性があります。

  • LoadModule cgi_module modules/mod_cgi.so、LoadModule cgid_module modules/mod_cgid.so のいずれかを有効にしている。
  • ScriptAlias /cgi-bin/ “/var/www/cgi-bin/” で指定されたフォルダにプログラムがある。あるいは、AddHandler cgi-script .cgi で指定された拡張子を持つプログラムがある。

そのため、CGI プログラムそのものを シェルスクリプトで作成している場合は発動します。今回は以下のスクリプトを攻撃対象サーバに配置しています。

攻撃モジュールのオプションを確認します。

showoptions

ターゲットを攻撃対象サーバに設定します。

rhost

ターゲットが公開しているcgiファイルを設定します。

Targeturi

Payloadの設定

攻撃が成功したときに実行する、任意のコードを設定します。このPayloadは、攻撃に成功すると、ターゲットの制御を奪うことのできるポートを新たにオープンさせるものです。これにより攻撃対象サーバに入り込むことができます!!

payload

showoptions2

Let’s Exploit!!

準備が整ったので、いよいよ攻撃を行います!

exploit

エクスプロイト後に、攻撃対象サーバ上で実行したコマンドの結果です。攻撃対象サーバのアカウント情報を参照することができます!!
exploit2

他にも、様々なOSコマンドを実行することで情報の採取や悪意のあるプログラムを配置するなどが可能です。かなり危険なことが分かりましたでしょうか!? Part3では、この危険を回避するための対策をお伝えします。

  • このエントリーをはてなブックマークに追加
  • Pocket