ドメイン環境における EDR を活用した内部偵察段階の検知

攻撃者は、初期侵入プロセスを経てコインマイナーやランサムウェアをインストールして収益を得ることができるが、バックドアまたは RAT マルウェアをインストールして先に感染システムの操作権限を取得する場合が多い。インフォスティーラーマルウェアはシステムに存在するユーザーの情報を窃取することが目的だが、その後は攻撃者が窃取した情報をもとにシステムの操作権限を取得し、最終的にはコインマイナーやランサムウェアをインストールする目的で使用する場合もある。

攻撃対象が独立した特定のシステムに限られるならば無関係だが、企業や機関内に構築された環境であることが確認された場合、攻撃者は当該システムが含まれた全体のインフラに対する攻撃を試みる場合がある。組織のインフラがアクティブディレクトリ(Active Directory)を使用する環境であり、感染システムが当該ネットワークに含まれている場合、攻撃者はマルウェアおよび複数のツールを利用して当該ドメイン全体を掌握することができる。

ここでは、攻撃者がアクティブディレクトリ環境に属するシステムを掌握したあと、内部ネットワークを偵察して情報を収集する一般的なプロセスを扱う。このようなプロセスに成功すると、攻撃者は資格情報を窃取し、その情報を利用してラテラルムーブメントのプロセスを経てドメイン環境を掌握する。そして、最終的にはネットワークに接続されたシステム全体にランサムウェアを配布したり、企業の内部情報を窃取して収益を得る。

このような内部偵察段階では、システム管理用の正常なツールが使用される場合が多い。そのため、AntiVirus のような従来の製品では検知に限界があり、EDR を活用して疑わしい振る舞いをモニタリングして対処する必要がある。

AhnLab EDR(Endpoint Detection and Response)は、韓国国内で唯一の振る舞いベース解析エンジンをもとにエンドポイント領域に対して強力な脅威モニタリングと解析、対応力を提供する次世代エンドポイント脅威検知および対応ソリューションである。AhnLab EDR は、疑わしい振る舞いに関するタイプ別情報を常時収集し、検知および解析、対応の観点からユーザーが脅威を正確に認識できる機能を提供し、これによって総合的な解析を通じ原因把握と適切な対応、再発防止プロセスを確立できる。

図1. AhnLab EDR 製品

1. 概要

ディレクトリサービスは、コンピュータネットワークのユーザーとリソースの情報を統合、保存、管理するサービスであり、Windows に実装されたディレクトリサービスを Active Directory という。ドメインは AD の基本単位であり、当該ドメインにおいて認証や権限設定のような管理を担当するサーバーをドメインコントローラー(Domain Controller)という。すなわち、特定ドメインのドメインコントローラーは当該ドメイン全体の実質的な管理を担当するため、攻撃者が DC の操作権限を取得する場合、全体ドメインに対する操作権限を獲得することになる。

ローカル環境と同じくドメイン環境にも管理者グループが存在し、Domain Admins グループに属するアカウントはドメインに対する操作権限を持っている。攻撃者の目標は Domain Admins グループに含まれたアカウントの資格情報を窃取することであるが、これは Domain Admins グループのアカウントがドメインコントローラーにリモートでアクセスでき、最終的にドメインの様々な制御を実行できるためである。もちろん Domain Admins グループに属するアカウント以外にも類似した権限を持つグループが存在する場合があり、これは管理者の設定によって異なる。

攻撃者がドメイン環境からドメイン管理者のアカウントを窃取するためには、まずドメインの構造を把握する必要がある。このために、Windows がデフォルトで提供する net コマンドや PowerShell コマンドを使用することもできるが、ほとんどの攻撃者たちはペネトレーションテストツールを活用している。一般的に、攻撃者たちはネットワーク調査のためのポートスキャナーや、AD 環境の様々な情報を提供する AdFind、PowerView、BloodHound のようなツールを主に使用する。

2. ポートスキャニング

ポートスキャニングは特定のネットワーク、すなわち攻撃対象のドメインの情報を獲得する代表的な方式であり、現在有効になっているシステムおよびポート番号、すなわち動作中のサービスの情報を取得できる。攻撃者はネットワークを探索するための目的でポートスキャニング攻撃を実行し、これによってサブネット情報、ホスト情報等、ネットワークの構造を確認する。Cobalt strike はポートスキャニング機能をデフォルトで提供しているため、以下のような単純なコマンドでポートスキャニング攻撃を実行できる。

図2. Cobalt strike のポートスキャンコマンド(引用元 – Cobalt Strike User Guide) [1](外部サイト、英語にて提供)

