Netwrix 1Secure는 데이터와 아이덴티티 전반에 걸쳐 통합된 가시성을 제공합니다 - 14일간 무료로 전체 액세스가 가능합니다.무료 평가판 시작

리소스 센터블로그

무제한 위임

무제한 위임

Jun 21, 2025

무제한 위임은 심각한 사이버 보안 위험을 의미합니다. AD 환경에서 사용자 및 컴퓨터 개체에 적용되는 Active Directory 위임 제어를 악용하기 위한 조치를 취하면, 공격자는 내부에서 가로 이동(lateral movement)하여 도메인까지 장악할 수 있습니다.

이 블로그 게시물에서는 공격의 한 영역(비제약 위임, unconstrained delegation)을 살펴보고, 보안 팀과 관리자에게 이 보안 위험을 완화하기 위한 효과적인 전략을 제공합니다.

비제약 위임(unconstrained delegation)이란 무엇인가요?

위임(Delegation)을 통해 사용자 또는 컴퓨터가 다른 계정을 가장하여 리소스(예: 백엔드 데이터베이스 서버)에 액세스할 수 있습니다. 위임에는 여러 가지 실용적인 적용 사례가 있으며, Microsoft는 이 블로그 게시물에서 이를 다룹니다

사용자 또는 컴퓨터 계정의 위임(Delegation) 탭을 사용하면 비제약 위임(unconstrained delegation) 또는 제약 위임(constrained delegation) 중 하나를 구성할 수 있습니다.

  • “Trust this computer for delegation to any service (Kerberos delegation only),”를 선택하면 비제약(unconstrained)
  • 또는 특정 Service Principal Names (SPNs)를 지정하여 사용자 또는 컴퓨터가 가장할 수 있는 서비스의 범위를 제한할 수 있습니다. 이는 제한적 위임입니다.

Unconstrained Delegation 1

또 다른 옵션으로는 리소스 기반 제한적 위임 (RBCD)가 있습니다. 이 방식에서는 리소스에 대해 위임이 구성되며, 리소스에 액세스하는 계정에 구성하는 것이 아닙니다. RBCD는 Windows PowerShell을 사용해 설정할 수 있습니다.

제약 없는 위임(unconstrained delegation)의 위험은 무엇인가요?

제약 없는 위임(unconstrained delegation)에 대해 수행할 수 있는 공격은 여러 가지가 있습니다. 그중 일부는 harmj0y의 이 블로그 글에서 다루고 있으며 Sean Metcalf가 다른 사례들을 설명합니다。몇 가지를 살펴봅시다.

예시 1: 제약 없는 위임(unconstrained delegation)을 악용해 전체 AD 포리스트를 손상시키기

보안 연구자들은 한 포리스트에서 무제한 위임(unconstrained delegation)으로 설정된 머신을 공격자가 장악하면, 다른 포리스트와 그 안의 모든 도메인을 손상시킬 수 있다는 방법 을 보여주었습니다. 양방향 트러스트(two-way trust)가 설정되어 있다면, 공격자는 MS-RPRN 프린터 버그를 사용해 DC가 인증 정보를 공격자에게 다시 전송하도록 만들 수 있으며, 그러면 공격자는 DCSync 를 사용해 신뢰된 도메인을 손상(compromise)시킬 수 있습니다. 예를 들어, 회사가 소규모 회사를 인수하고 그 회사의 도메인을 귀사의 도메인에 조인했다면, 소규모 환경의 시스템을 장악한 공격자가 귀사의 회사 전체 포리스트를 장악할 수도 있는데, 이는 결코 좋은 상황이 아닙니다.

이 버그에 대한 수정 사항을 제공하기 위해 KB article 이 공개되었고, Windows Server 2012 이상에는 이를 방지하기 위한 보안 설정이 있습니다. 다만 기본값으로 켜져 있지 않을 수 있습니다.

예시 2: 무제한 위임(unconstrained delegation)을 악용해 측면 이동(lateral movement) 활성화

또 다른 시나리오가 있습니다. 컴퓨터에서 무제한 위임(unconstrained delegation)이 켜져 있으면, 계정이 해당 컴퓨터에 연결할 때마다 Key Distribution Center(KDC)에서 발급한 티켓-발급 티켓(ticket-granting ticket, TGT)이 나중에 컴퓨터가 사용할 수 있도록 메모리에 저장됩니다. 만약 그 머신이 침해되면, 공격자는 해당 TGT를 확보한 뒤 이를 악용해 막대한 피해를 일으킬 수 있습니다. 특히 TGT가 권한이 매우 높은 사용자에 대한 것이라면 더욱 위험합니다.

예를 들어, Domain Admin이 공유 폴더에 접근하는 방식으로 Common Internet File System(CIFS) 를 통해 특정 컴퓨터에 접속한다고 가정해 보겠습니다. 무제한 위임(unconstrained delegation)이 켜져 있지 않으면, 메모리에는 티켓-발급 서버(ticket-granting server, TGS)만 저장됩니다. 이 티켓은 로컬 머신의 CIFS 서비스에만 접근할 수 있게 해주므로, 공격자는 이를 이용해 측면 이동(lateral movement)을 할 수 없습니다. Mimikatz 명령 sekurlsa::tickets /export 를 사용하면 이를 확인할 수 있으며, 이 명령은 사용자 서비스 티켓(TGS)만 반환합니다:

Unconstrained Delegation 2

하지만 무제한 위임(unconstrained delegation)이 활성화되어 있으면, 해당 명령은 관리자 계정의 TGT를 반환하며, 공격자는 이를 사용해 전체 도메인을 손상시키는 Pass-the-Ticket 공격을 수행할 수 있습니다.

Unconstrained Delegation 3

