標的型攻撃メール
怖いですよね、標的型攻撃メール。
本当に標的にされたら引っかかっちゃいそうなメールがきっと届くのでしょう。
ただ、普通の会社員はホンモノの攻撃メールを受け取るよりも「標的型攻撃メール耐性訓練」として届く怪しげメールのほうが馴染みがあるかと思います。
そんな標的型攻撃メール耐性訓練メールをハックしたい (が、本当にやると怒られが発生するし、倫理的にNGなのでやらないのだけれど話題としては好きなので吐き出しておきたい) という記事が本記事です。
ハックする とは
- 一人の訓練対象者として自分以外の耐性訓練の結果に影響を与える。
これを目標にします。
なんでもありだと思考実験としても面白くないので、実現可能そうで 案件にならないように検討します。
善良なエンジニアとして、のお世話になってはいけません。
なので、脆弱性のあるインフラで動いているケースは配慮せず、その領域に対するアタックするようなアプローチは考えません。
計測サイトのサービスをダウンさせるとか、DNSポイゾニング的なことは考えない
標的型メール耐性訓練システム
だいたいこういう構造になると思います。
訓練の結果に影響を与えるにはこのプロセスに干渉する必要がありそうです。
そもそも論として、ブラウザで知らないページを開くだけなら私は危険ではないと考えていますが記事の目的には影響しないのでおいておきましょう。
システムに対する影響の与え方
先程の絵に現れた3つのプロセスそれぞれにどういうふうに影響を与えられるか考えてみます。
(1)メールの配信
メールの特徴を利用するフィルタ
訓練対象者に訓練メールを受信しない/させないというアプローチがあります。
当然ですが訓練メールは、訓練のために自組織から送られるものです。
そのため、組織が運用しているメールフィルターには引っかかりません。
なので、メール自体を拒否するのは原則困難です。
ただ、何度も訓練が実施されていてパターン化しているなら可能性はあります。
メールの内容は変わっていても、「配信方法、配信タイミング、メールの配送経路、ヘッダのパターン」など毎回同じ方法で配信している可能性はあるでしょう。
これを他の訓練者に啓蒙することで、訓練結果に影響を与えることはできそうです。
(2)メールのリンクを踏む
「リンクを踏む」に対するのアプローチですが、自分以外の他人について影響を与える手段を検討します。
自分が踏んで結果に影響があるのは当たり前なので。
ソーシャルエンジニアリング
この工程は人間の操作なので、ソーシャルエンジニアリング的な方法。
嘘情報(例えば、あのメールのリンク先重要なこと書いてあったよ。とか)を同僚に流すことで、訓練メールのリンク先を積極的に踏ませに行くというソーシャルなアプローチは考えつきます、が、普通に恨まれる。
ただし、は恐らく避けられるのでレギュレーション的にはセーフ
(3)ユニークなHTTPリクエスト
訓練対象者ごとにユニークなURLが届き、そのURLにアクセスしたことを計測されるモデルだとして、計測結果に影響を与える方法を検討します
アクセスを捏造する
他の訓練対象者のアクセスを捏造することができれば、目標は満たせるでしょう。
他の訓練者に送付されたユニークなキーを生成できるかどうかが鍵となりそうです。
こういったユニークなキーとして以下のようなものが使われていると思われます。。
- 類推不能なIDを付与する場合(UUID/乱数など)
- 類推不能なユニークキーに使っている場合は、手のうちようがない。
- 適当にユニークキーを生成してアクセスするのが関の山。
- 類推可能なIDを付与する場合(連番/社員IDなど)
- 他の訓練対象者に配布されたURLが推測できるので、かんたんに訓練の結果を蹂躙できる。
- 社員IDのような情報を元にユニークキーを作っていれば特定の訓練者を特定してアクセスすることも可能
- 計測用サイトに対してiframe等で類推したURLへアクセスを行うページを設置&流布することで結果に影響を与えることはできる。
- IPアドレスや事前に埋め込まれたクライアント証明書など変更が困難なもの
- 変更困難なキーを使われる場合はソーシャルエンジニアリング的な手法になり、アクセスを捏造するためにメールのリンクを踏ませる手段になるので (2)メールのリンクの手法と同じような作戦になりそう。
ユニークなキーがどのように生成されているかにかかっていますが、キーが類推可能だと耐性訓練の計測をパーにすることはできそう。
まとめ
こんな事ばかり考えて生きていますが、頭の体操としてセキュリティを考えている程度です。
メリークリスマス!