Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
KrbRelayUp — KrbRelayUp - LDAP 서명이 적용되지 않는(기본 설정) Windows 도메인 환경에서 사용할 수 있는 범용 무수정 로컬 권한 상승 도구. | Kitploit
도구/GitHubGitHub/dec0ne/krbrelayup
Privilege EscalationExploitationImpersonation ToolsPost-ExploitationPenetration TestingAuthenticationRed Teaming
GitHubdec0ne/krbrelayup

KrbRelayUp

KrbRelayUp - LDAP 서명이 적용되지 않는(기본 설정) Windows 도메인 환경에서 사용할 수 있는 범용 무수정 로컬 권한 상승 도구.

저장소 보기
1.7k21074년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

KrbRelayUp

Rubeus와 KrbRelay의 일부 기능(및 감사의 글 섹션에 언급된 몇 가지 다른 도구들)을 감싸는 간단한 래퍼로, 다음 공격 프리미티브의 악용을 간소화하기 위한 것입니다:

  1. (선택 사항) 새 컴퓨터 계정 생성 (New-MachineAccount)
  2. 로컬 컴퓨터 계정 인증 강제 (KrbRelay)
  3. LDAP로의 Kerberos 릴레이 (KrbRelay)
  4. RBCD 권한을 추가하고 로컬 컴퓨터에 대한 권한 있는 ST를 획득 (Rubeus)
  5. 해당 ST를 사용하여 로컬 서비스 관리자에 인증하고 NT/SYSTEM 권한으로 새 서비스를 생성. (SCMUACBypass)

이것은 본질적으로 LDAP 서명이 적용되지 않는(기본 설정) Windows 도메인 환경에서 패치가 없는(no-fix) 범용 로컬 권한 상승입니다.

업데이트: 여기에서 @an0n_r0님이 이 공격을 수동으로 수행하는 방법에 대한 훌륭한 분석 글을 확인할 수 있습니다 (이 공격 경로에 사용되는 원본 도구들: PowerMad/SharpMad, KrbRelay, Rubeus 및 SCMUACBypass)

업데이트 - 섀도 자격 증명(Shadow Credentials) 지원

섀도 자격 증명을 사용하여 이 공격 프리미티브를 지원하는 몇 가지 기능을 추가했습니다. 이 방법을 사용하면 다른 컴퓨터 계정을 추가(또는 소유)할 필요가 없어집니다.

참고: 이 공격 방법은 S4U2Self 악용으로 인해 Protected Users(또는 '계정이 민감하여 위임할 수 없음') 완화 조치를 우회합니다.

  1. 로컬 컴퓨터 계정 인증 강제 (KrbRelay)
  2. LDAP로의 Kerberos 릴레이 (KrbRelay)
  3. 새 KeyCredential을 생성하고 이를 로컬 컴퓨터 계정의 'msDS-KeyCredentialLink' 특성에 추가. (Whisker 및 KrbRelay)
  4. 해당 KeyCredential을 사용하여 PKInit을 통해 로컬 컴퓨터 계정의 TGT를 획득. (Rubeus)
  5. TGT를 사용하여 S4U2Self 및 TGSSUB를 통해 로컬 컴퓨터에 대한 권한 있는 ST를 획득. (Rubeus)
  6. 해당 ST를 사용하여 로컬 서비스 관리자에 인증하고 NT/SYSTEM 권한으로 새 서비스를 생성. (SCMUACBypass)

업데이트: 여기에서 @icyguider님이 이 공격의 ShadowCred 방식을 수동으로 수행하는 방법에 대한 훌륭한 분석 글을 확인할 수 있습니다 (이 공격 경로에 사용되는 원본 도구들: KrbRelay, Rubeus 및 SCMUACBypass) 및 방어 메커니즘의 일부 탐지를 우회하기 위해 NimCrypt2로 다양한 도구를 패킹하는 사용법도 함께 다룹니다.

업데이트 - ADCS 웹 등록 지원

LDAP 대신 ADCS 웹 등록으로 머신 KRB 인증을 릴레이하는 기능을 추가했습니다. 이 공격은 LDAP으로 릴레이하지 않으므로 도메인에서 LDAP 서명을 적용하지 않아도 된다는 요구 사항이 사라집니다.

