ProfileHoundは、マシン上のドメインユーザープロファイルを見つけることで、レッドチーミングの目標を見つけて達成するのに役立つポストエスカレーションツールです。BloodHound OpenGraphフォーマットを使用して、ユーザープロファイルがコンピュータに存在するかどうかを判定するHasUserProfileという新しいエッジを構築します。このエッジにより、オペレーターはシークレットを略奪するためにどのコンピュータをターゲットにするかについて、情報に基づいた決定を下すことができます。
このツールは、ユーザープロファイルを列挙するために、ターゲットマシンのC$共有への管理者アクセスが必要です。
Active Directoryのポスト悪用の目的は、オンサイトに保存されたデータからSaaSアプリケーションとクラウドにシフトしています。オフセックの価値を証明するには、これらのサービスへのアクセスがどのように侵害される可能性があるかを示す必要があります。多くの場合、これらのサービスはHRや財務などの特定のグループまたはユーザーのみによって使用されます。一部のシナリオでは、特定のSaaSアプリケーションは特定のマシンからのみアクセスできます。
BloodHoundのHasSessionエッジは優れていますが、ユーザーがマシンにログインしている場合にのみ有効です。データが収集されたときにユーザーがマシンにログインしていない場合、さらなる悪用を促進するためのシークレットを含む可能性のあるコンピュータを見つけるのは困難な場合があります。ユーザープロファイルには、DPAPI、キャッシュされた認証情報、SSHキー、クラウドキーなど、アクティブなユーザーセッションなしでアクセスできる貴重なインテリジェンスが大量に含まれる可能性があります。
ProfileHoundはBloodHoundのOpenGraphフォーマットを使用して、ドメインマシン上にユーザープロファイルが存在するかどうかを判定するHasUserProfileという新しいグラフエッジを構築します。これにより、オペレーターは高価値のユーザーまたはグループがプロファイルを持つマシンに焦点を当てるのに役立ちます。
HasUserProfileエッジには、プロファイルの作成日と最後の変更日のプロパティが含まれています。その情報は以下を判定するのに役立ちます:
- プロファイルがアクティブに使用されているかどうか(過去数日以内にログイン)
- プロファイルが何年も使用されているかどうか(多くのシークレットを含む可能性が高い!)
このエッジには、プロファイルの作成と変更タイムスタンプのプロパティもあり、特定のマシン上のアクティブまたは長期的なユーザープロファイルを見つけるための特定のCypherクエリを許可します。
仕組み
ProfileHoundはC$共有を使用して、ドメインマシン上のユーザープロファイルを\\<target>\C$\Users\で列挙します。ユーザーのNTUSER.DATファイルを読み取り、ファイルメタデータからSIDを取得することで、ユーザーがドメインアカウントであるか、ローカルアカウントであるかを判定します。たとえば、\\<target>\C$\Users\のすべてのユーザーディレクトリを収集し、\\<target>\C$\Users\<username>\NTUSER.DATでNTUSER.DATファイルを見つけるために各ディレクトリをループします。NTUSER.DATファイルが既知のSIDによって所有されている場合、DPAPIディレクトリを読み取ることでユーザーのSIDを見つけようとします(例:\\<target>\C$\Users\<username>\AppData\Roaming\Microsoft\Protect\<SID>)。
C$共有に到達しているため、ターゲットマシンに認証するために管理者アカウントが必要です。ProfileHoundは、提供された認証情報を使用してターゲットマシンに認証します。ドメインアカウントを使用している場合は、--auth-domainオプションを使用してドメインを指定できます。ローカルアカウントを使用している場合は、--auth-localオプションを使用できます。
NTUSER.DATファイルの作成時刻と最後の変更時刻が収集され、プロファイルがアクティブであるかどうかを判定するために使用できます。この相関関係は、エッジプロパティのcypherクエリ内で処理され、以下の例があります。
NTUSER.DATファイルの最後の変更時刻が作成日よりも前の場合、プロファイルが作成されたが、実質的には使用されなかったことが考えられます。この状態が存在するのは、新しいユーザープロファイルが作成されるとき、NTUSER.DATファイルがC:\Users\Defaultプロファイルからコピーされ、作成日が後であっても同じ変更日を保持するためです。このため、特定のプロファイルがシークレットを含まないと合理的に確信することができます。
インストールと使用
翻訳元: https://meterpreter.org/profilehound-bloodhound-tool-hasuserprofile-edge-red-teaming/