ハニーポット観察記録(40)「Ruby on Rails の脆弱性を狙ったコマンド実行の試み」
どうも。ハニーポッターの森久です。
今回は、WOWHoneypot で検知した Ruby on Rails(以下、RoR)のパラメータ解析処理の脆弱性(CVE-2013-0156)を突いた攻撃について紹介します。
RoR はプログラミング言語の Ruby で書かれている Web アプリケーションフレームワークです。RoR を使っているサイトとして、cookpad や食べログが有名ですね。検索すると他にも多くのサイトで導入されていることがわかります。
私自身は使った経験はありませんが、日本語のドキュメントや解説記事が多く公開されていて、日本人にも人気のようです。
もしかすると、読者の方が作った Web アプリに対しても攻撃がおこなわれているかもしれませんね。
それでは攻撃内容を紹介します。
攻撃ログ
※一部の情報を意図的に伏せています。
POST メソッドによる HTTP リクエストですが、/ 直下を指定しています。HTTP ヘッダを見ると、User-Agent に IE6.0 とあり、NT 5.1 は Windows XP のことなので、本当に使っているなら2018年現在の生きる化石みたいなブラウザです。ツールによるアクセスを隠すために指定していると思いますが、逆に不自然さが目立ってしまいますね。
また Content-Type を見ると、POST のデータ部分には、XML のデータが使われているようです。
肝心の POST のデータ部分を見ると、YAML のデータが指定されています。さらに ruby のプログラムと考えられるデータが含まれていることがわかります。
eval() の中には何やらエンコードされた値が含まれていますね。この値は BASE64 方式でエンコードされているので、デコードしてみましょう。次にデコードした結果を整形した結果を示します。
system() 関数を使って、OS コマンドを実行する内容です。crontab の現状の内容や、wget のバージョンを表示した後に、crontab へ毎時1分にファイルをダウンロードして bash にパイプで渡して実行するコマンドを登録しています。
また念には念を入れて(?)、ファイルをダウンロードするプログラムとして、wget だけではなく、curl も同時に crontab へ登録しています。
さてここで気になるのはダウンロードする robots.txt の中身ですよね。検証環境で確認したところ、下記の内容のファイルでした。
sshd と sshd.i686 ファイルをダウンロードして、実行することが目的です。実行時のパラメータを見ると予想が付きますが、VirusTotal で調査したところ、仮想通貨をマイニングするプログラムでした。
以上をふまえると、今回の攻撃は RoR の脆弱性を突いて OS コマンドを実行し、定期的にマイニングプログラムのダウンロードおよび実行することが目的と考えられます。
まとめ
今回は RoR の脆弱性を狙ったコマンド実行の試みについて紹介しました。攻撃の影響を受けるバージョンは次の通りです。
- Rails 3.2.11 より前の 3.2 系
- Rails 3.1.10 より前の 3.1 系
- Rails 3.0.19 より前の 3.0 系
- Rails 2.3.15 より前の 2.3 系
影響を受けるバージョンが3系および2系と古いです(最新の RoR は5系がリリースされています)。というのも脆弱性が2013年に公開されたものだからです。
先日取り上げた WebLogic の脆弱性を狙った攻撃もそうでしたが、最近の攻撃者の目的として、仮想通貨のマイニングをさせることが多いように感じられます。
攻撃者はとにかくマイニングしたいみたいで、新しい脆弱性や今回の脆弱性のように古いものも含めて、様々な手法を使っています。
RoR のようなアプリケーションフレームワークも攻撃対象になるので、可能な限り最新版を使って攻撃の影響を受けないようにしたいですね。
またもしも攻撃を受けてマイニングさせられてしまっていることに気づけるように、CPU 使用率の監視をすることも早期発見に繋げられると思います。
IoC
不審な通信先
internetresearch.is
lochjol.com
ダウンロードするファイル(sha256)
robots.txt 950071a50b2176c98acfacfe557ced850be72c8d3a6ea55f03178da03b5a5c76
sshd 79af5a2e617ad43d6da98a29528e0cc771cb8393607614d9a2fe9ba572b5aee5
sshd.i686 486090cff2c16fe27293629c73ae9f05de0245bdb2616dda3dcffefd06d0165d
※攻撃の影響を確認するときは、crontab に意図しない設定が追加されていないかどうかも確認することを推奨します。
参考情報
JVNDB-2013-001019 Ruby on Rails に複数の脆弱性(JVN iPedia)
http://jvndb.jvn.jp/ja/contents/2013/JVNDB-2013-001019.html
Ruby on Railsの脆弱性(CVE-2013-0156)を狙った攻撃を観測(Scutum WAF Tech Blog)
https://www.scutum.jp/information/waf_tech_blog/2013/01/waf-blog-018.html
Ruby on Rails の Action Pack のパラメータ解析の脆弱性により任意のRubyコードを実行される脆弱性(CVE-2013-0156)に関する検証レポート(NTTデータ先端技術株式会社)
http://www.intellilink.co.jp/article/vulner/130124.html