참고: 이 공격 방법은 S4U2Self 악용으로 인해 Protected Users(또는 '계정이 민감하여 위임할 수 없음') 완화 조치를 우회합니다.

  1. 로컬 컴퓨터 계정 인증 강제 (KrbRelay)
  2. ADCS(HTTP)로의 Kerberos 릴레이 (KrbRelay 및 ADCSPwn)
  3. 로컬 컴퓨터 계정을 대신하여 인증서 요청을 생성하고, 이를 ADCS 웹 등록에 제출한 다음 마지막으로 로컬 컴퓨터 계정의 인증서를 확보 (ADCSPwn)
  4. 해당 인증서를 사용하여 PKInit을 통해 로컬 컴퓨터 계정의 TGT를 획득. (Rubeus)
  5. TGT를 사용하여 S4U2Self 및 TGSSUB를 통해 로컬 컴퓨터에 대한 권한 있는 ST를 획득. (Rubeus)
  6. 해당 ST를 사용하여 로컬 서비스 관리자에 인증하고 NT/SYSTEM 권한으로 새 서비스를 생성. (SCMUACBypass)

사용법

root@kitploit:~
KrbRelayUp - Relaying you to SYSTEM

FULL: Perform full attack chain. Options are identical to RELAY. Tool must be on disk.

RELAY: First phase of the attack. Will Coerce Kerberos auth from local machine account, relay it to LDAP and create a control primitive over the local machine using RBCD or SHADOWCRED.
Usage: KrbRelayUp.exe relay -d FQDN -cn COMPUTERNAME [-c] [-cp PASSWORD | -ch NTHASH]

    -m   (--Method)                   Abuse method to use in after a successful relay to LDAP <rbcd/shadowcred> (default=rbcd)
    -p   (--Port)                     Port for Com Server (default=12345)
    -cls (--Clsid)                    CLSID to use for coercing Kerberos auth from local machine account (default=90f18417-f0f1-484e-9d3c-59dceee5dbd8)

    # RBCD Method:
    -c   (--CreateNewComputerAccount) Create new computer account for RBCD. Will use the current authenticated user.
    -cn  (--ComputerName)             Name of attacker owned computer account for RBCD. (default=KRBRELAYUP$)
    -cp  (--ComputerPassword)         Password of computer account for RBCD. (default=RANDOM [if -c is enabled])

    # SHADOWCRED Method:
    -f   (--ForceShadowCred)          Clear the msDS-KeyCredentialLink attribute of the attacked computer account before adding our new shadow credentials. (Optional)

    # ADCS Method:
    -ca  (--CAEndpoint)               CA endpoint FQDN (default = same as DC)
    -https                            Connect to CA endpoint over secure HTTPS instead of HTTP)
    -cet (--CertificateTemplate)      Certificate template to request for (default=Machine)


SPAWN: Second phase of the attack. Will use the appropriate control primitive to obtain a Kerberos Service Ticket and will use it to create a new service running as SYSTEM.
Usage: KrbRelayUp.exe spawn -d FQDN -cn COMPUTERNAME [-cp PASSWORD | -ch NTHASH] <-i USERTOIMPERSONATE>

    -m   (--Method)                   Abuse method used in RELAY phase <rbcd/shadowcred> (default=rbcd)
    -i   (--Impersonate)              User to impersonate. should be a local administrator 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)

    # RBCD Method:
    -cn  (--ComputerName)             Name of attacker owned computer account for RBCD. (default=KRBRELAYUP$)
    -cp  (--ComputerPassword)         Password of computer account for RBCD. (either -cp or -ch must be specified)
    -ch  (--ComputerPasswordHash)     Password NT hash of computer account for RBCD. (either -cp or -ch must be specified)

    # SHADOWCRED | ADCS Method:
    -ce  (--Certificate)              Base64 encoded certificate or path to certificate file
    -cep (--CertificatePassword)      Certificate password (if applicable)


KRBSCM: Will use the currently loaded Kerberos Service Ticket to create a new service running as SYSTEM.
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)


General Options:
    -d  (--Domain)                   FQDN of domain. (Optional)
    -dc (--DomainController)         FQDN of domain controller. (Optional)
    -ssl                             Use LDAP over SSL. (Optional)
    -n                               Use CreateNetOnly (needs to be on disk) instead of PTT when importing ST (enabled if using FULL mode)
    -v  (--Verbose)                  Show verbose output. (Optional)

예제

example example example

TODO

  • 코드 리팩토링 및 정리!!!
  • ShadowCred 공격을 RELAY 메서드로 추가
  • Network Service->SYSTEM 시나리오에서 사용할 수 있도록 SPAWN 메서드에 TGTDELEG 공격 추가 (potatoes 대안)
  • RELAY와 SPAWN 메서드를 하나의 실행으로 결합하여 하나의 완전한 명령으로 사용할 수 있도록 하려는 문제 수정. 아마도 RELAY와 SPAWN 기능 모두 COM 서버 초기화 중에 후크에 의존하기 때문일 것입니다 (RELAY가 COM 서버를 초기화하면 SPAWN은 자체 후크를 배치하기 위해 다시 초기화할 수 없음)