시스템에 연결하는 모든 사용자로부터 TGT를 수집하기 위해 공격자는 다음 PowerSpoit 명령을 사용할 수 있습니다:

Unconstrained Delegation 4

무제한 위임(unconstrained delegation)을 활성화하는 데 필요한 권한

개체의 위임 제어를 관리하려면 사용자는 다음 권한이 필요합니다:

  • SeEnableDelegationPrivilege(사용자 권한)는 도메인 컨트롤러의 로컬 security policy에 의해 제어되며, 다음 Group Policy setting “Enable computer and user accounts to be trusted for delegation”를 통해 관리됩니다(아래 그림 참고).
  • 컴퓨터에 대한 msDS-AllowedToDelegateTo 및 userAccountControl 특성을 업데이트할 수 있으며, 이 Group Policy 설정 이 저장됩니다

Unconstrained Delegation 5

제한 없는 위임(Unconstrained Delegation) 찾기

제한 없는 위임(unconstrained delegation)이 활성화된 위치를 확인하려면 다음 PowerShell 스크립트를 사용할 수 있습니다. 이 스크립트는 모든 컴퓨터의 사용자 계정 컨트롤(User Account Control, UAC) 값을 확인하여, 제한 없이 위임이 켜져 있는 위치를 찾아냅니다.

Unconstrained Delegation 6

또한 누가 SeEnableDelegationPrivilege 권한을 부여받았는지 확인해 보는 것도 좋습니다. 이를 위해 PowerSploit과 Get-DomainPolicy 명령을 사용할 수 있습니다.

제한 없는 위임에서 발생하는 위험을 줄이기 위한 모범 사례

제한 없는 위임(unconstrained delegation)으로 인한 위험을 줄이려면 다음을 권장합니다:

  • 제한 없는 위임(unconstrained delegation)이 실제로 필요한지 확인하십시오. 많은 경우 제한 없는 위임이 실수로 활성화되었으며, 완전히 비활성화하거나 제한 위임(constrained delegation) 또는 리소스 기반 제한 위임(resource-based constrained delegation)으로 전환할 수 있습니다. 제한 위임 계정을 침해한 공격자는 DC(도메인 컨트롤러)에서 어떤 사용자든 가장하여 DC의 어떤 서비스로든 접근할 수 있으므로, 제한 위임을 도메인 컨트롤러(DC)에 구성하는 것은 권장되지 않습니다.
  • “This account is sensitive and cannot be delegated” 옵션을 사용하여 민감한 계정이 위임에 사용되지 않도록 하십시오.
  • 권한이 있는 사용자를 Protected Users 그룹에 배치하십시오. 이렇게 하면 해당 사용자가 위임에 사용되는 것을 방지하고, 인증 후 TGT가 컴퓨터에 남지 않게 됩니다.
  • 위임된 계정의 활동을 면밀히 모니터링하십시오. 어떤 유형이든 위임이 구성되고 사용되는 모든 시스템에서는 의심스러운 활동이 있는지 모니터링해야 합니다.

Netwrix가 어떻게 도와드릴 수 있나요?

무제한 위임(Unconstrained delegation)은 악의적인 사용자가 Active Directory 환경에 대한 액세스를 획득하고 지속성을 만들기 위해 악용할 수 있는 수많은 공격 벡터 중 하나입니다. Netwrix Active Directory Security Solution 를 통해 다음을 수행할 수 있습니다:

  • 불필요한 위임, 과도한 권한, 상시(privileged) 권한 및 GPO 오구성 등 보안 위험을 파악하고, 대응(완화) 노력을 우선순위로 정할 수 있습니다.
  • 전체 IT 인프라에 걸쳐 안전한 구성을 설정하고, 강화된 기준선(hardened baseline)에서 발생한 부적절한 변경 사항을 식별 및 수정하여 이를 지속적으로 유지할 수 있습니다.
  • Kerberoasting, DCSync, dit extraction, Golden Ticket 같은 고도화된 위협을 신속하게 탐지하고 대응할 수 있습니다.Kerberoasting, DCSync, dit extraction 그리고 Golden Ticket 공격.
  • 알려진 공격에 대한 대응을 자동화하여 피해를 최소화하세요.
  • 보안 침해 또는 기타 사고 발생 시 Active Directory를 빠르게 복구할 수 있도록 하세요.

FAQ

Active Directory에서 사용할 수 있는 위임 유형에는 어떤 것이 있나요?

조직에서 사용할 수 있는 위임 유형은 3가지입니다:

  • 제약 없는 위임
  • 제약된 위임
  • 리소스 기반 제약 위임 (RBCD)

리소스 기반 제약 위임(RBCD)이란 무엇인가요?

RBCD를 사용하면 리소스를 소유한 관리자가 해당 리소스에 대한 액세스를 위임할 수 있습니다.

RBCD를 어떻게 구성할 수 있나요?

사용자를 대신하여 액세스를 허용하도록 리소스 서비스를 구성하려면 Windows PowerShell cmdlet (New-ADComputerNew-ADServiceAccountNew-ADUserSet-ADComputerSet-ADServiceAccount 및 Set-ADUser)와 함께 매개 변수를 사용하면 됩니다. PrincipalsAllowedToDelegateToAccount.

Netwrix Directory Manager 무료 평가판을 신청하세요

공유하기

더 알아보기

저자 소개

Asset Not Found

Joe Dibley

보안 연구원

Netwrix의 보안 연구원이며 Netwrix Security Research Team의 일원입니다. Joe는 Active Directory, Windows 및 다양한 엔터프라이즈 소프트웨어 플랫폼과 기술 분야의 전문가로, 새로운 보안 위험, 복잡한 공격 기법, 그리고 이에 대한 대응(완화)과 탐지 방법을 연구합니다.