今回は懐かしめの脆弱性の検証を記事にします。
2014年ごろに大分話題になりましたShellShockです。
当時働いていた方は対応に苦労したのではないでしょうか?検証も行っていきますので、興味がある方は見ていってください。
なお、この記事については悪用を促すことが目的ではありませんので、予めご理解ください。
また、内容に間違っている点があれば修正しますので、ご教示願います。
CVE-2014-6271(ShellShock)について
2014年の9月ごろに公表された脆弱性です。
IPAからも以下のように注意喚起の記事が出ています。
IPA:「更新:bash の脆弱性対策について(CVE-2014-6271 等)」
IPAの注意喚起中の内容を引用すると
bash に任意の OS コマンドを実行される脆弱性 (CVE-2014-6271) が発見され、2014 年 9 月 24 日に修正パッチが公開されました。
OSコマンドが動く脆弱性ですので、非常に危険ですね。
しかもLinuxのbashに脆弱性があったので、Linuxサーバを運用している会社(めちゃくちゃたくさんいる)は対応に地獄を見たのではないでしょうか。
私も当時はセキュリティ関係の仕事をしていましたが、問い合わせ等がたくさんありましたね。
※運用等の実働部隊ではなかったのでそこだけが救いでした・・・
IPAの注意喚起に書いてある通り、Webサーバだけではなく、ルータ等、色々な機器にも被害が出た脆弱性でした。
きっとWindowsに乗り換える人も多くいただろうなと思います。(Windowsだからって安全って訳ではないんですがね・・・)
ShellShockの検証
まずは検証環境の作成ですが、これだけ有名な脆弱性なので、isoファイルが準備されています。以下リンクを貼っておくので、興味がある方はどうぞ!
Pentester Lab: CVE-2014-6271: ShellShock
下記の赤枠の個所からisoファイルがダウンロードできました。
ダウンロードしたファイルをVMに読み込ませれれば環境構築は完成です。(簡単ですね!)
以下が起動した際の画面です。認証はなく、記載のとおり「sudo -s」ですぐにrootになることができます。
アクセスするためにIPアドレスを調べます。「ip addr」と打ちたいところですが、ipコマンドは入っていないため、「ifconfig」でIPアドレスを確認します。
私の環境では「192.168.70.139」となっています。(環境によって異なるので、ちゃんと確認するかIPアドレスを固定にしてください。)
ブラウザからアクセスすると以下のような画面が表示されました。
さて早速と行きたいところですが、この画面に対して実行してもOSコマンドは実行されません。
CGIプログラムがGNU bash を呼び出している個所である必要があるので、そこにアクセスします。
場所は公開ディレクトリの「/cgi-bin/」直下の「status」というファイルです。
ブラウザからアクセスすると以下のように表示されます。
これで準備は完了です。
Metasploitを使用してもいいのですが、コードなども色んなところで公開されているので、プロキシツール(burp)を使用して手作業でさくっとやっていきます。
まずは該当のリクエストをRepeaterに移して通常の動作を確認します。以下のとおりちゃんと動いていますね。(burpのバージョンが少し古いのは流してください・・・)
では攻撃コードを挿入してみます。User-Agentヘッダに対して以下を挿入してみます。
User-Agent: () { :;}; echo; /bin/bash -c 'cat /etc/passwd'
するとどうでしょう!なんと/etc/passwdの内容が表示されてしまいました!(ちょっと大げさに)
脆弱性診断時はこれで完了ですが、ペネトレーションテスト時はさらにバックドア置いたりしてガツガツ侵入していきます。(お客さんとの契約にもよりますが・・・)
‘cat /etc/passwd’の個所に任意のコマンドが入るので、やりたい放題ですね。
プログラムファイルを作成してもいいし、ncコマンドでクライアント側と通信させてもいいし。
影響範囲を考えるとだいぶ前このブログでも検証した「S2-045」よりも怖い問題ですね。
まとめ
今回は2014年の中頃に全世界で話題になった脆弱性であるShellShockの検証を行いました。
今回やってみて思ったのは、以下の検証よりも準備も含めだいぶ楽でした。(ファイルのダウンロードの含め1時間くらいでできました。)
CVE-2020-1938の検証をやってみた
上記の場合はまずは日本語の情報が注意喚起くらいでほとんどなく、英語圏以外のサイト(中国とか)をだいぶ漁って検証したんです・・・(Twitterもだいぶ使いました)
ShellShockはさすがにあれだけ話題にもなってしかも年月もだいぶたっていたので、isoファイルが用意されていたりといたせりつくせりでした。
もちろんこの脆弱性自体も非常に危険であり、内部のみでしか使用されていないサーバについても対応が必須の脆弱性です。(フィッシングメールから、内部のサーバが攻撃される可能性もあるので)
実はここ数年で数回この脆弱性に実際に遭遇したこともあるので、心配な方は確認してみてください。
不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。
コメント