완화 및 탐지

  • 컴퓨터 계정 KRB 인증의 LDAP 릴레이를 완화하려면 LDAP 서명 및 LDAP 채널 바인딩을 강제합니다. 이는 "Domain Controller: LDAP server signing requirements" GPO를 통해 구성할 수 있습니다. (이 문제에 대한 트윗을 남겨주신 Will Dormann님께 감사드립니다)
  • AD의 MS-DS-Machine-Account-Quota 특성을 0으로 설정하여 공격 요건을 충족하기 더 어렵게 만듭니다. 이렇게 하면 모든 사용자가 도메인에 새 컴퓨터 계정을 추가할 수 있는 권한이 제거됩니다. 이는 AD의 위험한 기본 설정이므로 반드시 변경하십시오.
  • 모든 관리자 계정에 "Account is sensitive and cannot be delegated"(계정이 민감하여 위임할 수 없음) 플래그를 설정하면(또는 Protected Users에 추가하면) 공격 경로를 완료하는 데 필요한 권한을 가진 위임 가능한 계정이 존재하지 않게 됩니다. (이 트윗에 대해 Christoph Falta님께 감사드립니다)
  • ADCS 릴레이 완화 - certsrv 사이트에서 TLS 사용을 강제하고 IIS에서 ***확장 보호(Extended Protection for Authentication, EPA)***를 활성화하면 ADCS로의 릴레이를 방지할 수 있습니다. (이를 그의 트윗에서 지적해 주신 Will Dormann님께 감사드립니다. 이는 Dirk-jan Mollema님의 krbrelayx 및 mitm6를 사용한 DNS를 통한 Kerberos 릴레이 게시물에서도 언급되었습니다)
  • 모니터링 및 탐지 규칙에 활용할 수 있는 자료:
    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 릴레이에 대한 연구와 Kerberos 서비스 티켓을 서비스 관리자에 대한 로컬 인증에 사용하는 방법을 알아내셨습니다. 이는 이 공격 프리미티브를 로컬 전용으로 만들기 위해 빠져 있던 퍼즐 조각이었습니다 (그 이전에는 ST를 원격 머신으로 내보낸 후 사용하여 대상 머신에 대한 권한 있는 액세스를 얻어야 했습니다). 또한 이 프로젝트에서 사용된 그의 New-MachineAccount 기능에 대해서도 감사드립니다.
  • Cube0x0님 - 그의 놀라운 KrbRelay 작업이 없었다면 이 프로젝트는 존재하지 않았을 것입니다. 해당 프로젝트에서 많은 코드를 가져왔으며, 이를 통해 Kerberos 릴레이가 어떻게 작동하는지 더 깊이 이해할 수 있었습니다 (개념을 더 잘 이해하고 싶은 분께는 해당 코드를 직접 살펴볼 것을 적극 추천합니다).
  • Shadow Credentials에 대한 연구와 훌륭한 도구 Whisker를 만든 Elad Shamir님. 이 도구에 Shadow Credentials 공격 지원을 추가하는 데 그의 코드 일부(그리고 물론 cube0x0님의 KrbRelay 코드)가 사용되었습니다.
  • 우리 모두가 알고 사랑하는 Rubeus에 기여한 Will Schroeder님과 모든 분들. 기본적으로 모든 RBCD-S4U 기능은 해당 프로젝트에서 가져왔습니다. 또한 ADCS 웹 등록 릴레이 옵션을 추가할 때 사용된 Certify와 Certified Pre-Owned 백서에 대해서도 감사드립니다 (크레딧은 Lee Christensen님에게도 돌아갑니다).
  • batsec님과 ADCSPwn에 기여한 모든 분들. ADCS 웹 등록 릴레이 옵션과 관련된 많은 코드가 이 훌륭한 도구에서 가져와졌습니다.
  • Shadow Credentials 기능을 지원하는 데 사용된 그의 도구 DSInternals를 만든 Michael Grafnetter님.
  • 제가 사용 중이며 데모 비디오와 이미지에서 볼 수 있는 Active Directory 연구 랩인 GOAD를 작업해 주신 님.
도구 다운로드
  • https://twitter.com/cyb3rops/status/1519241598311321601 (@cyb3rops)
  • Orange-Cyberdefense