情報の入れ物、データベースは大丈夫ですか
皆さんこんにちは、川口です。そろそろGumblarの話に飽きてきたところでしょうか。今回は以下の4種類のデータベースで、管理用ポートをインターネットにオープンしているとどうなるかについて調べた結果を取り上げます。いずれも管理用ユーザーのパスワードは「脆弱なもの」に設定されています。
- Oracle(1521/tcp)
- SQL Server(1433/tcp)
- MySQL(3306/tcp)
- PostgreSQL(5432/tcp)
右側に書いてある番号が管理用ポート番号です。データベースを管理する場合、これらのポートをインターネットに対してオープンにする必要はないはずです。しかし、これらのポートに対して外部から“直接”接続するインシデントが年に数回は発生しています。
このようなインシデントは、大学のネットワークに接続したサーバがほとんどですが、ホスティングサービスのサーバでもこれらインシデントが発生しています。データベースサーバに対するアクセス制御が不十分なことが原因です。
データベースが攻撃を受けた頻度を表したものが下のグラフです。
SQL Serverが最も多く攻撃を受けています。攻撃者にとっても最も“おいしい”環境なのでしょう。次いでMySQL、Oracleとなっています。
PostgreSQLは管理用ポートへの接続すらありませんでした。データベースとしてはそこそこ利用されているはずですが、攻撃者にとっては魅力がない環境なのでしょう。アクセス制御をせずにデータベースを運用する方にはPostgreSQLが最もお勧めですね、というのはもちろん冗談です(笑)。
SQL Serverへの攻撃
SQL Serverが攻撃を受けた際に実行されたコマンドは以下のようなものです。攻撃者は脆弱なパスワードを突破したあと、これらコマンドを短時間で実行していますので、おそらく機械的に攻撃しているのでしょう。
1行目と2行目で関数を定義して、3行目でコマンドを一気に実行しています。3行目から18行目は見やすさを考えて改行を入れていますが、実際には1行のSQLコマンドです。4行目から17行目が“&”で連結されたOSのコマンドです。5行目から11行目まででsetuply.sysというファイルにFTPコマンドを追加してコマンドファイルを作成しています。12行目でFTPコマンドファイルを引数に指定して、FTP接続を実行します。
FTPサーバからはnb.exeと730.exeの2つのファイルを取得しています。それぞれファイル名をnb.exeからsetuply.exeへ、730.exeからtcpser10.exeに変更し、保存しています。そのあとsetuply.exeとtcpser10.exeを実行し、実行したファイルを消去しています。
実行されたプログラムはボットとして動作しており、攻撃者はこのボットを経由してデータベースサーバを自由に操作します。そのあと、このデータベースサーバは別のIPアドレスから次々とログインされ、ボットを埋め込まれてしまいました。
MySQLへの攻撃
次にMySQLへの攻撃を説明します。MySQLもSQL Serverと同様に脆弱なパスワードを用いて突破し、さまざまなコマンドを実行していきました。実行されたコマンドは以下のようなものです。
ここから、以下のような手順で攻撃が行われているのが分かります。
- ログイン後、変数などの設定を行い、特定テーブルの初期化を行う
- concatを使い、不正なプログラムをテキスト形式で送り込む
- 送り込んだテキストファイルを実行ファイルに変換
- VBスクリプトを作成し、外部のサーバのk.exeを取得し、実行
- 後始末
SQL Serverへの攻撃と同様に、SQLコマンドとOSコマンドを組み合わせながら、外部のサーバに置かれている実行ファイルを取得しています。外部のファイルを取得する方法として、SQL Serverへの攻撃の際にはFTPを利用していましたが、今回はVBスクリプトからHTTP経由で取得しています。これは攻撃者の好みの問題だと思いますが、データベースサーバから不審な通信が発生していることには違いありません。
MySQLへの攻撃で特徴的なことは、Windowsのバイナリファイル(k.exe)を取得していることです。実はこのデータベースサーバはLinux上でMySQLが稼働しており、Windowsのバイナリファイル(k.exe)を実行することができません。攻撃者はデータベースが稼働しているOSを確認することなく、バイナリファイルを実行しました。このファイルの実行が失敗に終わると攻撃者はそのまま接続を切っていました。
Windows上でMySQLが稼働しているサーバはWindowsのバイナリファイル(k.exe)を実行されて、ボットとして動作してしまいました。そのあとも何度もMySQLには侵入されたのですが、侵入先のOSによらず、毎回Windowsのバイナリファイルの実行を試みています。
Oracle、PostgreSQLへの攻撃
Oracleへの攻撃はSQL ServerやMySQLに比較すると非常に少なく、データベースへ接続が行われたのですが、パスワード認証を突破するまでには至りませんでした。攻撃者の辞書ファイルが未熟なのでしょうか。ここでは面白いデータを得ることはできませんでした。
なお、Oracleへ攻撃するツールを確認していますが、攻撃数が少ないのはOracleが攻撃者にとっておいしい市場ではないのかもしれません。
また、PostgreSQLはデータベースへの接続すらなく、攻撃の対象外と認識されているようです。PostgreSQLが使われている確率が低いのか、PostgreSQLユーザーの意識が高いと思われているのかは不明ですが、PostgreSQL用の攻撃ツールを誰も作っていないというのが本命ではないかと思っています。
今回はデータベースの管理用ポートに対する攻撃を取り上げました。このような攻撃はデータベースへ接続できるIPアドレスが制限されてさえいれば、まったく心配する必要はありません。しかし「普通ありえないよね」という攻撃がJSOCで観測されていることも事実ですので、念のためデータベースのアクセス制御について確認ください。
普通と違うといえば、先日「普通とは違う」ことを目指した友人の結婚式に参加しました。「席次表とメニューはテーブルのデジタルフォトフレームで」「新郎のプレゼンテーションから開始」「最後に参加者全員がメインテーブルで記念撮影」という、いままで見たことも聞いたこともない結婚式でした。それが新郎新婦の狙いだったようで、とても新鮮で楽しい結婚式でした。
私の誕生日でもある情報セキュリティの日(2月2日)に入籍した新郎新婦を祝うために、今日も飲みに行くのでした。
Profile
川口 洋(かわぐち ひろし)
株式会社ラック
JSOCチーフエバンジェリスト兼セキュリティアナリスト
CISSP
ラック入社後、IDSやファイアウォールなどの運用・管理業務をへて、セキュリティアナリストとして、JSOC監視サービスに従事し、日々セキュリティインシデントに対応。
アナリストリーダとして、セキュリティイベントの分析とともに、IDS/IPSに適用するJSOCオリジナルシグネチャ(JSIG)の作成、チューニングを実施し、監視サービスの技術面のコントロールを行う。
現在、JSOCチーフエバンジェリスト兼セキュリティアナリストとして、JSOC全体の技術面をコントロールし、監視報告会、セミナー講師など対外的な活動も行う。また、YouTubeのlaccotvにて、「川口洋のつぶやき」に出演中。
- 「DNS通信」記録していますか?――万一に備えたDNSクエリログの保存方法
- Web広告からのマルウエア感染「Malvertising」にどう対処すべきか
- 中の人が振り返る「Hardening 10 ValueChain」――学びにつながった「トラブルの数々」とは
- 無慈悲な専門家チーム「kuromame6」の暗躍に負けず勝利をつかんだチームは?
- 外部リソースの活用もポイントに、「Hardening 10 MarketPlace」開催
- Hardening Projectから派生した「MINI Hardening Project」に行ってみた!
- 「これさえしておけば助かったのに……」を避けるため、今すぐ確認すべき7項目
- アップデート機能を悪用した攻撃に対抗セヨ!
- 工夫、工夫そして工夫――Hardening 10 APAC“運営”レポート
- ウイルスとは言い切れない“悪意のあるソフトウェア”
- 2013年のセキュリティインシデントを振り返る
- ここが変だよ、そのWeb改ざん対応
- きっかけは不正侵入――私がセキュリティ業界に足を踏み入れたワケ
- CMSが狙われる3つの理由
- FacebookやApple、MSまで……Javaの脆弱性を狙う攻撃の手口
- Hardening One、8時間に渡る戦いの結果は?
- そのときStarBEDが動いた――「Hardening One」の夜明け前
- ロシアでわしも考えた
- 実録、「Hardening Zero」の舞台裏
- ちょっと変わったSQLインジェクション
- 官民連携の情報共有を真面目に考える
- アプリケーションサーバの脆弱性にご注意を
- IPv6、6つの悩み事
- スパムが吹けば薬局がもうかる
- JSOCに飛び込んできた不審なメール――これが標的型攻撃の実態だ
- 東日本大震災、そのときJSOCは
- ペニーオークションのセキュリティを斬る
- 2010年、5つの思い出――Gumblarからキャンプまで
- 9・18事件にみる7つの誤解
- 曇りのち晴れとなるか? クラウド環境のセキュリティ
- Webを見るだけで――ここまできたiPhoneの脅威
- 不安が残る、アドビの「脆弱性直しました」
- ともだち373人できるかな――インターネットメッセンジャーセキュリティ定点観測
- 実録・4大データベースへの直接攻撃
- Gumblar、いま注目すべきは名前ではなく“事象”
- Gumblarがあぶり出す 「空虚なセキュリティ対策」
- 新春早々の「Gumblar一問一答」
- 実はBlasterやNetsky並み?静かにはびこる“Gumblar”
- ECサイトソフトウェアはなぜ更新されないのか
- 狙われるphpMyAdmin、攻撃のきっかけは?
- 学生の未来に期待する夏
- 米韓へのDoS攻撃に見る、検知と防御の考え方
- 分かっちゃいるけど難しい、アカウント情報盗用ボット対策
- 狙われる甘〜いTomcat
- 表裏一体、あっちのリアルとこっちのサイバー
- 世間の認識と脅威レベルのギャップ――XSSは本当に危ないか?
- 急増したSQLインジェクション、McColo遮断の影響は
- ○×表の真実:「検知できる」ってどういうこと?
- ところで、パッケージアプリのセキュリティは?
- レッツ、登壇――アウトプットのひとつのかたち
Copyright © ITmedia, Inc. All Rights Reserved.