KrbRelayUp - KrbRelayUp-LDAP署名が適用されていないWindowsドメイン環境でのユニバーサルな修正なしのローカル権限昇格(デフォルト設定)。

(KrbRelayUp - a universal no-fix local privilege escalation in windows domain environments where LDAP signing is not enforced (the default settings).)

Created at: 2022-04-25 05:33:00
Language: C#

KrbRelayUp

次の攻撃プリミティブの悪用を合理化するために、RubeusとKrbRelayのいくつかの機能(および謝辞セクションの他のいくつかの名誉ある言及)の単純ラッパー

  1. (オプション)新しいマシンアカウントの作成(New-MachineAccount
  2. ローカルマシンアカウントの認証強制(KrbRelay
  3. LDAPへのKerberosリレー(KrbRelay
  4. RBCD特権を追加し、特権STをローカルマシン(Rubeus)に取得ます
  5. 上記のSTを使用して、ローカルService Managerに対して認証し、NT/SYSTEMとして新しいサービスを作成します。(SCMUACBypass

これは基本的に、LDAP署名が適用されていないWindowsドメイン環境(デフォルト設定)でのユニバーサルな修正なしのローカル権限昇格です。

更新: この攻撃を手動で実行する方法についての@ an0n_r0による優れた記事があります(この攻撃パスの元のツールを使用: PowerMad / SharpMadKrbRelayRubeusSCMUACBypass

使用法

KrbRelayUp - Relaying you to SYSTEM

RELAY:
Usage: KrbRelayUp.exe relay -d FQDN -cn COMPUTERNAME [-c] [-cp PASSWORD | -ch NTHASH]

    -d  (--Domain)                   FQDN of domain.
    -c  (--CreateNewComputerAccount)    Create new computer account for RBCD. Will use the current authenticated user.
    -cn (--ComputerName)             Name of attacker owned computer account for RBCD. (deafult=KRBRELAYUP$ [if -c is enabled])
    -cp (--ComputerPassword)         Password of computer account for RBCD. (deafult=RANDOM [if -c is enabled])
    -ch (--ComputerPasswordHash)     Password NT hash of computer account for RBCD. (Optional)
    -p  (--Port)                     Port for Com Server (default=12345)

SPAWN:
Usage: KrbRelayUp.exe spawn -d FQDN -cn COMPUTERNAME [-cp PASSWORD | -ch NTHASH] <-i USERTOIMPERSONATE>

    -d  (--Domain)                   FQDN of domain.
    -cn (--ComputerName)             Name of attacker owned computer account for RBCD.
    -cp (--ComputerPassword)         Password of computer account for RBCD.
    -ch (--ComputerPasswordHash)     Password NT hash of computer account for RBCD. (Optional)
    -i  (--Impersonate)              User to impersonate. should be a local admininstrator in the target computer. (default=Administrator)
    -s  (--ServiceName)              Name of the service to be created. (default=KrbSCM)
    -sc (--ServiceCommand)           Service command [binPath]. (default = spawn cmd.exe as SYSTEM)

KRBSCM:
Usage: KrbRelayUp.exe krbscm <-s SERVICENAME> <-sc SERVICECOMMANDLINE>

    -s  (--ServiceName)              Name of the service to be created. (default=KrbSCM)
    -sc (--ServiceCommand)           Service command [binPath]. (default = spawn cmd.exe as SYSTEM)

例

TODO

  • []コードのリファクタリングとクリーンアップ!!!
  • []RELAYメソッドとしてShadowCred攻撃を追加します
  • []ネットワークサービス->システムシナリオで使用されるSPAWNメソッドにTGTDELEG攻撃を追加(ジャガイモの代替)
  • [] RELAYメソッドとSPAWNメソッドを1つの実行に組み合わせて、1つの完全なコマンドとして使用できるようにしようとしている問題を修正します。おそらく、RELAYとSPAWNの両方の機能がCOMサーバーの初期化中にフックに依存しているという事実と関係があります(RELAYがCOMサーバーを初期化すると、SPAWNはフックを配置するために再初期化できません)

緩和と検出

謝辞