Cobalt strike は企業や機関のネットワークおよびシステムについての脆弱性を点検するための目的で使用されるツールである。これにより、ポートスキャニングのような内部偵察段階だけでなく、権限昇格、ラテラルムーブメント、コマンド制御等のペネトレーションテスト段階ごとに様々な機能をサポートする。しかしながら、これを使用しない攻撃者であれば他のポートスキャナーツールを利用して感染システムが含まれたネットワークを調査するものと思われる。

Advanced Port Scanner は GlobeImposter、MedusaLocker [2]、Crysis、Venus 等、外部に公開されたリモートデスクトップサービスを攻撃対象とするランサムウェア攻撃者たちがよく使用するツールである。様々な攻撃で使用されているものの、管理者が組織のネットワークをメンテナンスする目的としても使用可能なツールであるため、AntiVirus 製品でこれらのツールを完全に遮断することには限界がある。

AhnLab EDR は Advanced Port Scanner のようなポートスキャナーツールを利用して組織のネットワークをスキャンする振る舞いに対して、以下のように脅威として検知して管理者が認知できるようにサポートする。

図3. ポートスキャニングツールに対する検知ログ – EDR 製品

3. net & PowerShell コマンド

Net コマンドは Windows がデフォルトで提供するコマンドであり、主にネットワークリソースの管理と関連する作業に使用される。デフォルトのコマンドであるものの、コンピューターのユーザーやネットワーク構造の情報を照会するのに有用であり、アクティブディレクトリ環境でもネットワークに属するシステムやユーザーの情報を提供することもできる。

これにより、攻撃者たちは感染システムの操作権限を窃取したあと、net コマンドを使用して感染システムが含まれたネットワークの基本的な情報を収集する傾向がある。以下のコマンドはアクティブディレクトリ環境を対象とする実際の攻撃事例で使われた代表的な net コマンドである。

> net time
> net user
> net group /domain
> net group /domain “Domain Admins”
> net group /domain “Enterprise Admins”
> net group /domain “Domain Computers”
> net group /domain “Domain Controllers”
> net localgroup Administrators
図4. net コマンドを利用したドメイン情報の照会

AhnLab EDR は、疑わしい net コマンドを主な振る舞いとして検知し、管理者がこれを認知して原因把握と適切な対処を講じられるようサポートする。

図5. 疑わしい Net コマンドに対する検知ログ – EDR 製品

攻撃者は、Windows がデフォルトでサポートする net コマンドを利用することもあるが、PowerShell を活用することもある。例えば、以下の PowerShell コマンドは net コマンドと同じく実際の攻撃で使用された。[3] [4](外部サイト、英語にて提供)

> Get-ADDomain
> Get-ADComputer -Filter {enabled -eq $true} -properties *|select DNSHostName, IPv4Address, OperatingSystem, LastLogonDate
> Get-ADDomainController

4. PowerView

PowerView は PowerSploit プロジェクトにも含まれたツールであり、Windows のドメイン環境で様々な情報を収集して表示する。代表的なものとして、ユーザーやグループ、コンピューターのようなアクティブディレクトリオブジェクトに対する情報や、ネットワーク共有情報があり、これらの情報を通じて攻撃者はドメイン環境の構造を把握し、権限昇格のために攻撃すべき対象を識別できる。

上記で取り上げた net コマンドやデフォルトの PowerShell コマンドよりも多様な機能を提供しているため、特に Windows のドメイン関連の情報を表示する機能が多く、アクティブディレクトリ環境への攻撃によく使用される。

図6. PowerSploit の PowerView スクリプト

例えば、Get-Domain(または Get-NetDomain)コマンドは現在のドメインの基本的な情報を表示し、Get-DomainUser(または Get-NetUser)コマンドは現在のドメインに存在するユーザーと各ユーザーの情報、そして Get-DomainGroup(または Get-NetGroup)コマンドは、現在のドメインのグループ情報を返す。このほかにも、Get-DomainComputer(または Get-NetComputer)コマンドを利用して現在のドメインに属しているローカルシステムの情報を取得できる。

過去に IcedID バンキングマルウェアを配布した攻撃者は、感染システムに Cobalt strike をインストールしたあと、以下のような PowerView コマンドを利用してドメイン情報を取得した。[5](外部サイト、英語にて提供)

> Get-Domain
> Get-DomainUser
> Get-DomainComputer -OperatingSystem server -Properties dnshostname
> Get-DomainComputer -Properties dnshostname -Ping
> Get-DomainController
> Get-PSDrive
図7. PowerView コマンドに対する検知ログ – EDR 製品

5. AdFind

AdFind は現在のネットワーク上のアクティブディレクトリ情報を収集するコマンドライン形式のツールである。上記で取り上げた PowerView と同じくドメインコントロール、サブネットのリスト、ドメインに存在するコンピューター/ユーザー/グループ情報、現在のシステムが属するアクティブディレクトリ情報等を収集するのに使用する。攻撃者は、AdFind の結果を利用してドメイン環境の構造を把握し、ラテラルムーブメントのための攻撃対象を識別できる。

