この度Maltego社から許可をいただき、Maltegoブログを弊社サイトにも掲載させていただくことになりました。
今日の急速に進化する脅威の状況では、組織が定期的にアタックサーフェス(攻撃対象領域)を評価し、潜在的な脆弱性や弱点を特定することが重要です。これにより、組織のセキュリティ体制をよりよく理解し、重要な資産を保護するための事前対策を講じることができます。
この記事では、Maltegoを使用して、無料データソースのみを利用してアタックサーフェス・アセスメントを行う方法について検討し、実践的なガイドを提供します。
アタックサーフェス・アセスメント(Attack Surface Assessment)とは?
アタックサーフェス・アセスメントとは、攻撃者が組織のネットワークやシステムに不正アクセスするために使用できるさまざまなエントリーポイントを特定することです。これらのエントリーポイントには、公開されているウェブサイトやソーシャルメディアプロファイルから、ネットワーク・デバイスやクラウドベースのサービスまで、すべてが含まれます。
適切な対策と適切なツールスタックを備えることで、組織は事前に脆弱性を軽減し、不正アクセスを防止することができます。
Maltegoを使用したアタックサーフェス・アセスメント(Attack Surface Assessment)
Maltegoは、世界中のセキュリティおよび脅威インテリジェンスチームによって、アタックサーフェス・アセスメントを含むさまざまなサイバーセキュリティタスクに広く使用されています。
- ステップ1:評価範囲の定義
- ステップ2:潜在的なデータソースの特定
- ステップ3:調査
- ステップ4:情報の分析
- ステップ5:改善計画の策定
それぞれについて詳しく説明していきます。
評価範囲の定義
アタックサーフェス・アセスメントの最初のステップは、その範囲を定義することです。これには、対象システムまたはネットワークの特定と目的の決定が含まれます。たとえば、私たちの目的は、組織に関連するすべてのパブリックにアクセス可能なドメインとIPアドレスを特定することかもしれません。
このデモでは、大規模な国際組織のオンプレミス・インフラストラクチャを調査します。セキュリティ上の脆弱性(安全でないオープンポート、レガシーシステム、公開されたセキュリティソリューション、パッチが適用されていないソフトウェアなど)を含む、潜在的なセキュリティ上の脆弱性を特定することを目的とします。
免責事項:この記事に含まれる情報や技術は教育目的で提供されるものであり、アタックサーフェス・アセスメント・プロセスに関する洞察を提供することを目的としています。したがって、対象組織のセキュリティを保護するために、識別可能なエンティティをぼかします。
潜在的なデータソースの特定
評価の範囲を定義したら、次のステップは、ターゲットに関する情報を収集するために使用できる潜在的なデータソースを特定することです。
アタックサーフェス・アセスメント用にMaltegoを設定するには、Maltegoクライアントのスタートページで利用可能なフィルターを使用して、適切で関連性のあるデータソースを選択する必要があります。
このデモの評価では、無料のデータソースのみを使用します:
調査
関連するすべてのTransformsをインストールしたら、ターゲットシステムまたはネットワークに関する情報を収集できます。これには、組織に関連するドメイン名、使用中のIPアドレス、オープンポート、ソフトウェアバージョン、および潜在的な脆弱性を特定するのに役立つ可能性のあるその他の公開データが含まれます。
デモを開始する前に、Maltegoで最もクールな機能の1つであるMaltego Machinesを見てみましょう。これらは、さまざまな種類の調査の自動化されたプレイブックのような機能を果たします。ここでは、デフォルトのMachinesの1つを使用して評価を開始します。
やるべきことは次のとおりです。
- .新しいグラフにターゲット組織のドメインエンティティ(Domain Entity)を追加します。
- エンティティ(Entity)を右クリックしてTransformsメニューを取得します。
- 下部に移動してMachinesサブメニューを開きます。
- Network Footprint L1 Machineをクリックします。
1分以内に、ターゲットドメインに関連する資産とレコードの包括的な画像を取得し、Webサイト、DNSレコード、IPアドレス、AS番号、電子メールアドレスなど、750以上のエンティティが含まれます。
クラウドサービスの導入がますます増えていることを考慮すると、Microsoft、Google、Salesforceなどの複数のサービス・プロバイダーを含め、オンプレミスの自然境界をはるかに超えて組織のデジタル境界が拡大していることに驚きはありません。調査の対象はオンプレミス資産のみなので、グラフ内でそれらを特定する必要があります。
この場合、ターゲットの名前を持つCompany Entity があります。
関連するエンティティ(Entities)のみを新しいグラフに移動してみましょう。そのために、Company Entityを選択して、選択範囲に初期ドメインが含まれるようにAdd Parentsボタンをクリックします。グラフ上の任意の場所で右クリックし、左下隅にあるCopy To New Graphボタンを選択します。
これを行った後、組織が使用するベンダーが所有するインフラストラクチャを含めずに、ターゲットのアタックサーフェスをマッピングすることに焦点を当てます。
上記の画像では、development (dev)やpre-production(preprod)インスタンスなど、ターゲットが使用する興味深いサブドメイン名がいくつかあります。これらをJuicy インスタンスと呼ぶことにします。
最初のDomain Entity(ドメインエンティティ)でTo DNS Name(interesting)[SecurityTrails] Transformを実行して、追加のJuicyインスタンスを見つけてみましょう。
結果のリストには、追加のテストやメール関連のインスタンスがいくつか表示されます。新しいEntities(エンティティ)に関連するIPアドレスを解決して、これらが稼働しているかどうかを確認できます。
そのために、新しいEntities(エンティティ)を選択してTo IP Address [DNS] Transformを実行します。対応するIPアドレスを返すインスタンスは、潜在的に稼働中であると考えられます。
IPアドレス関連なので、オンラインホストに関連する脆弱性を見つけるためにShodanを使用することができます。すべてのIPアドレスを選択してTo Vulnerabilities [Shodan] Transformを実行して、いくつか見つけてみましょう。
critical 6-year-old vulnerability(致命的な6年前の脆弱性)だけでなく、いくつかの興味深いサブドメイン、プロダクション・セキュリティ・インスタンス、および可能性のあるMobile Device Management (MDM/モバイルデバイス管理)テストサーバーも特定しました。これらについては、「情報の分析」のセクションで説明します。
Netblocks を使って、Shodan の助けを借りて脆弱な資産を見つけることもできます。現在のNetblockエンティティが組織に属していることは確かなので、これらに対してTo Vulnerable IP Addresses [Shodan] Transformを実行し、関連する一般的な脆弱性とエクスポージャを抽出するために前回のTransformを再実行してみましょう。
これにより、脆弱性のリストは少なくとも12の重大なものを含む93に拡大しました。言い換えると、threat actors(脅威アクター)は93の固有の攻撃ベクトルを悪用して、この組織のネットワークを侵害することができます。
IPアドレスについては、安全でないオープンポートや古いソフトウェアバージョンを特定することにも使用できるため、完全には終了していません。
To Ports [Shodan Internet DB] および To Ports [OTX] Transforms を使用して、オープンポートを検索しましょう。Maltego は257個の固有のPort Entitiesを返しました。
分かりやすくするために、デフォルトで安全ではなく、インターネットに公開すべきでないポートをいくつか特定してブックマークしました。
次に、IPアドレスに関連付けられたサービスを取得します。Service Entities内の情報は、脆弱である可能性があるまたはサポートライフサイクルを超えた古いソフトウェアバージョンを見つけるのに役立ちます。再び IP address Entities(IPアドレス・エンティティ)を選択し、To Services [Censys] および To Services [Shodan] Transforms を実行します。
Transformsが実行されたら、Findオプションを使用して特定のソフトウェアバージョンを検索できます。
たとえば、10年以上前にリリースされたApache 2.4がどのサーバーで実行されているか確認したい場合を見てみましょう。
Bingo! 上記の画像でわかるように、service Entity(サービスエンティティ)には、ソフトウェアバージョン、関連する一般的な脆弱性と露出、さらにはこれが最後に確認された時のタイムスタンプを含む情報までが含まれています。
これまでに、複数のJuicyインスタンス、公開されたセキュリティソリューション、安全でないオープンポート、12の重要な脆弱性、およびライブインスタンスで実行されている古いソフトウェアバージョンを見つけました。次の段階に進む時期です。
情報の分析
Maltegoを使用して情報を収集した後、データを分析し、潜在的な脆弱性や弱点を特定します。
前の段階で特定されたいくつかのセキュリティ上の問題について説明し、それらが所属する組織にとってなぜリスクと見なされるかについて説明しましょう。
重要な脆弱性
これらの脆弱性は悪用の可能性を高め、業務に影響を与え、コンプライアンス違反につながる可能性があり、社会的評価を損なう可能性があります。企業は、これらのリスクを最小限に抑え、安全で信頼性の高いデジタル環境を維持するために、重要な脆弱性を特定して対処することを優先すべきです。
安全でないオープンポート
調査段階で、次のようなポートが見つかりました。
- Port 143:このポートは、電子メールの取得に使用されるInternet Messaging Access Protocol(IMAP)トラフィックに使用されます。
- Port 445:このポートは一般的にSMB(Server Message Block)トラフィックに使用され、コンピュータ間でファイル共有やプリンター共有に使用されます。
- Port 389:このポートはLDAP(Lightweight Directory Access Protocol)トラフィックに使用され、認証およびディレクトリサービスに使用されます。
- Port 139:このポートもSMBトラフィックに使用されますが、より攻撃に対して脆弱なプロトコルの古いバージョンを使用しています。
- Port 21:このポートはFTP(File Transfer Protocol)未暗号化トラフィックに使用され、コンピュータ間でファイルを転送するために使用されます。
これらのポートをインターネットに公開すると、攻撃者がシステム上で機密情報にアクセスしたり、リモートコードを実行したりすることができます。一般に、セキュリティ・リスクを防止するために、これらのポートの外部への露出を制限することが推奨されます。
古いソフトウェア
既知のセキュリティの脆弱性を含んでいる可能性があり、攻撃者はこれを悪用して不正アクセスを行ったり、データを盗んだり、その他の損害を引き起こしたりすることができます。また、ベンダーがソフトウェアをサポートしなくなった場合、現在または将来の脆弱性に対処するための新しいセキュリティパッチやバグ修正がリリースされないことを意味します。
Juicy インスタンス
テスト(Test)サーバーやステージングサーバー、先に述べたdevelopment(dev)サーバーやPre-Production(pre-prod)サーバーを含むこの種のインスタンスは、通常、本番環境に移行する前にセキュリティパッチ、ソフトウェアアップグレード、または社内アプリケーションの新しいバージョンをテストするために作成される短期間のインスタンスです。これらのサーバーは通常、本番環境よりも低いセキュリティレベルになっており、ハッカーの格好のターゲットとなります。
露出したセキュリティ・ソリューション
調査の中で、ArcSightやMobile Device Managementテストサーバーなどの公開されたセキュリティソリューションも見つかりました。これらのシステムは通常、所属する組織に関する機密情報を含んでおり、システム内の脆弱性を悪用したりデータを盗んだりする攻撃者のターゲットになる可能性があります。
改善計画の策定
最後に、アタックサーフェス・アセスメントの結果を使用して、改善計画を策定できます。これには、セキュリティパッチの実装、安全でないポートの閉鎖、テストインスタンスの廃止方法を定義する変更要求(Request for Change:RFC)の確立、および組織の攻撃面を減らすためのその他の措置が含まれる場合があります。
アタックサーフェス・アセスメントの迅速化
Maltegoは、セキュリティチームが組織のネットワークや資産の潜在的な脆弱性や弱点を特定するのに役立ちます。この記事の手順に従って、Maltegoの機能を効果的に活用し、無料のデータリソースだけを使用して、数分で包括的なアタックサーフェス・アセスメントを実施することができます。
この記事は、アタックサーフェス・アセスメントのためのMaltego の使用方法に関する2部構成のうちの第1部です。次回は、独自のカスタムMachineを作成して、この記事で詳細に説明した技術のほとんどを自動化する方法について学びます。
作者紹介
Mario Rojasは、Maltego社の元サイバーセキュリティおよび脅威インテリジェンス・サブジェクト・エキスパートで、サイバーセキュリティ分野で14年以上の経験があります。オープンソースインテリジェンス(OSINT)の専門知識により、IPアドレスやドメイン名からソーシャルメディアプロファイルやダークウェブフォーラムに至るまで、エンティティ間の複雑な関係やつながりを効果的にマッピングし可視化することができます。