
ADManager Plus 빌드 < 7210 권한 상승 취약점
Modify Computers는 ADManager에서 컴퓨터를 관리하기 위한 사전 정의된 역할입니다. 기술 사용자가 컴퓨터에 대해 Modify Computers 권한을 가지고 있으면 컴퓨터 개체의 userAccountControl 및 msDS-AllowedToDelegateTo 특성을 변경할 수 있습니다. 이러한 방식으로 기술 사용자는 위임된 조직 구성 단위(Organizational Unit) 내의 모든 컴퓨터에 대해 제한된 Kerberos 위임(Constrained Kerberos Delegation)을 설정할 수 있습니다.
ADManager가 주장하는 것과 달리, Modify Computers 역할을 가진 사용자는 Active Directory에서 컴퓨터 개체의 권한을 변경할 수 있습니다. 제한된 Kerberos 위임(Constrained Kerberos Delegation)은 CIFS, LDAP, HOST 서비스와 같은 모든 서비스에 대해 설정할 수 있습니다. 그러면 사용자는 제한된 Kerberos 위임을 악용하여 이러한 서비스에 접근할 수 있습니다. 또한 userAccountControl 특성을 변경하여 컴퓨터 개체에 대해 무제한 Kerberos 위임(Unconstrained Kerberos Delegation)을 설정할 수도 있습니다. 일반적으로 SeEnableDelegationPrivilege 권한을 가진 사용자만 제한된 Kerberos 위임을 설정할 수 있습니다. 기본적으로 BUILTIN\Administrators 그룹의 구성원만 이 권한을 가집니다. 조직 구성 단위에 위임된 사용자는 컴퓨터 계정에 GenericAll 권한이 있더라도 제한된 Kerberos 위임을 설정할 수 없으므로, Active Directory의 위임 프로세스는 이 권한을 부여하지 않습니다. 그러나 기술 사용자는 Modify Computers 역할을 통해 SeEnableDelegationPrivilege 권한을 사용할 수 있습니다.
ADMP 웹 앱 권한 부여 문제: 사전 정의된 Modify Computers 역할을 할당하면 기술 사용자가 컴퓨터의 사용자 지정 특성을 예기치 않게 수정할 수 있게 위임됩니다. UI에서 이 권한이 부여되지 않은 것처럼 보이지만, 추가 사용자 지정 특성(Additional Custom Attribute) 속성이 할당되어 broken access control(깨진 접근 제어) 취약점이 발생합니다.
컴퓨터 개체의 userAccountControl 및 msDS-AllowedToDelegateTo 특성을 편집하는 데 제한이 없습니다. ADMP 애플리케이션은 설계대로 도메인 관리자 권한으로 변경을 수행하므로, 일부 제한(예: 특성 값의 형식)을 우회할 수 있다면 우리의 요청은 도메인 관리자 권한으로 적용됩니다. 이러한 방식으로 userAccountControl 및 msDS-AllowedToDelegateTo 특성을 편집할 수 있습니다.
기술 사용자는 도메인 사용자(Domain User)에서 도메인 관리자(Domain Admin)로 권한을 상승시킵니다. 사용자는 컴퓨터의 도메인 컨트롤러 LDAP 서비스에 대해 제한된 Kerberos 위임을 구성한 후 DCSync 공격을 사용하여 krbtgt 계정 해시를 가져올 수 있습니다. 또 다른 예로, 사용자는 CLIENT1$에 대해 DC의 CIFS 서비스에 제한된 Kerberos 위임을 설정한 다음 CIFS 서비스에 접근할 수 있습니다. 결과적으로 사용자는 CLIENT1$를 관리하도록 위임되었지만 예기치 않게 사용자를 가장하여 도메인 컨트롤러의 CIFS 서비스에 접근할 수 있습니다.
공격자는 다음 사전 조건을 충족한 후 LDAP 서비스에 대한 제한된 Kerberos 위임을 추가하여 DCSync 공격을 수행할 수 있습니다:
시나리오 1: 공격자가 컴퓨터에 대한 로컬 관리자 권한을 가지고 있고 ADManager Plus에서 "Modify Computers" 역할로 이 컴퓨터를 관리할 수 있는 경우
시나리오 2: 공격자가 Active Directory에 컴퓨터를 추가하고(MAQ, 위임) "Modify Computers" 역할로 이 컴퓨터를 관리할 수 있는 경우
시나리오 3: 공격자가 컴퓨터 계정의 NT 해시를 덤프할 수 있고(mimikatz, secretsdump 등으로 해시 덤프) "Modify Computers" 역할로 이 컴퓨터를 관리할 수 있는 경우
이 개념 증명은 ADManager Plus Build 7203에서 수행되었습니다.
https://github.com/user-attachments/assets/496b3bfd-a95f-4d69-8ee5-53ae0592ebdb