コンテンツまでスキップ

【Okta】Oktaにフィッシング攻撃仕掛けてみた

はじめに


こんにちは、 ネクストモード株式会社hagiです。最近ハマっている楽器はオカリナです。

Oktaneが、そろそろ始まりますね。

私は、去年のOktane2023(サンフランシスコ)出張の入国審査で、「Business!for Businessssss!」「E?」「One more!」「What?」などのワードを織り交ぜてアイスブレイクをしていたら体感5秒でパスポートをガチャっとロックされて逆優先ルートへ回された(メンバーを待たせてしまった意味で)トラウマがあるのですが、今年の会場

Las Vegas

は聞く所によると治安は良いそうなので、今度はアイスブレイク短めでいきたいと思います!

 

はじめに


自社にタイミング良く、運良く、SaaS製品を導入できたとして、情シス同志の方ならよくお分かりな話だと思いますが、SaaSは入れたら終わりではなくて、入れてからが本番です。(何度も言ってる気がする)

せっかく世界屈指のSaaS製品を導入できたのに、その後の立て付けを怠ってっしまって、

「あれ、あんまりパフォーマンス良くないよね」

と、大して関わっていない外野から圧強めに詰め寄られ、責任濃いめ未練少なめ移行稼働マシマシ、ふむふむ、

補佐トッピングサービス中ですか、それではと、自分で掘った穴を自分で埋めさせられる顛末には誰もなりたくない、と思いますよ。(妙にリアルだけどフィクションです)

 

急にAiTM(Adversary in The Middle)


ラーメンの話でしたっけ?いいえ、Oktaの話がしたかったのです。

Oktaは多様なMFA(多要素認証)に対応しています。

Okta社自らが提供しているファクターもありますよね。皆さんもうご存知ですか。そう、ソレです!

 

詳細を語って欲しいなーという時間と心の余裕をお持ちの方がもしいらっしゃれば、ぜひ公式ブログの初めてシリーズを読んでいただくと、テクノロジーの概要について多少入り込むことができると思います。

 

ちなみにここまで来てまだ本題じゃないのでマキでいきたいと思います。

さて、OktaのMFAを導入しました。安全になりました。めでたし。でしたでしょうか。利便性とセキュリティを両立させたかどうか、今一度、ご確認を。

安全の尺度は、多要素認証の組合せ方で変わってきます。

(ページから引用)

 

ここからフィッシング耐性とAiTMについて触れていきたいと思います。

AiTMの説明は生成AIの方がうまいと思いますが、あえてここに図(物理)を書き起こしました。

  • 攻撃者が悪意サイトに届いた通信を正規サイトへ受け流す悪意ツールを設置
  • 悪意ツールは正規SSL生成やドメイン登録を行って本物のサイトに似たフィッシングリンクを生成して待ち受ける
  • 1️⃣何らかの油断でフィッシングリンクを踏んでしまった被害者は、2️⃣そのまま悪意ツールを経由して正規サイトに到達し、認証画面へ
  • 中間者がいることを知らずにクレデンシャル入力、3️⃣MFA要求を突破しログイン成功(検証なしでスルー。ファクターによってはこの経路を通りすらしない)
  • 攻撃者は、悪意ツールにキャッシュされたクレデンシャル情報とCookieを搾取し、本人に成り代わりサービスにアクセス

誰ですか、このトゲの向きを変えられないダイヤグラムを作図ツールのテンプレートに採用してくれたのは!(お見苦しいデザインで大変申し訳ございません)

 

繰り返しになってしまいますが、ユーザーが正規のサイトにたどり着く中間点に割り入って、セッション情報を抜き取ることができれば、セッションが生きている限り、正面玄関から入って悪意操作ができてしまうかもしれないということです。

ただし、この攻撃を成立させるためには、ユーザーに対して本来とは別のURL(フィッシングリンク)を踏ませる必要があります。

 

「そんなオッチョコチョイじゃないわよ〜」と、

 

油断していて気付いてないかもしれませんが、皆さんは上部に設置した「ソレ」リンクを何も考えずに踏んだりはしていませんか?それは恐ろしいですね!

フィッシングに引っ掛り易い体質かもしれません。

とはいえ、実際Web記事内のリンクをクリックする度にいちいち宛先を確認していたらキリがないですもんね。

 

ちなみに先程のリンクには、余計なクエリストリング(URLの末尾)が仕込まれていることにも気付いていなかったりしますかね。あー怖いですね!!悪意のない公式サイトなのでWebフィルタでも止められず余計悔しいですね!!

 

という形で今回も伴走型でお送りしていきたいと思います。

(ラーメンがよぎって若干お腹すいてきました)

 

フィッシングサイト


今回攻撃側で用意させていただくのは巷に転がっているフリーツールなので、政府が支持するハッカー集団でなくとも用意ができます。(EvilPro◯y,◯uraena,◯vilGoPhishなどいくつもあるようです)

本来であれば公的なSSL証明書を取って、ドメインをそれっぽく似せてから攻撃に転用するのですが、そういった前準備を端折って使えるようなローカルモードも用意されています。今回の検証も多少強引に進めていましたので、足りない部分は皆さんの脳で補完ください。何がどう脅威なのかイメージすることが大事です。また間違えても所有していないリソースや本番リソースに仕掛けてはいけません。

早速AiTMを実演してみたいと思います。
言ってるそばからユーザーがフィッシングに引っかかろうとしていますよ!

 

