AdminSDHolder 수정 — 작동 방식과 방어 전략
AdminSDHolder 보안 디스크립터를 수정하는 것은 은밀한 Active Directory (AD) 공격 기법으로, 공격자가 AD가 고권한 계정과 그룹을 보호하기 위해 사용하는 보호된 ACL을 변경합니다. 공격자는 AdminSDHolder ACL을 변경하거나, 혹은 adminCount/SD 전파 프로세스를 조작함으로써 비권한 계정에 지속적이고 도메인 전반에 적용되는 권한을 부여하고, 섀도 관리자(shadow admins)를 만들거나, 일반적으로 권한 상승을 막는 제어를 우회할 수 있습니다. 그 결과로 장기간 지속되는 도메인 장악, 데이터 접근, 그리고 거의 감지되지 않는 지속성이 나타날 수 있습니다.
Attribute | Details |
|---|---|
|
Attack Type |
AdminSDHolder / SDProp manipulation (ACL abuse) |
|
Impact Level |
Very High |
|
Target |
Active Directory domains (enterprise, government, service providers) |
|
Primary Attack Vector |
Modified AdminSDHolder ACL, abused ACL write permissions, compromised privileged/delegated accounts |
|
Motivation |
Privilege escalation, persistent backdoors, domain takeover |
|
Common Prevention Methods |
Restrict write rights to AdminSDHolder, monitor AdminSDHolder/adminCount changes, tiered admin model, PAM/JIT for privileged access |
Risk Factor | Level |
|---|---|
|
Potential Damage |
Very High — domain-wide compromise possible |
|
Ease of Execution |
Medium — requires some privileges or a path to modify AD ACLs |
|
Likelihood |
Medium — many environments expose weak ACL delegation or stale permissions |
AdminSDHolder 수정이란 무엇인가요?
AdminSDHolder는 AD의 특수 컨테이너(CN=AdminSDHolder,CN=System,DC=...)로, 권한이 높은 계정과 그룹을 보호하는 데 사용되는 보안 디스크립터(보안 설명자)를 보관합니다. SDProp 프로세스는 주기적으로 해당 디스크립터를 adminCount 속성 값이 1인 개체에 복사하여, 그 개체들이 강화된 ACL을 유지하고 일반적인 ACL 상속에 의해 약화되지 않도록 보장합니다. 공격자가 AdminSDHolder의 ACL을 수정할 수 있거나, 조작된 ACL 또는 adminCount를 가진 권한 있는 개체를 생성할 수 있다면, SDProp을 통해 해당 변경 사항이 다수의 권한 있는 계정에 자동으로 적용될 수 있습니다.
AdminSDHolder 수정은 어떻게 작동하나요?
아래는 공격자가 AdminSDHolder 및 관련 동작을 어떻게 악용하는지 보여주는 전형적인 공격 체인입니다.
1. 초기 거점을 확보
공격자는 도메인에서 접근 권한을 획득합니다. 예를 들어 저권한 도메인 사용자, 침해된 서비스 계정, 위임된 관리자(Account Operators, Schema Admin 등), 또는 잘못 구성된 자동화 자격 증명일 수 있습니다. 또한 노출된 관리 인터페이스나 취약한 호스트를 악용할 수도 있습니다.
2. AD 보호와 ACL을 정찰한다
초기 침투 지점에서 공격자는 디렉터리 개체를 열거하여 AdminSDHolder 개체와 해당 ACL을 파악하고, AdminSDHolder 및 CN=System에 대해 Write/Modify 권한을 가진 주체가 누구인지, adminCount=1인 계정 집합, 그리고 특권 그룹의 멤버십을 확인합니다. 도구: PowerShell Get-ACL, LDAP 쿼리, ADSI 스크립트.
3. 수정 경로를 식별한다
공격자는 AdminSDHolder에 대한 ACL을 변경할 수 있는 경로를 찾습니다(예: 잘못 위임된 사용자 또는 Account Operators 같은 과도하게 권한이 부여된 그룹, 또는 DS write 권한이 있는 서비스 계정). AD에서 쓰기 권한이 상승한 자동화/서비스 계정이나, 권한이 남아 있는 채로 방치된 계정은 매력적인 표적입니다.
4. AdminSDHolder 또는 보호된 개체의 ACL을 수정한다
허용되는 경우, 공격자는 AdminSDHolder 보안 디스크립터를 수정하여 선택한 주체(principal)에게 강력한 권한(WriteDacl, FullControl, WriteProperty)을 부여하는 ACE를 추가합니다. 또는 개별 보호 계정의 ACL을 변경하거나 백도어 계정에 adminCount=1을 설정할 수도 있습니다. 방법: Set-ACL, LDIF, ldapmodify, 네이티브 Windows APIs.
5. SDProp이 전파되기를 기다립니다
SDProp은 도메인 컨트롤러에서 주기적으로 실행되며 adminCount=1인 모든 개체에 AdminSDHolder 디스크립터를 전파합니다. 전파가 발생하면, 악성 ACE가 보호 계정(대개 Domain Admins)에 적용되어 공격자에게 지속적인 권한 상승 액세스 권한을 제공합니다.
6. 상승된 권한을 사용해 지속성을 유지하고 수평 이동을 수행합니다
새 ACL로 인해 공격자는 도메인 관리자 계정(허용되는 경우)을 장악하고, 민감한 구성(GPO, 신뢰 관계)을 읽거나 수정하며, 추가 서비스 주체(service principal) 또는 섀도우 관리자 계정을 생성할 수 있습니다. 또한 ACL 변경이 감지되지 않으면 간단한 대응만으로는 지속성이 유지되어 공격이 계속될 수 있습니다.
✱ 변형: adminCount 직접 설정 또는 단일 개체 SD 수정
개별 개체를 수정할 수 있는 공격자는 선택한 계정에 adminCount=1을 설정해 SDProp의 대상이 되게 하거나, 고가치 계정의 보안 디스크립터를 직접 교체할 수 있습니다. 두 변형 모두 지속적인 권한 상승 액세스를 제공할 수 있습니다.
공격 흐름도
예시: 조직 관점
공격자가 레거시 백업 도구에서 사용하는 서비스 계정을 손상시킵니다. 해당 서비스 계정에는 CN=System 아래의 하위 트리에 대한 위임된 쓰기 권한이 있습니다. 공격자는 공격자 계정에 AdminSDHolder에 대한 FullControl 권한을 부여하는 ACE를 작성한 뒤 SDProp가 실행될 때까지 기다리고, 그 결과로 얻은 상승된 권한을 사용하여 도메인 관리자 계정을 장악하며 도메인 비밀 정보를 내보냅니다.
예시(실제 환경의 패턴)
Case | Impact |
|---|---|
|
Delegation misconfiguration |
Attackers abused delegated rights (service accounts/automation) to change AdminSDHolder, producing tenant-wide elevated rights. |
|
Shadow admin creation |
An attacker set adminCount=1 for a backdoor account and engineered SD changes so the account inherited privileged ACLs. |
AdminSDHolder 수정의 결과
AdminSDHolder 설명자 또는 보호되는 개체를 변경하면 치명적인 영향을 초래할 수 있습니다:
재정적 결과
특권 계정이 침해되면 IP, 재무 기록 또는 고객 PII가 탈취될 수 있으며, 그 뒤로 규제 기관의 벌금, 사고 대응 비용, 법률 비용, 그리고 잠재적인 몸값 요구가 뒤따를 수 있습니다.
운영 중단
도메인이 손상되면 환경 전반에서 인증 및 권한 부여가 약화됩니다. 서비스가 비활성화될 수 있고, AD는 신중한 복구 또는 재구축이 필요할 수 있으며, 복구 과정에서 비즈니스 운영이 중단될 수 있습니다.
평판 손상
도메인 침해의 증거는 중대한 보안 실패를 의미하며 고객 신뢰, 파트너 관계, 대중적 평판에까지 피해를 줄 수 있습니다.
법적 및 규제 영향
규제 대상 데이터가 노출되면 GDPR, HIPAA 또는 업계별 규정에 따른 조치, 조사, 과태료(벌금)가 발생할 수 있습니다.
Impact Area | Description |
|---|---|
|
Financial |
|
|
Operational |
Auth outages, service disruptions, recovery workload |
|
Reputational |
Loss of trust, contractual penalties |
|
Legal |
Fines, lawsuits, regulatory scrutiny |
일반적인 대상: 누가 위험에 처할 수 있나요?
AdminSDHolder로 보호되는 계정
도메인 관리자, 엔터프라이즈 관리자, 스키마 관리자, 관리자
서비스 계정 및 위임된 비(非)인간 보안 주체
서비스 계정이 실수로 시스템 컨테이너에 대한 쓰기 권한을 부여받음
레거시 자동화
AD 쓰기 기능을 갖춘 백업 도구, 모니터링 에이전트, DevOps 스크립트
규모가 크지만 감사가 제대로 이루어지지 않은 AD 환경
위임된 권한이 많고 오래된 계정이 존재함
위험 평가
Risk Factor | Level |
|---|---|
|
Potential Damage |
Very High — domain control and broad data access possible. |
|
Ease of Execution |
Medium — needs either a path to write AD ACLs or a compromised delegated account. |
|
Likelihood |
Medium — occurs in environments with weak delegation hygiene or unmanaged automation credentials. |
AdminSDHolder 수정 방지 방법
예방을 위해서는 AdminSDHolder를 편집할 수 있는 대상을 줄이고, 탐지 및 거버넌스를 개선해야 합니다.
ACL 및 위임 권한 관리 모범 사례
CN=AdminSDHolder에 대한 권한을 제한하세요. WriteDacl, WriteOwner 또는 FullControl 권한은 신뢰할 수 있는 고권한 주체로만 최소한의 범위에 한해 부여해야 합니다. CN=System 아래에서 위임된 권한을 감사하고 과도한 권한은 회수하세요. 특권이 없는 서비스 계정에는 AD 쓰기 권한을 부여하지 마세요. 자동화에는 전용이며 통제된 특권 ID를 사용하세요.
Privileged Access Management (PAM)
상시 권한 대신 관리자 작업에는 JIT/just-enough access를 사용하세요. 가능하면 서비스에는 관리형 서비스 계정(gMSA)과 단기 유효 인증서/시크릿을 사용하세요.
보안 강화 & 계정 제어
비상 액세스/브레이크-글래스 계정을 강화하고, 레거시/사용하지 않는 서비스 계정을 비활성화하거나 제거하며, 계정 수명 주기 관리를 의무화하세요.
변경 관리 & 직무 분리
중요한 AD 개체(AdminSDHolder, 도메인 루트 ACL) 변경에는 다자 승인(복수 인원 승인)을 요구하세요. ACL 변경과 연결된 변경 티켓을 기록하고 검토하십시오.
기준선 및 무결성 점검
AdminSDHolder의 보안 설명자(security descriptor) 기준선 복사본을 보관하고, 이를 실제 개체와 주기적으로 비교하여 차이가 발생하면 경고하세요. adminCount=1 개체와 특권 그룹 내의 예상치 못한 계정을 정기적으로 검색하십시오.
탐지, 완화 및 대응 전략
탐지
- CN=AdminSDHolder에 대한 쓰기 작업을 감사하고 알림: Directory Service 감사(DS Access)를 활성화하여 AdminSDHolder의 수정 사항을 수집하고, 속성 nTSecurityDescriptor 또는 DACL 변경에 대해 알림을 생성합니다.
- adminCount 변경을 모니터링: 비정상 계정에 대해 adminCount가 1로 설정되면 알림을 표시합니다.
- 보호된 개체에 대해 비(非)관리자 보안 주체에게 높은 권한을 부여하는 새 ACE가 추가되면 알림을 표시합니다.
- 보호된 계정에 대한 수정이 급증하는지 확인합니다(비밀번호 재설정, ACL 변경).
- 특권 그룹의 그룹 멤버십 변경 사항과 예기치 않은 추가가 발생하는지 모니터링합니다.
대응
- 악의적인 ACE를 즉시 제거하고 AdminSDHolder를 마지막으로 확인된 정상 보안 디스크립터(또는 검증된 백업)로 복원하세요.
- 공격자의 접근을 차단하세요. 계정을 비활성화하고 자격 증명을 교체하며, 사용된 서비스 계정 인증서/시크릿을 폐기합니다.
- 가능한 경우 인증 세션을 무효화하세요(예: Kerberos 티켓을 강제로 삭제하고, 재인증을 강제 적용).
- 도메인 무결성 및 영향 평가를 수행하세요. 악의적인 ACE가 어디로 전파되었는지 나열하고, 손상된(유출된) 권한 있는 계정을 식별하며, 수평 이동(lateral) 흔적을 검색합니다.
- 영향을 받은 특권 계정의 자격 증명을 재설정하고 서비스 시크릿을 교체(rotate)하세요.
- 지속성(persistence)을 추적하세요. 생성된 서비스 프린서펄, 예약 작업(scheduled tasks), 악성 스크립트가 포함된 GPO, 또는 수정된 위임(delegation) 항목이 있는지 확인합니다.
완화
- 불필요한 쓰기 위임(write delegations)을 제거하고 통제를 강화하며, 관리자 활동에 대해 Privileged Access Management(PAM)/JIT를 구현해 향후 노출을 제한하세요.
- 감사를 개선하고 알림을 IR 플레이북에 통합하여 탐지와 차단을 더 빠르게 수행하세요.
Netwrix가 도와드릴 수 있는 방법
Netwrix Threat Prevention는 실시간으로 중요한 AD 개체에 대한 무단 변경을 감지하고 차단하여 AdminSDHolder 악용을 막는 데 도움을 줍니다. 객체 및 속성 변경에 대한 완전하고 변조에 강한 감사 추적을 생성하며, DACL 편집, 권한 있는 그룹 또는 GPO 수정과 같은 위험한 작업에 대해 자동으로 경고하거나 방지할 수 있어 지속성 및 도메인 장악의 여지를 줄여줍니다. 팀은 민감한 컨테이너를 잠그도록 정책을 맞춤 설정하고 AdminSDHolder 또는 보호된 계정이 영향을 받을 때 즉각적인 대응을 강제함으로써 Identity에서 시작되는 데이터 보안을 강화할 수 있습니다.
산업별 영향
Industry | Impact |
|---|---|
|
Healthcare |
Loss of domain control could expose EHR systems and patient data, risking HIPAA violations and operational disruption. |
|
Finance |
Domain compromise enables access to financial systems, transaction logs, and customer PII — high regulatory & fraud risk. |
|
Government |
High risk of espionage and national security impact if privileged domains are abused. |
공격의 진화와 향후 트렌드
- ACL 정찰의 자동화 — 공격자들은 대규모 AD 환경에서 쓰기 가능한 시스템 컨테이너와 위임된 권한을 찾기 위한 검색을 자동화하고 있습니다.
- 다른 AD 공격과의 조합 — AdminSDHolder 악용은 Golden Ticket / DCSync / ACL 악용 체인과 결합되어 강력한 지속성을 확보하는 데 사용됩니다.
- 공급망 및 DevOps 노출 — 파이프라인에 유출된 자동화 자격 증명이 위임된 ACL 수정의 공격 경로로 계속 등장하고 있습니다.
- 덜 시끄러운 행동, 더 큰 은폐 — 공격자는 ACL/DACL 조작을 선호합니다. 이는 합법적인 관리 작업과 자연스럽게 섞이기 때문입니다.
핵심 통계 및 텔레мет리(권장 점검 항목)
• CN=System 또는 AdminSDHolder에 대한 비표준 쓰기 권한이 있는 도메인의 비율(위생 상태를 측정).
• adminCount=1인 계정 중 최근에 정당한 관리자 활동이 없는 계정 수
• 환경 내에서 AD 쓰기 권한이 있는 서비스 계정 수
최종 정리
AdminSDHolder 수정은 영향이 크고 교묘한 기법입니다. 공격자는 권한이 있는 계정을 보호하기 위해 AD가 사용하는 메커니즘을 공격함으로써, 많은 단순한 대응 조치에도 살아남는 지속적인 도메인 전반 권한 상승을 달성할 수 있습니다. 이에 대한 방어에는 엄격한 ACL 거버넌스, 최소 권한 위임, 강력한 권한 있는 액세스 제어(Privileged Access Management/JIT), AdminSDHolder 및 adminCount 개체에 대한 지속적인 감사를 수행하고, 악성 ACE를 신속히 제거하며 영향을 받은 자격 증명을 교체하기 위한 리허설된 대응 플레이북이 필요합니다.
자주 묻는 질문
공유하기
Kerberoasting 공격 – 작동 원리와 방어 전략
Entra ID 애플리케이션 권한 악용—작동 방식과 방어 전략
AS-REP Roasting 공격 — 작동 방식과 방어 전략
Hafnium 공격—작동 방식과 방어 전략
DCSync 공격 해설: Active Directory 보안에 대한 위협
Golden SAML 공격을 위한 완전한 가이드
Golden Ticket 공격이란? 작동 방식, 탐지 및 대응(예방)
gMSA 악용 공격과 Golden gMSA 공격 설명
DCShadow 공격 – 작동 방식, 실제 사례 및 방어 전략
ChatGPT 프롬프트 인젝션: 위험 이해, 사례 및 예방
NTDS.dit 추출 공격 이해하기
패스-더-해시(PtH) 공격 이해하기
패스-더-티켓(Pass-the-Ticket) 공격 설명: 위험, 예시 및 방어 전략
비밀번호 스프레이 공격 이해하기
평문 비밀번호 추출(Plaintext Password Extraction) 이해하기: 위험, 예시 및 예방
Zerologon 취약점 설명: 위험, 악용 방법 및 대응 방안
랜섬웨어 공격에 대한 완전한 가이드
Skeleton Key 공격: 작동 원리와 탐지 방법
4가지 서비스 계정 공격과 이를 방어하는 방법
업무에 악성코드 공격이 영향을 미치지 않도록 예방하는 방법
Credential Stuffing이란 무엇인가요?
PowerUpSQL로 SQL Server 침해하기
마우스재킹 공격이란 무엇이며, 이에 대응하는 방법
Security Support Provider(SSP)를 사용한 자격 증명 탈취
레인보우 테이블 공격: 작동 방식과 방어 방법
비밀번호 공격에 대한 종합적 이해와 이를 막는 방법
LDAP Reconnaissance
Pass-the-Cookie 공격으로 MFA 우회하기
Silver Ticket 공격