Active Directory 공격 표면
AD의 신뢰 관계와 인증이 악용될 수 있는 방식을 알아봅니다.
Active Directory 공격 표면은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
AD가 주요 표적이 되는 이유
액티브 디렉터리(AD)는 대부분의 기업에서 신원 관리의 핵심 기반입니다. AD는 사용자, 컴퓨터 및 서비스의 인증, 권한 부여와 정책을 관리합니다. 거의 모든 리소스가 AD를 신뢰하므로 도메인 하나가 침해되면 네트워크 전체가 침해되는 경우가 많습니다.
레드팀의 관점에서 AD가 매력적인 이유는 신뢰가 전이적이고 잘못된 구성이 수년에 걸쳐 누적되기 때문입니다. 블루팀도 AD를 방어하려면 동일한 공격 표면을 이해해야 합니다.
- 하나의 포리스트에는 신뢰 관계로 연결된 여러 도메인이 포함될 수 있습니다.
- 도메인 컨트롤러(DC)는 모든 비밀 정보의 권위 있는 사본을 보유합니다.
- 그룹 정책은 도메인에 가입된 모든 호스트에 구성을 적용합니다.
핵심 구성 요소
공격을 분석하려면 관련된 개체를 알아야 합니다. AD는 계층적 LDAP 데이터베이스에서 모든 것을 특성을 가진 개체로 저장합니다.
- 사용자와 컴퓨터는 SID를 가진 보안 주체입니다.
- 그룹은 전이적으로 권한을 부여합니다(중첩된 멤버십).
- 조직 구성 단위(OU)는 개체를 구조화하고 GPO를 연결합니다.
- krbtgt 계정은 모든 Kerberos 티켓에 서명하는 키를 보유합니다.
krbtgt 계정은 가장 중요한 자산입니다. 이 계정의 해시가 있으면 골든 티켓을 위조할 수 있습니다.
인증 프로토콜
AD는 두 가지 주요 인증 프로토콜을 지원하며, 두 프로토콜 모두 악용 경로를 가지고 있습니다.
- NTLM은 사용자 암호 해시에 기반한 질의-응답 방식입니다. 릴레이 공격과 패스 더 해시 공격을 가능하게 합니다.
- Kerberos는 티켓 기반이며 우선적으로 사용되지만, 케르베로스팅, AS-REP 로스팅 및 티켓 위조에 노출됩니다.
방어자는 NTLMv1을 비활성화하고 NTLM 사용을 모니터링하며 SMB 서명을 적용하여 릴레이 공격의 효과를 줄여야 합니다.
LDAP를 사용한 열거
인증된 열거는 일반적으로 도메인에 발판을 확보한 후 가장 먼저 수행하는 단계입니다. 권한이 낮은 사용자도 기본적으로 디렉터리 대부분을 읽을 수 있습니다.
도구는 LDAP를 조회하여 사용자, 그룹, ACL 및 신뢰 경로를 매핑합니다.
# BloodHound SharpHound collector (run as domain user)
SharpHound.exe -c All --zipfilename loot
# PowerView: find users with SPNs (kerberoastable)
Get-DomainUser -SPN | select samaccountname,serviceprincipalnameACL 및 권한 경로
그룹 멤버십 외에도 AD 개체에는 액세스 제어 목록(ACL)이 있습니다. 잘못 구성된 ACL은 기존 감사로는 보이지 않는 공격 경로를 만들어 냅니다.
- GenericAll 및 GenericWrite를 사용하면 보안 주체가 암호를 재설정하거나 SPN을 설정할 수 있습니다.
- WriteDacl을 사용하면 공격자가 개체 ACL을 다시 작성하여 자신에게 권한을 부여할 수 있습니다.
- DCSync 권한(디렉터리 변경 복제)을 사용하면 원격으로 모든 해시를 가져올 수 있습니다.
BloodHound는 이러한 관계를 그래프의 간선으로 시각화하여 도메인 관리자까지의 최단 경로를 드러냅니다.
도메인 신뢰
신뢰 관계는 도메인과 포리스트를 연결하여 한 도메인의 보안 주체가 다른 도메인의 리소스에 액세스할 수 있게 합니다. 이는 주요 측면 이동 경로입니다.
- 부모-자식 신뢰는 포리스트 내에서 양방향이며 전이적입니다.
- 외부 신뢰와 포리스트 신뢰는 보안 경계를 가로지릅니다.
- SID 기록 악용과 영역 간 TGT를 사용하면 신뢰 경계를 넘어갈 수 있습니다.
진정한 보안 경계는 도메인이 아니라 포리스트입니다. 더 취약한 도메인을 신뢰하면 포리스트 전체가 노출될 수 있습니다.
일반적인 잘못된 구성
대부분의 AD 침해는 제로데이가 아니라 구성 상태의 이탈을 악용합니다. 반복적으로 발생하는 문제는 다음과 같습니다.
- 약한 암호와 SPN을 가진 서비스 계정(케르베로스팅 가능).
DONT_REQ_PREAUTH가 설정된 계정(AS-REP 로스팅 가능).- 숨겨진 관리자 권한을 부여하는 과도한 중첩 그룹 멤버십.
- GPP
cpassword또는 SYSVOL 스크립트에 저장된 암호. - DC가 아닌 서버에 설정된 비제한 위임.
위임 위험
Kerberos 위임을 사용하면 서비스가 사용자를 대신하여 작업할 수 있습니다. 이를 잘못 사용하면 권한 상승 수단이 됩니다.
- 비제한 위임은 서버에 사용자 TGT를 캐시합니다. 해당 서버를 침해하면 관리자를 포함하여 인증하는 모든 사용자의 권한을 얻을 수 있습니다.
- 제한 위임은 대상 범위를 제한하지만 S4U2Self/S4U2Proxy를 통해 악용될 수 있습니다.
- 리소스 기반 제한 위임(RBCD)은 컴퓨터 개체에 대한 쓰기 권한을 가진 누구나 구성할 수 있습니다.
방어 가시성
방어자는 계층화와 모니터링을 통해 공격 표면을 줄입니다.
- 계층형 관리자 모델을 구현하십시오. 0계층(DC 및 신원 관리)의 자격 증명은 하위 계층에 절대 사용하지 않습니다.
- Protected Users 그룹을 사용하고 민감한 계정에서는 NTLM을 비활성화하십시오.
4768/4769(TGT/TGS 요청),4662(DCSync) 이벤트와4624로그온 유형을 모니터링하십시오.- LAPS를 배포하여 로컬 관리자 암호를 고유하게 만들고 주기적으로 변경하십시오.
AD의 공격 수명 주기
일반적인 AD 침투 활동은 반복 가능한 수명 주기를 따릅니다. 이를 알면 공격 시뮬레이션과 탐지 설계 모두에 도움이 됩니다.
- 발판 확보: 피싱 또는 노출된 서비스로 권한이 낮은 계정을 확보합니다.
- 열거: BloodHound가 경로를 매핑합니다.
- 권한 상승: 케르베로스팅, ACL 악용 또는 위임을 사용합니다.
- 장악: DCSync를 수행한 다음 지속성을 위해 골든/다이아몬드 티켓을 사용합니다.
공격 표면 안전하게 매핑하기
AD를 점검할 권한을 부여받은 경우 범위와 로그 기록이 중요합니다. 기준선을 수집하고 서면 승인을 받으며, 운영 계정의 암호 재설정처럼 파괴적인 작업은 피하십시오.
합의된 시간대에 수집기를 실행하고 획득한 데이터를 암호화하여 보관하십시오. 점검 중 생성한 임시 개체(실험실 사용자, RBCD 항목)는 항상 초기화하십시오.
# Enumerate trusts and forest topology (PowerView)
Get-DomainTrust
Get-ForestDomain
# Find unconstrained delegation hosts
Get-DomainComputer -Unconstrained | select dnshostname빠른 확인
AD 공격 표면에 대한 이해도를 점검해 보십시오.
복습
AD가 가치가 높은 표적이 되는 이유와 악용을 가능하게 하는 공격 표면을 살펴보았습니다.
- AD의 신뢰는 전이적이며, 실제 보안 경계는 포리스트입니다.
- NTLM과 Kerberos는 각각 서로 다른 악용 경로를 노출합니다.
- ACL, 위임 및 오래된 서비스 계정은 숨겨진 권한 경로를 만듭니다.
- BloodHound는 이러한 경로를 매핑하며, 계층화, LAPS 및 이벤트 모니터링으로 방어할 수 있습니다.
다음으로 Kerberos와 케르베로스팅을 자세히 살펴보겠습니다.
자주 묻는 질문
“Active Directory 공격 표면” 강의는 무료인가요?
네 — “Active Directory 공격 표면” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“Active Directory 공격 표면”에서 뭘 배우나요?
AD의 신뢰 관계와 인증이 악용될 수 있는 방식을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“Active Directory 공격 표면” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Active Directory 공격 표면
- Kerberos와 Kerberoasting
- Pass-the-Hash와 Pass-the-Ticket
- 권한 상승과 도메인 장악