どうやら正規サイトのように見えます(違うよ)ので、ユーザー名を入力して次へ
※ここで突然のTIPSですが、組織のOkta設定によりますが、メールアドレスの前半部分のみだけの入力でOktaはログインができます。(@より後ろは入力不要)

 

とりあえずパスワードを入力

ほうほう、この組織はパスワードと任意のMFAを要求するようです。(たくさんありますねー!)
とりあえず馴染みのあるGoogle Authenticatorをチョイスします。

Google Authenticator等に見られるこのMFAタイプは、TOTP(Time-based One-Time Password)と呼ばれ、表示されたQRコードをカメラで読ませてコロコロ変わりゆく6桁コードをユーザーに手入力させる、一般的に広く普及している方式です。M365のご利用にあたってMicrosoft Authenticatorを企業で導入している法人様もいらっしゃるかもしれません(Microsoft Authenticatorはプレビューでパスキーが使えるとかややこしいことは言わない)

 

入れてしまいました!

 

と、いう動線を想定していたのですが、実際はフェイクです。

いつからフェイクと気付きましたか?ネクストモードがOktaでパスワード運用をしているという懐かしいクダリの辺りからですか?

試してみたことはみたのですが、そのままの設定では抜けませんでした。
(サインインに戻ります リンクで正規URLにリダイレクトしてURLが浄化される)

少し調べたところ、Oktaの信頼済みオリジンにフィッシングサイトのURLを設定して意図的に弱くすることはできるようです(adminを取ってからログインを奪うのは順序が逆なので不毛)
その他、ツール側で出す時のAccess-Control-Allow-OriginとContent-Security-Policyにも小細工が必要みたいです。

設定なしの場合

設定ありの場合

ちなみにEntra IDも試してみたのですが、こちらもMFA要求時点でこうなりました。

と安心したいですが、Oktaのようなオリジン設定なしで悪意ツール側にはしっかりとアカウント名とパスワード(以前見ていた時はたしか入力ミスってバックスペースで消して入れ直してるログまで)取れています。(あとMFAを条件付きアクセス設定のポリシーを作成せずデフォルトのままにしていたらログイン成功まで行ってしまいました)
クレデンシャルは、もし他のサイトで使いまわしていると、これもまた別のフリーツールで幾多のソーシャルサービスに横断してログイン施行されてしまうかもしれません。
こうなってしまうと、某○天市場の第二パスワード方式なんかも脆弱だと思います。

 

フィッシング耐性


今回の検証は、事前にズルをしないと効力を得られないことが分かりました。(映画化を期待していた方には申し訳ありませんが、ID基盤は守られたのでハッピーエンド)
それでもめげずにがんばります。

先ほどお見せしたログインの動線は、所謂直近の通信相手の正当性を確認するロジックがサーバー側に実装されていない限り、中間者攻撃が成立し得ます。

TOTPの6桁コードは、広く流行ってはいますが、スマートフォン等から直接数字を読み取って本人にコードを入力させるため、攻撃側が番号を知り得なくてもログインセッションが盗難されてしまうリスキーなファクターであるということは、イメージいただけたでしょうか。

またその他のMFAを考えた場合、Eメール認証、SMS認証、中間者の存在を検証しないOkta Verify(Push)のような純正ツールも突破されてしまうリスクを孕んでいます。(Okta VerifyはOkta提供だからなんとなく通常のTOTPよりフィッシング耐性があるはずだと思っていたりしませんか)

 

このリスクに立ち向かうためのヒーローが、Okta FastPassや、パスキー、Yubikeyなど、フィッシング耐性のあるMFAたちです。

 

おうちにいるYubikeyやケンジントンたち(若干暇そう)

 

実地でなく読み応えが欲しい方向け参考リンク
https://www.okta.com/jp/blog/2024/01/first-time-with-okta-wic-what-is-phishing-resistance/
https://www.okta.com/jp/blog/2022/11/a-deep-dive-into-okta-fastpass/
https://www.okta.com/jp/blog/2022/10/the-need-for-phishing-resistant-multi-factor-authentication/

小ネタコーナー
・Entra IDのハードウェアキーは対応するしないがあるので買って後悔する前に確認をおすすめします
・パスキーはKeeperでも登録できます
・通常のTOTPはOkta Verifyにも登録できます
・写真のハードウェアキー左右は指紋デバイスがついていますが、Windows Helloとしては使えない(だから買う前にちゃんと確認して!)
・ちなみに検証してる間にもグローバルから変なアクセスがちょこちょこ来ていて、悪意サーバーのセキュリティ対策もしっかりしないといけないと思います(?)

 

おわりに


Oktaには、たった1ヶ月程度のPoCでは味わえないほどアイデンティティにまつわるセキュリティ強化施策が何層にも折り重なって用意されています(語彙力)
MFA一つ取っても、攻撃者の目線が入るとなかなか奥が深いです。イタチごっこです。
最強のSaaSを手に入れたのだから恒久的に安全に違いないと安直に考えず、セキュリティ強度と最新のベストプラクティス(とコストと、 <<< ユーザー利便性)を考慮しながら組織に最適なポリシーを再考して、継続的に強化していくことをオススメします!
また、よく存じませんが、Oktaの伴走支援ができる会社を1社知っているので、自社の社内セキュリティに頭を悩ませる予定があれば今すぐご連絡ください。
 
さて、話をOktaneに戻しまして、来週開かれるOktaneでは、組織や顧客のアイデンティティを守るための画期的な新機能、ロードマップ発表が今回も期待されますので、実際会場に足を運んで、組織のセキュリティをより強固にするためのベストプラクティスや最新情報を時間の許す限りキャッチアップしてきたいと思います!さいなら!