最近は標的型攻撃の話題で持ち切りですが、もし自分が自分に標的型攻撃を行うならどうするか?紹介します。
前提となる知識
標的型攻撃を行うにはまず相手を知る必要があります。相手を知れば攻撃のポイントが見えてきます。私の場合、
- Google/Facebook/Twitter/GitHubなどを使っている
- 自分で設置したWordpressブログを持っている
- 自分で設置したDokuwikiのWikiを持っている
- メールアドレスはyohgaki@ohgaki.net
- Linux/OSX/Windowsの何れかを使っており、Linuxを常用している可能性が高い
などが簡単にわかります。検索、ブログ、SNSなどから一目瞭然です。
攻撃が簡単な部分
収集した情報から攻撃が最も容易だと思われるのはWordpressのブログ(このブログ)です。よくある標的型攻撃の実行ファイルや細工した文書ファイルなど用いた攻撃は失敗する可能性が高く、失敗した場合は相手に気づかれてしまいます。
WordPressのプラグインには多数の脆弱性が発見されており、これを利用するのが最も手っ取り早いです。そしてブログを見るだけで
- ログインには2要素認証(Google認証)が利用さている
- AdSense広告が張り付けてあるので、AdSense系のプラグインがインストールされている可能性が高い
- Google Analytics系のプラグインがインストールされている可能性が高い
- 私のプロファイルからはセキュリティ系のプラグインがインストールされている可能性が高い
といったことが簡単にわかります。
これで攻撃の準備ができました。
攻撃のターゲット
WordPressをターゲットにした攻撃を行うことにするでしょう。ログインには2要素認証が使われているのでパスワードの総当たり攻撃は無駄です。2要素認証を使っていなくても簡単に推測できるパスワードを使っているとは思えません。2要素認証が無くても、パスワードの総当たり攻撃は選択しないでしょう。
狙うならプラグインの脆弱性です。
- AdSense
- Google Analytics
- セキュリティ
これら関連のプラグイン脆弱性が確立が高いターゲットです。
プラグイン脆弱性情報の収集
後は攻撃に利用できる脆弱性を待つだけです。自分で探すのは非効率です。待っていれば攻撃に利用できそうな脆弱性情報が公開されます。
「Google Analytics」との連携を実現する「WordPress」向けプラグイン「Google Analyticator」に脆弱性が含まれていたことがわかった。アップデートが公開されている。
「同6.4.9.4」および以前のバージョンに、クロスサイトスクリプティング(XSS)の脆弱性「CVE-2015-6238」が含まれていることが判明したもの。開発者は、脆弱性を修正した「同6.4.9.6」を公開した。
脆弱性を報告したNetsparkerによれば、脆弱性を悪用することにより、ログインしたユーザーのセッションをハイジャックすることが可能で、設定の変更などが行われるおそれがあるという。
(Security NEXT – 2015/08/25 )
http://www.security-next.com/061870
外部から使っているプラグインは判ります。この脆弱性は使えそうです。
攻撃の実行
脆弱性を利用した罠サイトを用意し、メールやSNSを通じて罠サイトのURLを送付します。
私が罠サイトのURLをクリックすれば、私のブログのセッションIDを盗める可能性があります。後はクリックを待つだけです。セッションIDを盗めればほぼ攻撃は成功したも同然です。
メールやSNSに送るメッセージは「激安ルイビトン!」のようなメッセージではなく、どうしてもURLをクリックしなければならないような内容にします。例えば、
はじめまして。○○と申します。
以下のサイトのセキュリティ検査を検討しています。
http://evil.example.com/
ご相談させて頂くことは可能でしょうか?
などとします。
更なる攻撃の実行
セッションIDを盗めばブログの管理ページにアクセスできます。クロスサイトスクリプティングではたいした攻撃はできませんが、セッションIDさえ奪ってしまえばWordpressプラグインの中にはコマンド実行ができるものも多くあります。
わざわざ脆弱なプラグインをインストールしなくても、Wordpress自体からPHPスクリプトを編集できるかも知れません。この場合、直接バックドアなどを入れることができます。
プログラムやコマンドでサーバーを自在に操れれば、カーネル脆弱性を利用した権限昇格などでサーバーを完全に乗っ取ることも簡単です。
このような攻撃にどう対策するか?
ここで紹介した攻撃シナリオは実際にあり得る攻撃シナリオです。クロスサイトスクリプティング脆弱性は数えきれないほど見つかっています。こういった脆弱性がない、という前提の利用方法は危険です。
- 開発者/管理者/ユーザーが安全にWebシステムを利用する方法 – ブラウザを使い分ける
- IDSを利用する – OSSEC HIDSやSnort
- 脆弱性はできる限り早く修正する
私はブラウザのプロファイルを使い分けています。メールとブログを管理するプロファイルは同じなので、もしメールに記載された攻撃用URLをクリックするとブログのセッションを盗まれる可能性があります。メールやSNSなどのURLは必ずシークレットモードでクリックするようにしています。これは信頼できるユーザーからでも同じです。アカウントの乗っ取りは犯罪者が攻撃によく利用している方法です。信頼できるユーザーからといって、無条件に信頼するわけには行きません。
ブラウザ/プロファイルの使い分けはとても重要です。
万が一攻撃に成功しても、ファイル改ざんは直ぐに検出されます。Kernel権限昇格でrootを取られても攻撃者が不信なネットワークパケットを送信しても直ぐに検出されます。ネットワーク構成を知ろうと内部ネットワークをスキャンなどをすると、寝ていても気づくレベルの警告になります。もっとも用心深い攻撃者ならネットワークのスキャンなどせず、辛抱強く受動的に情報収集して攻撃すると思いますが。
こういった方法で攻撃されたらマズい!という方は少なくないのではないでしょうか?重要なのでもう一度
ブラウザ/プロファイルの使い分けはとても重要です。
参考:開発者/管理者/ユーザーが安全にWebシステムを利用する方法