過去、Ryuk ランサムウェアの攻撃者は Batch ファイル「adf.bat」を利用して以下のような AdFind コマンドを実行した。上記の IcedID 事例では PowerView を使用したが、Ryuk ランサムウェアの攻撃者は管理者が組織のドメイン環境をメンテナンスする目的でも使用可能なツールである AdFind を使用することにより、ドメイン情報をより隠密に収集した。[6](外部サイト、英語にて提供)

> AdFind.exe -gcb -sc trustdmp
> AdFind.exe -sc trustdmp
> AdFind.exe -f “objectcategory=computer”
> AdFind.exe -f “(objectcategory=person)”
> AdFind.exe -f “(objectcategory=group)”
> AdFind.exe -f “(objectcategory=organizationalUnit)”
> AdFind.exe -subnets -f (objectCategory=subnet)
> AdFind.exe -f objectcategory=computer -csv name cn dNSHostName
図8. AdFind を利用した、ドメインに属するコンピューター情報の照会結果

AdFind は管理者が組織のドメイン環境をメンテナンスする目的としても使用可能なツールであるため、AntiVirus 製品でこれを遮断するのには限界がある。AhnLab EDR は AdFind を利用して組織のアクティブディレクトリ情報を収集する振る舞いに対して以下のように脅威として検知し、管理者がこれを認知できるようにサポートする。

図9. AdFind コマンドに対する検知ログ – EDR 製品

6. BloodHound

BloodHound はアクティブディレクトリのドメイン関連情報を収集し、権限昇格のための攻撃経路を探るために使用される。GUI ベースでモデリングした結果を表示するが、攻撃者がドメイン内でドメイン管理者権限を得るための最短ルートをグラフ形式で視覚化して表示する。

BloodHound の SharpHound はドメイン環境で情報を収集するツールであり、攻撃者はドメイン内の特定システムにおいてこれを実行し、情報を収集する。SharpHound は実行ファイルフォーマット、すなわち「SharpHound.exe」と PowerShell スクリプトフォーマットの「SharpHound.ps1」をサポートする。収集される情報には、信頼関係、グループポリシー設定、アクティブディレクトリオブジェクトに対する情報などがある。

図10. SharpHound の実行結果

収集した情報は zip 圧縮ファイル形式であり、攻撃者はその後 BloodHound が構築されたシステムでこのファイルを読み込み、BloodHound でこれを解析して以下のように様々な情報を視覚化して表示する。

図11.収集した情報を BloodHound でフィッシングした結果(引用元 – BloodHound [7])(外部サイト、英語にて提供)

AhnLab EDR は BloodHound の SharpHound.exe 実行ファイル、および SharpHound.ps PowerShell スクリプトを利用して組織のアクティブディレクトリ情報を収集する振る舞いに対して以下のように脅威として検知し、管理者がこれを認知できるようにサポートする。

図12. SharpHound 実行ファイルおよび PowerShell スクリプトの検知ログ – EDR 製品

7. 結論

アクティブディレクトリを使用する組織のドメイン環境に侵入した攻撃者は、様々なツールを利用してアクティブディレクトリ関連情報を取得できる。攻撃者は PowerView、AdFind のようなツールを利用してドメインの基本的な情報を収集したあとポートスキャナーを利用して攻撃対象を確認し、以後ラテラルムーブメントプロセスを実行すると思われる。ラテラルムーブメントプロセスの最終的な目的はドメイン管理者権限を取得してドメイン環境全体を掌握することであり、BloodHound はそのための最適なルートを求めるのに使用される。

内部偵察段階では PowerView、BloodHound のようなツールだけでなく、正常な目的で使用される net コマンド、AdFind、ポートスキャナーのような管理ツールが利用される。そのため、内部偵察段階で行われる攻撃者の情報収集の振る舞いは AntiVirus のような従来のセキュリティ製品を利用しての検知、遮断に限界がある。AhnLab EDR は、マルウェアだけにとどまらず一般的な管理目的で使用できるツールを検知して、管理者が原因を把握して適切な対処、および再発防止プロセスを確立できるようサポートする。

振る舞い検知
– Execution/EDR.Behavior.M10741
– Suspicious/DETECT.T1018.M2919
– LateralMovement/EDR.PowerView.M4055
– LateralMovement/EDR.ADFind.M10710
– Execution/DETECT.Scripting.M4091
– Execution/EDR.SharpHound.M11547

振る舞い情報検知および解析を通じたエンドポイント可視性を提供し、脅威を能動的に追跡する AhnLab EDR についての詳しい情報は AhnLab の公式 HP で確認できる。

Categories: AhnLab 検知

Tagged as: , , ,