こんにちわ。kimonoです
先日、とある業者様のサーバハッキングがあり、そちらの調査対応を受注し、原因が分かりましたので、せっかくですので、こちらでその事例を攻撃事例としてご紹介させていただきたいと思います。
※お客様名は内容が内容だけに伏せさせていただきます。
状況としましては、ネットワークの負荷が100%に達し、全く内部から外へのインターネット閲覧などができなくなり、外部からも内部のサーバなどにアクセスができなくなるといったことでした。
調査をしていきますと、ある一台のサーバから大量のパケットが発信されており、それが原因でネットワーク全体を100%にしてしまうほどの負荷が出ておりました。
当初は大量に発信されているパケットをファイヤーウォールにて破棄するようにしましたが、あまりにも大量すぎ、今度はネットワーク機器の負荷が100%になってしまいましたので、最終的には、そのサーバのネットワークケーブルを抜き、物理的にそのパケットの送信ができないようにして、全ての負荷が止まり、一時対応として終わりました。
それでは何が大量に送られていたのか、何故そのような事態になったのかということを調査していきました。
サーバを停止せず、ケーブルを抜いた状態にしておいたお陰で、今回は重要な情報が得ることができました。
サーバのメモリを確認しますと、サーバのCPUを99%~100%消費するプロセスが動作しておりました。
しかし、このプロセスは本体のファイルは既に削除されており、メモリに常駐しているだけのプロセスでした。
また、サーバから発信するパケットからもどこに接続に行こうとしているのか、何をしようとしているのかという情報を得ることもできました。
更に、ネットワークのログ、サーバのログを集めますと、最終的にこのサーバの接続先や、どういったプログラムがどこに何をしようとしにつなぎに行ったものかということが分かりました。
また、そのプログラムは何時埋め込まれたのか、これも一連の不正プログラムの情報から情報を得ることができ、最終的にどのような原因でサーバがハッキングされ、何を目的に何をされたのかということが分かりました。
それでは、時系列を追って、説明させていただこうと思います。
実は、このサーバは構築後10年近くバージョンアップなどを行わず放置されていたWebサーバでした。
今回狙われたのは、先日発表されたサーバのbashの脆弱性を狙った「Shellshock」という脆弱性になります。
この脆弱性を発見し、またこのサーバにてcgiが動作するということを発見したハッカーは、不正なシェルスクリプト「TROJ_BASHKAI.SM」を実行しました。
「TROJ_BASHKAI.SM」を実行しました結果、不正プログラム「KAITEN」のソースコードをダウンロードするために
- http://stablehost[dot]us/bots/regular[dot]bot
というサイトにアクセスし、ソースコードをダウンロードし、サーバーに合わせて動作させるために、標準のgccコントローラーを利用し、コンパイルされ、その結果、「ELF_KAITEN.SM」と「ELF_KAITEN.A」、「OSX_KAITEN.A」、「PERL_SHELBOT.SMO」して検出される実行ファイルが作成されました。
「ELF_KAITEN.SM」は x[dot]secureshellz[dot]net で IRC サーバに接続し、IRC チャンネル「#pwn」に参加してコマンドを待機した状態となりました。
「ELF_KAITEN.A」はlinksys[dot]secureshellz[dot]net[colon]25 に接続し、チャンネル「#shellshock」に参加してコマンドを待機した状態となりました。
「OSX_KAITEN.A」はMacOSX用のプログラムのため、今回は何かコンパイルされることはありませんでした。
「PERL_SHELBOT.SMO」は上記二つのサーバにつなぎ、別のチャンネル「#scan」に参加し、さまざまな検索エンジンを介して脆弱性を抱える Webサイトを検索するようになりました。
この結果はきちんとログとして残っており、これらの不正スクリプトに記載されたファイルがダウンロード完了したことがしっかりと記載されておりました。
IRCサーバに接続したサーバは、IRCからの命令で下記のようなことができるようになりました。
- UDP フラッド攻撃の実行
- TCP Syn フラッド攻撃の実行
- ファイルのダウンロード
- 生の IRC コマンドの送信
- リモートシェルの開始
- PUCH-ACK フラッド攻撃の実行
- クライアントの無効化、有効化、終了
また、「TROJ_BASHKAI.SM」として検出される通常のボットは、ファイル「/tmp/c」を作成し、このファイルによって、毎日cronによって、不正プログラムは最新の状態を保つことができるようになりました。
こちらはcronのログにしっかりと掲載されておりました。
結果、IRCに接続された多くのBOTサーバの一部となり、攻撃の命令を待つ状態となりました。
同様に同じ手法にて、多くのサーバがハッキングされており、IRCチャットにて一つの命令を行うことで、一斉に同じ攻撃を行うことができる状態になり、今回に限っては、一斉にDOS攻撃を行うBOTの一部として参加させられたということになります。
最終的に発見したのが早く、対応が早かったため、このサーバからの攻撃はほぼなかったに等しい形となりましたが、多くのサーバがこれと同じ状態になっていると思われます。
サーバハッキングは難しいため、身近に感じないかもしれません。
しかし、日々近くで実際に起きているものとなります。
皆様も常にしっかりと管理し、脆弱性をつかれて、不正な攻撃の一部にならないように気を付けましょう!
参考サイト)
bashに存在する脆弱性 「Shellshock」:「CVE-2014-7169」および「CVE-2014-6271」
日本への「Shellshock」脆弱性攻撃、その攻撃内容を詳細解析