ドメインコントローラーとは
ドメインコントローラーは、セキュリティ認証要求に応答し、コンピューターネットワークのドメイン上のユーザーを検証するコンピューターサーバーの一種です。コントローラーは、ホストがドメインリソースにアクセスできるようにするゲートキーパーです。また、セキュリティポリシーの適用、ユーザーのアカウント情報の保存、ドメインのユーザー認証も行います。
このブログでは、攻撃者がドメインコントローラーに最初に足を踏み入れた後、水平移動の前に環境を発見して理解するために使用するアプローチについて説明します。これらの手法の多くは、最終的にはドメインコントローラーに侵入して攻撃を仕掛けるために、エンドポイントやサーバーという「土地を離れて存在」します。次回の記事では、攻撃者が横方向に動く方法をいくつか検討し、最後に、攻撃を防ぐための緩和策を探ります。 横方向の動き。
攻撃者は侵入方法を見つけます。
いったん侵入されたら、攻撃を組織するためにドメインコントローラにたどり着くには、横方向に移動する必要があります。攻撃者がアクセスできるようになると、事実上 IT 管理者になるため、「土地を離れて生活する」ことは容易ではありません。攻撃者が最終的に侵入方法を見つけることを想定して、侵害を想定して攻撃について調べてみましょう。
しかし、その前に、ドメインコントローラーを見てみましょう。既にご存知かもしれませんが、Windows ドメインおよび関連するネットワークリソースへのアクセスを認証 (ログオンしているユーザーの検証) は、Microsoft ドメインコントローラーサーバーである Active Directory が担当します。ユーザー、グループ、コンピューターのディレクトリがあり、ファイル共有、ネットワーク共有、プリンターなどのネットワークサービスのリポジトリでもあります。Active Directory ドメインサービスの役割でプロビジョニングされたサーバーがドメインコントローラーになります。また、DNS サーバーと共にインストールされ、名前解決やその他の内部ネットワークサービスを管理します。ドメインコントローラーと Active Directory サーバーは GUI 主導型ですが、特にレプリケーションとフォールトトレランスのために複数存在することが多い一般的な企業ネットワークでは非常に複雑です。
Windows ドメインでは役割が密接に絡み合っているため、ドメインコントローラーは、実行するようにプロビジョニングされている役割の数に応じて、さまざまなサービスをホストします。名前内部解決用の DNS、認証用の Kerberos チケット処理、サーバーメッセージブロック、証明書サービスなど、さまざまな役割があります。これにより、範囲が広がります。 アタックサーフェス 実際、次のようなコンポーネントに対する攻撃は数多くあります。
- シングル・サインオン認証情報の使用
- ケルベロスチケッティング、
- サービスプリンシパル名 (SPN)
- グループポリシーオブジェクト (GPO)
- アクティブディレクトリの信頼と委任
- RPC と SMB
これらの攻撃のほとんどは、ネットワークトラバーサルによって大幅に促進されます。これらのサービスにはすべて、関連するポートとプロトコルが付属しています。
以下の表は、一般的なドメインコントローラーが使用する可能性が高く、空けておく必要があるポートとプロトコルを示しています。これは、攻撃者が悪用できる攻撃対象領域が広範囲に及ぶことになります。問題は、攻撃対象領域を減らすためにポートを閉じることにした場合、Active Directory が正しく機能しなくなることです。
ドメインコントローラーへのパス
ここでの前提は、「侵害を想定する」の考え方と一致しています。つまり、攻撃者はすでにシステムやネットワークに、より低いレベルの権限を持っている可能性はありますが、不正アクセスしている可能性があるということです。たとえば、これを介してユーザーアカウントが侵害された可能性があります。 フィッシング その結果、ビジネスメール詐欺(BEC)につながる可能性があります。これはまた、脅威アクターがより高い権限を持つアカウントと、それに続くドメインコントローラーなどの至高のシステムに侵入しようとしている可能性が高いことも意味します。
次のパターンに従った仮想的な攻撃フローを見てみましょう。
最初の攻撃には、従業員へのフィッシングメールが含まれます。このフィッシング攻撃には、従業員が騙した偽の Office 365 OneDrive ログインへのリンクが含まれています。このようなリンクは、JavaScriptの実行や場合によっては脆弱性と相まって、Windows Powershellを利用したメモリのみのマルウェアを自動的に実行します。これにより、侵害を受けたユーザーの Windows ラップトップから攻撃者にリバースシェルコマンドアンドコントロール (C&C) バックドアが開かれることになります。これがこの記事の「」の出発点です。違反を想定'前提。
この段階までの攻撃はほとんど自動化されているため、攻撃者は新しいシェル、つまり新しいマシンが侵害されたことについてC&C通知を受け取る可能性があります。また、ユーザーアカウント、権限、ネットワークリソースへのアクセスなど、侵害されたシステムの詳細についてはほとんど気づかないでしょう。ここが ATT&CK の場所です。 発見フェーズ 攻撃者にとって重要です。
AT&CK: ディスカバリー
従業員のエンドポイントであれワークロードであれ、単一のシステムからドメインコントローラーにピボットするために最初にすべきことは何ですか?
ATT&CKがディスカバリーフェーズで言うように、「環境を理解しよう」ということです。
攻撃者はまず、システムのユーザー、実行中のプロセス、ファイル/ディレクトリ/グループのメンバーシップ、およびセッション情報を理解することから始めます。
ポートスキャン用のNMAPのようなツールは、悪用できるリモートマシンでどのサービスがリッスンしているかを一目で確認するためのオプションです。さらに、Bloodhound を使用して Active Directory 環境をマッピングし、ドメインコントローラーへの最速の方法を把握することもできます。
これらのツールは攻撃に使用されてきましたが、固有の課題があります。トラフィックを生成するサードパーティ製ツールとして注目されすぎています。これらはおしゃべりでやや目立たないため、セキュリティシステムによって検出される可能性があります。
攻撃者は、ドメインに接続されたエンドポイントまたはワークロードにアクセスできる場合に、単に「土地を離れて暮らす」のが最善の策です。この方法では、エンドポイントにネイティブでネットワークにノイズを発生させないツールを使用します。
攻撃者は、攻撃者がどこにいるのか、次に何ができるのかを簡単かつ目立たないように理解する方法として、多くの人が使い慣れている基本的なCLIコマンドから始めることができます。
ドメインに参加しているクライアントマシンでは、次のようなコマンドを実行します うわあみ を可能にします システム所有者またはユーザーの発見と、以下に示すような出力が表示されます。
これにより、攻撃者は侵害されたシステムのアカウントプロファイルを作成して、そのアカウントが何にアクセスできるかを確認できます。攻撃者は、マシンが属する Active Directory グループをざっと見てみると、そのユーザーがたとえば財務チームに所属していることが分かります。財務ファイル共有にアクセスして悪用される可能性が高いことはわかっています。また、財務データを狙っているのが財務データである場合は、マシン上のファイルをすぐに調べることもできます。
攻撃者は、ネットユーザーや関連するスイッチなどのシンプルで効果的なコマンドを使用して、侵害されたマシンが接続されているドメインコントローラーの名前と、ドメインコントローラーに存在するユーザーアカウントのリストを発見することもできます。
ここから、ドメインコントローラーへのパスに役立つ重要な詳細情報が明確になります。
他にも、多くの人がよく知っている簡単なコマンドは次のとおりです。 ipconfig /すべて そして ネットスタット-rn 攻撃者をデフォルトゲートウェイとネットワーク、サブネット、DNS、DHCPの情報に誘導します。また、ルーティングテーブルがあれば、どこまで到達可能かがわかります。これにより、攻撃者はネットワークレベルの接続の基本的なマップを構築するのに十分な情報を得ることができます。攻撃者は、侵害されたマシンがドメインコントローラーや DNS サーバーと同じサブネット上にあるかどうかを解読できます。このため、以下の対策が不可欠です。 マイクロセグメンテーションアプローチ そのためのセキュリティは ワークロードに依存 フラットネットワークアーキテクチャであってもネットワークに依存しません。サブネットや場所に関係なく、ドメインコントローラーのようにワークロードに従うセキュリティ。
また、追加のサブネットやルート、およびそれに対応するゲートウェイを解読し、そのルーティング情報を、たとえばネットワーク共有サーバー名などの逆DNSの詳細で裏付けることができる場合もあります。
ほとんどの組織では、同じチーム内の従業員のネットワーク共有を使用して情報を共有し、場合によってはアーカイブしています。脅威アクターは、次のような組み込みユーティリティの Windows ネットワーク共有の詳細情報を活用できます。 ネットユース ファイルサーバーやドメインコントローラーを検索できます。また、この情報を、侵害されたアカウントやエスカレーションされたアカウントと組み合わせて、次のような隠しの Windows ネットワーク共有にアクセスすることもできます。 アドミン$ または C$。 これらを使用すると、ローカルSMBネットワークまたはSMBネットワークに接続された有効なリモートアクセスVPN接続を介して、マルウェアを他のマシンに拡散させることができます。
この情報により、Windowsでアクセスできる共有とサーバーを以下で確認できます。攻撃者が制御下にある侵害されたシステムについてもう少し情報を入手したら、次の行動計画を策定できます。
この例では、ユーザーはラップトップのローカル管理者であり、NICのリストにVPNアダプタと対応するVPNアプリケーションがありますが、ドメイン管理者権限はありません。主な目的はドメインコントローラーへのアクセス権を取得することなので、攻撃者には権限を昇格させて、横方向の移動に利用するなどの選択肢がいくつかあります。権限を昇格できる他のアカウントがシステムに存在しない場合、ほとんどの場合、そのようなアカウントを取得しようとすることになります。侵害されたアカウントとマシンの信頼性を利用して、組織のメールドメイン内でさらに標的を絞ったフィッシング攻撃を仕掛ける可能性があります。また、標的となるシステムに人為的な不具合が発生し、ITサポートケースが強制される可能性もあります。これは、感染したマシンで「管理者として実行」する可能性が高いIT管理者とのリモートヘルプセッションを意味する可能性が高くなります。脅威アクターは意志が強く、忍耐強く、通常、狙っているものを手に入れるために必要なことは何でもします。
ここまでは、PowerShell や WMI のようなより強力なネイティブ機能すら使用していなかったことに注意することが重要です。これは、現代のオペレーティングシステムと同様にレガシーオペレーティングシステムでもまだ取得できる情報量を意図的に指摘するためです。たとえば、攻撃者はまだ PowerShell などのシステムツールを使用してネイティブリモートアクセスの可能性をテストし、ラテラルムーブメントやピボットを支援するためにリモートアクセスがどのマシンにリモートでアクセスしているのかを調べている可能性があります。
Powershellのリモート処理機能は、次のようなコマンドを使用して、さらに別の検出手段と横方向への移動機能を提供します。 PSセッションに入る および実行できるその他のさまざまなコマンドレット コンピュータ名 パラメーター。前者は WinRM (HTTP 5985 と HTTPS 5986) を利用し、後者はよりユビキタスな RPC を使用します。
私たちはドメインコントローラーの重要性を理解しており、侵入が発生したこともわかっています。そして今では、攻撃者が簡単なCLIコマンドや、エンドポイントにノイズを発生させない非常に重要なリビング・オフ・ザ・ランド手法をどのように使用できるかについて、理解が深まりました。 ネットワークセキュリティツール そうすることで、その土地の概要を把握し、環境内のどこにいるのかを知ることができます。
次の投稿では、 横方向の動き 攻撃者は発見後にドメインコントローラーにたどり着くために見せつけます