Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DavRelayUp — WebDAVからLDAPへのNTLM認証を中継し、LDAP署名の強制を必要とせずにリソースベースの制約付き委任(RBCD)を活用して、ドメイン参加済みWindowsワークステーション上でのローカル権限昇格をSYSTEMまで自動化します。 | Kitploit
ツール/GitHubGitHub/dec0ne/davrelayup
特権昇格エクスプロイト横移動認証レッドチーミング
GitHubdec0ne/davrelayup

DavRelayUp

WebDAVからLDAPへのNTLM認証を中継し、LDAP署名の強制を必要とせずにリソースベースの制約付き委任(RBCD)を活用して、ドメイン参加済みWindowsワークステーション上でのローカル権限昇格をSYSTEMまで自動化します。

リポジトリを見る
575763年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

DavRelayUp

KrbRelayUp の簡易移植版で、NTLMリレーをWebDAVからLDAPへ行うための修正を加え、以下の攻撃プリミティブの悪用を効率化します:

  1. (オプション)新しいマシンアカウントの作成(New-MachineAccount)
  2. WebClientサービスの強制開始
  3. WebDAVリレーサーバーの起動(GoRelayServer – Costura.Fodyを使用してDavRelayUpに埋め込まれたGolang DLL)
  4. ローカルマシンアカウント認証の強制(SharpSystemTriggers)
  5. NTLMリレーからLDAPへ
  6. RBCD権限を追加し、ローカルマシンへの特権STを取得(Rubeus)
  7. 上記のSTを使用してローカルのサービスマネージャーに認証し、NT/SYSTEMとして新しいサービスを作成(SCMUACBypass)

これは、LDAP署名が強制されていない(デフォルト設定)ドメイン参加済みWindowsワークステーションにおいて、実質的に修正不要のユニバーサルなローカル権限昇格です。

使用方法

root@kitploit:~
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]フラグで別のポートを指定してみてください。

root@kitploit:~
DavRelayUp - Relaying you to SYSTEM, again...

[+] WebClient Service started successfully
[+] Starting Relay Server on Port 55555
[+] Coercing System Authentication
root@kitploit:~
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

example

ビルド

  1. GoRelayServerのビルド(このリポジトリにはすでにビルド済みで含まれていますが、自分で行いたい場合)
    root@kitploit:~
    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
    
    これによりGoRelayServer DLLがビルドされ、「DavRelayUp\DavRelayUp\Costura64\GoRelayServer.dll」に保存されます。このフォルダからCostura.Fodyが最終的なDavRelayUp.exe実行ファイルにDLLを埋め込みます。
  2. Visual Studio 2019でKrbRelayUp.slnを開きます。
  3. ソリューション構成がReleaseに設定されていることを確認し、ビルド(CTRL+SHIFT+B)します。

TODO

  • Relay方法としてShadowCred攻撃を追加
  • U2Uサポートを追加し、マシンアカウントを必要としない攻撃を可能にする

緩和策と検出

  • LDAP署名とLDAPチャネルバインディングを強制し、マシンアカウント認証のLDAPへのリレーを緩和します。これは「Domain Controller: LDAP server signing requirements」GPOで構成できます。(Will Dormann氏のツイートに感謝)
  • MS-DS-Machine-Account-Quota属性をADで0に設定することで、攻撃要件をより困難にします。これにより、任意のユーザーが新しいマシンアカウントをドメインに追加する機能が削除されます。これはADの危険なデフォルト設定ですので、必ず変更してください。
  • すべての管理者アカウントに「アカウントは敏感で、委任できない」フラグを設定する(あるいは保護されたユーザーグループに入れる)ことで、攻撃経路を完了するために必要な権限を持つ委任可能なアカウントが存在しなくなります。(Christoph Falta氏のツイートに感謝)
  • 可能な監視・検出ルールのリソース:
    1. https://github.com/tsale/Sigma_rules/blob/main/windows_exploitation/KrbRelayUp.yml (@Kostastsale)
    2. https://twitter.com/SBousseaden/status/1518976397364056071 (@SBousseaden)。主に127.0.0.1からのKerberosによるサービスマネージャーへの認証に関するルール。素晴らしい仕事です!
    3. https://www.linkedin.com/posts/john-dwyer-xforce_threathunting-threatdetection-blueteam-activity-6924739962131140608-py45/ (John Dwyer @TactiKoolSec)

謝辞

  • James Forshaw氏 – Kerberosサービスチケットをローカルのサービスマネージャー認証に使用する方法を発見。(gist)。この攻撃プリミティブをローカルオンリーにするためのパズルの最後のピースでした(それ以前は、STをリモートマシンにエクスポートして使用し、標的マシンへの特権アクセスを得る必要がありました)。
  • Kevin Robertson氏 – このプロジェクトで使用したNew-MachineAccount機能。
  • Cube0x0氏 – このプロジェクトで使用したSharpSystemTriggers機能(特にSharpEfsTrigger)。
  • Elad Shamir氏 – RBCDに関する研究 – Wagging the Dog
  • Will Schroeder氏、およびRubeusに貢献されたすべての方々。基本的にすべてのRBCD-S4U機能はそこから取られています。
  • Orange-Cyberdefense – デモビデオや画像で使用しているActive Directory研究ラボGOADの開発元。
  • Shantanu Khandelwal氏 – GolangツールをC#に埋め込む方法についての優れたブログ記事Red Team: How to embed Golang tools in C#
  • GoRelayServerはgo-ldapの作業を基に構築されており、WebDAVからLDAPへのNTLMリレーを可能にするために修正を加えました。また、Mariusz Banach氏のSharpWebServerにも感謝します。これを使ってWebDAV NTLM認証の仕組みを学び、GoRelayServerのサーバーリスナーとして実装しました。
ツールをダウンロード