ペネトレーションテスト「OSINTとは」前篇
〜イエラエセキュリティ 脅威動向レポート 第6回 ペネトレーションテスト「OSINTとは」〜
セキュリティの専門家が攻撃者と同じ視点でシステムに侵入し、機密情報、個人情報などの情報資産の奪取を試みる「ペネトレーションテスト」。脆弱性診断が網羅的にシステムの脆弱性を評価するのに対し、ペネトレーションテストは機密情報、個人情報などの情報資産に対する脅威への対策状況を評価します。
ホワイトハッカーで構成されたセキュリティ脆弱性診断企業、株式会社イエラエセキュリティによる「イエラエセキュリティ 脅威動向レポート」の第6回目は、イエラエセキュリティ 高度解析課 三村聡志氏と、イエラエセキュリティ ペネトレーションテスト課で実際にさまざまなペネトレーションテストに携わり、また「ペネトレーションテストの教科書」の著者でもある川田柾浩が「OSINT」について解説します。
※この記事は、2021年8月20日に公開されたYouTube動画を元に記事化しています。
OSINTとは?
三村聡志(以下、三村):川田さんは本も出されていて、私も最近読みましたが、「OSINT」(オシント:Open Source Intelligence、公開されている情報をもとに、情報分析を行う手法)にかなりページが割かれていました。OSINTについては、世の中に怪しげな情報も出回っていますが、実際のペネトレーションテストでのOSINTについて教えてください。
ドメイン、メールアドレス、SaaS
川田柾浩(以下、川田):最も一般的なところからご説明すると、まず一番最初に行うことは、お客様が管理されているドメインやネットワークを明らかにすることです。 お客様が管理されているドメインは、ペネトレーションテストを行う際にはエントリーポイントとなり得ますので、まずそこを洗い出します。また今後、ペネトレーションテストで攻撃していくうえで、お客様の管理下にないものを攻撃してしまうと契約上の問題にもなりますので、まず一番最初にお客様の管理下にあるアセットを洗い出します。
次にメールアドレスや、それに付随するパスワードを収集していきます。これらは、SaaS(サーズ:Software as a Service)にログインするために収集します。パスワードが付随していなくても、メールアドレスはペネトレーションテストでのフィッシングの対象となります。
お客様の管理下にあるドメインはサブドメインも含めて洗い出して、ポートスキャンやWebのスクリーンショットを集めます。こうした調査によって、サーバー上でどういったサービスが動いているか、古いソフトウェアが残っていないか、さらにはSSL-VPNのような、お客様にとって重要性の高いソフトウェアを見つけることもできます。
あとはお客様によりますが、どういったSaaSが導入されているかを調査することもあります。例えば、Microsoft 365であれば、365を使っているかどうかは、APIを使って調査できます。あとはMXレコードに、Googleのメールサーバーが指定されていれば、Gスイートが導入されている可能性が高くなります。
ツールだけではなく、手動でも調査
メールアドレスを収集する際に、対象となるドメインが新しい場合は、認証情報やメールアドレスが漏えい情報としてはまったく収集できないことがあります。そうした時は手動で情報を探っていく必要があり、Microsoft 365であればログインページから任意のメールアドレスが存在するかどうかが調査できますので、コーポレートサイトから役員の氏名を収集して、メールアドレスの命名規則を推測しながらメールアドレスをチェックしていきます。
メールアドレスの命名規則が特定できれば、その次はLinkedIn(リンクトイン)やフェイスブック(facebook)から社員の氏名を集めれば、そこから命名規則に則ってメールアドレスを集めることができます。
これは実際にあったケースですが、調査対象の会社が保有していたネットワーク機器のIPアドレスをGoogleで検索すると、ある社員が技術系フォーラムにアップした質問が見つかり、IPsec-VPNの設定情報が一気に取れてしまったケースがありました。暗号化されたパスワードなどが含まれていて、その時はたまたま復元可能な形式だったので、IPsec-VPNの事前共有鍵が外部から取れてしまったわけです。
漏えい情報の精査、GitHubのレポジトリ
少し前にSSL-VPNの脆弱性が話題になりました。その際、攻撃者が入手した認証情報をハッカーフォーラムにアップしたケースがあり、漏洩した認証情報の中にお客様のSSL-VPNに関する情報などが含まれていないかを調査したこともあります。
また今はSNSが当たり前になっており、SNSにGitHubのリンクを設定している人もいます。GitHubのレポジトリを確認して、業務に関わる機密情報が含まれていないかを調査することもあります。
また、SNSのIDなどから、Gメールアドレスが推測できれば、そこから氏名の情報を取ることができます。社員が使っているGメールから認証情報などが漏洩していないかを確認することもあります。
多岐にわたるOSINT
三村:いろいろと濃密な話になりました。少し整理すると、SaaSをバックエンドで使っている場合は、どういったサービスを使っているかを探り、ドメインに「ms=」などと入っていたらOffice 365の可能性が高いとか、メールアドレス関連では、CNAMEにGoogleが指定してあれば、Gスイーツを使っているだろうというふうに情報を探っていく。
さらには、VPNの情報を漏洩情報と関連づけて検索したり、サービスの脆弱性を調査したり、さらにはGメールから氏名情報が取れるという話もありました。
川田:ペネトレーションテストでは、OSINTは非常に重要な段階です。いかに有益な情報を取ってこれるかがその後のテストを大きく左右します。
三村:OSINTの段階でメールアドレスに加えて、誰が一番高い権限を持っていそうか、ある程度、推測もできます。
川田:フェイスブックなどに役職が書いてあれば、非常にわかりやすくて、特にシステム部門の部長、課長のSNSは重要な情報のひとつになります。
三村:ツイッターなどに、所属とか役職を投稿しているものですか?
川田:ツイッターよりも、フェイスブックやリンクトインのプロフィール欄です。社内でのポジションなどはプロフィール欄から取得するケースが多くなっています。
三村:フェイスブックには、あまりオープンにいろいろな情報を書かない方がいいですね。
川田:もちろんそうした情報のみでは、直接侵入に関わるような情報ではないですが、攻撃者が見ている情報ではあります。
情報奪取のテクニック
三村:もうひとつお聞きしたいのですが、ドメイン上の設定から、Microsoftのサービスを使っているとか、Googleを使っているなどがわかるとして、次にそれらのサービスから情報を奪取してくるような方法やテクニックは、どのようにして研究していますか。
川田:例えばMicrosoft 365であれば、研究がかなり進んでいます。指定したメールアドレスでログイン可能かが確認できるAPIが存在します。自分で検証したものでは、OutlookのActivesyncというAPIがあって、このAPIを使うと、メールアドレスとパスワードの組み合わせがMicrosoft 365へのログインに使われたかどうかがステータスコードからわかります。
しかし、Activesyincの仕様が特殊で、特にユーザーが存在しない場合は、レスポンスコードは403になるのですが、403は「認証情報は正しいけれど、ニ要素認証が導入されています」という際のレスポンスコードと今は同一になってしまっています。
なので、ここに関してはGitHubにあるような古いツールをそのまま使っても、認証情報が合っているのかは確かめられない状況になっています。そうしたことは自分で検証して気づいた点ですので、メールアドレスがMicrosoft 365のログインに使えるかどうかを検証できるAPIと組み合わせることで、認証情報が確認できるツールを自分で作ったりもしています。
SaaS以外のところでも、APIについては、具体的な案件がない時に、APIのドキュメントを読んで、どういった情報を外部から取ることができるのかを研究しています。
三村:面白そうなことをされていますね。それと今話を聞いていてビックリしたのですが、
Activesyncはまだ使えるのですね。
川田:年内に廃止されるという話もあるので、さきほどの認証情報の確認方法は使えなくなるのですが、現状としては有効な手段として活用しています。
三村:古いAPIが残っていると、穴になる可能性があるという一例にもなります。収集用のAPIを調査・研究しているなかで、今、注目しているものはありますか。
川田:お客様が管理されているドメインの調査も行っていますが、ドメインについては情報収集を行っているオンラインツールが数多く存在するので、情報収集元がかなり豊富な状態です。一方、ネットワークに関しては、ASについては比較的情報収集が可能なのですが、IPアドレスに関するWHOISのreverse lookupというか、企業名から企業が管理しているIPアドレスをWHOISから取ることは、現状ではかなり難しくなっているので、いいAPIがないか、探しているところです。
OSINTはイエラエへ
OSINTは、公開された情報を分析し、システムへの侵入が可能かどうかを検証します。調査結果を利用した侵入、情報奪取の試行も可能です。イライエのペネトレーションテストはお客様の想定脅威を確認し、OSINTをはじめ、標的型攻撃(疑似マルウェア型)、Webペネトレーションテスト、物理環境、調査特化型など、最適なプランをご提案します。