자료실

”해커에게 무한한 권한을 주는” 골든 티켓 공격의 이해


”해커에게 무한한 권한을 주는” 골든 티켓 공격의 이해 


‘골든 티켓 공격(Golden Ticket Attack)’은 화려한 이름만큼 위험이 큰 공격입니다. 명칭은 영국의 작가 로알드 달의 동화 ‘찰리와 초콜릿 공장(Charlie and the Chocolate Factory)’에서 유래했습니다. 동화에서 골든 티켓은 경비가 삼엄한 윌리 웡카의 초콜릿 공장으로 들어갈 수 있는 귀한 입장권입니다. 골든 티켓 공격도 이와 마찬가지로 해커에게 조직의 AD 도메인 전체에 대한 액세스 권한을 부여합니다. 


그런데 2가지 골든 티켓에는 중요한 차이점이 있습니다. 찰리를 비롯해 골든 티켓을 보유한 어린이들은 공장을 견학할 때 대부분 면밀한 감시를 받았지만, 성공적인 골든 티켓에 성공한 해커들은 아무런 제약도 없이 모든 컴퓨터, 파일, 폴더, DC(Domain Controller) 등 도메인에 대한 액세스 권한을 얻습니다. 해커는 원하는 사용자로 가장해 거의 모든 활동을 할 수 있습니다. 


이 파괴적인 공격이 어떻게 전개되는지, 그리고 어떻게 해야 조직을 보호할 수 있는지 살펴봅시다. 


골든 티켓 공격의 진행 과정 

골든 티켓 공격은 마이크로소프트가 윈도우 2000부터 기본 인증 프로토콜로 사용해온 커버로스(Kerberos) 인증 프로토콜의 취약점을 악용합니다. 


정상적인 커버로스 인증 방식 

커버로스에서 사용자는 파일 서버 등 사용해야 하는 다양한 서비스에 대해 직접적으로 자신을 인증하지 않습니다. 대신 KDC(Kerberos Key Distribution Center)가 신뢰할 수 있는 서드파티 인증 서비스 역할을 수행합니다. AD 도메인의 모든 DC는 KDC 서비스를 실행합니다. 


구체적으로 살펴보겠습니다. 사용자가 인증하면 KDC는 고유한 세션 키와 해당 세션의 유효 기간을 지정하는 타임스탬프(보통 8시간 또는 10시간)가 포함된 TGT(Ticket Granting Ticket)를 발급합니다. 사용자는 리소스에 액세스해야 할 때 다시 인증할 필요가 없습니다. 사용자의 클라이언트 기기가 TGT를 보내 사용자가 최근에 이미 인증되었음을 입증합니다. 


KDC는 TGT를 보내기 전에 특별 계정인 KRBTGT 계정을 위한 암호 해시를 사용해 TGT를 암호화합니다. AD 도메인의 모든 DC는 사용자가 리소스에 대한 액세스 권한을 요청할 때 수신되는 TGT를 읽기 위해 이 암호 해시를 공유합니다. 


(해싱은 주어진 암호를 다른 문자열로 수학적으로 변환하는 단방향 알고리즘입니다. 이 문자열은 항상 동일하므로 두 컴퓨터는 각각 암호를 해시해서 그 결과를 비교할 수 있습니다. 결과가 일치하면 두 컴퓨터는 암호를 평문으로 공유하지 않았음에도 같은 암호로 작업을 시작했다는 데 동의하게 됩니다. 해시된 암호를 원래 암호로 직접적으로 되돌리는 것은 거의 불가능하지만, 해커들은 무차별 대입 방법, 즉 수백만 가지의 암호 해시를 생성해서 일치하는 항목을 찾는 수법을 사용합니다.) 


요약하자면, AD의 기본 인증 프로토콜인 커버로스 인증은 ‘KRBTGT 암호 해시로 암호화된 모든 TGT는 정상적인 TGT’라는 전제로 구축되었습니다. 


해커가 커버로스 인증을 속이는 방법 

골든 티켓 공격에서 해커는 KDC를 건너뛰고 직접 TGT를 만들어 다양한 리소스에 대한 액세스 권한을 획득합니다. 해커가 TGT를 만들기 위해서는 다음 4가지 정보가 필요합니다. 


  • 도메인의 FQDN(Fully Qualified Domain Name) 

  • 도메인의 SID(Security Identifier) 

  • 가장하고자 하는 계정의 사용자 이름 

  • KRBTGT 암호 해시 


앞의 3가지 정보는 도메인 사용자 계정을 침해하는 방법으로 비교적 쉽게 얻을 수 있습니다. 이를 위해 해커가 사용할 수 있는 방법은 많습니다. 가장 대표적인 방법은 피싱, 스파이웨어, 무차별 대입 및 자격 증명 스터핑입니다. 


4번째 항목도 중요합니다. 티켓이 DC 관점에서 정상적인 티켓으로 보이게 하려면 공격자는 KRBTGT 암호 해시를 사용해 티켓을 암호화해야 합니다. 이 해시는 해커가 획득하기 더 어려운 만큼 사용하는 수법도 더 정교한데, 그렇다 해도 아주 어렵지는 않습니다. 다음과 같은 수법이 사용됩니다. 


  • NTDS.DIT 파일 탈취 : NTDS.DIT 파일은 도메인 내 모든 사용자의 암호 해시를 포함한 AD 데이터를 저장하는 데이터베이스입니다. 이 파일의 사본은 모든 DC에서 기본적으로 ‘C:\Windows\NTDS\’에 저장됩니다. 이 파일을 획득하면 탐지될 걱정 없이 오프라인으로 느긋하게 시간을 들여 암호를 깨뜨릴 수 있습니다. 그런 다음 이 자격 증명을 사용해 도메인 관리자를 포함한 도메인 사용자를 가장합니다. 

  • 워크스테이션 침해 : 많은 사이버 공격의 첫 번째 단계는 공격자가 사용자 워크스테이션 또는 다른 엔드포인트에 침투하는 것입니다. 사용자에게 시스템 관리자 권한이 있는 경우, 또는 과거에 관리자가 이 시스템에 로그온한 적이 있는 경우에는 메모리 또는 디스크 드라이브에 관리자 암호의 자격 증명 아티팩트가 존재할 수 있습니다. 

  • 미미캐츠(Mimikatz) 사용 : 미미캐츠는 윈도우 시스템에서 자격 증명 데이터를 탈취하는 데 사용되는 툴입니다. 해커뿐 아니라 침투 테스터도 즐겨 사용하며, 공식 빌드가 깃허브에서 유지관리 및 호스팅되고 있어 구하기도 쉽습니다. 

  • DCSync 공격 : 일반적으로 AD 환경에는 여러 DC가 포함되는데, 이런 DC는 사용자 자격 증명 업데이트와 같은 변경 사항의 상호 업데이트를 통해 동기화 상태를 유지해야 합니다. 또한 애저 AD 커넥트(Azure AD Connect)를 포함한 일부 애플리케이션은 복제 권한을 필요로 합니다. DCSync 공격에서 도메인 복제 권한을 보유한 특권 계정의 액세스 권한을 획득한 해커는 DC를 가장해 정상적인 DC에서 암호 해시를 요청하는 방법으로 AD의 이런 기능을 기만합니다. DCSync는 미미캐츠의 기능 중 하나입니다. 


어떤 방법으로 획득하든 KRBTGT 암호 해시는 윌리 웡카의 골든 티켓과 같습니다. 이것만 손에 들면 해커는 커버로스 티켓을 만들어 특권 관리자를 비롯한 원하는 AD 사용자로 위장할 수 있습니다. 게다가 조직의 시간제한 정책 설정을 무시하고 티켓의 유효 기간을 원하는 만큼 설정할 수 있습니다. 도메인에 대한 거의 무한한 권한을 얻게 되는 것입니다. 


어떻게 방어해야 할까? 

골든 티켓 공격을 완전히 막을 수는 없지만, 위험을 크게 낮추는 몇 가지 방법이 있습니다.


KRBTGT 암호를 주기적으로, 특별한 상황마다 변경합니다. 

골든 티켓 공격에 대한 첫 번째 필수적 방어 전략은 KRBTGT 암호를 주기적으로 변경하는 것입니다. 이렇게 해도 해커가 골든 티켓을 만들지 못하는 것은 아니지만 이미 시스템에 있는 골든 티켓은 무효화됩니다. 마이크로소프트는 KRBTGT 계정에 대한 주기적인 암호 업데이트를 권장하며, STIG는 180일 주기로 변경할 것을 권장합니다. 


정해진 일정으로 진행하는 업데이트 외에도 골든 티켓 생성 권한이 있는 사람이 조직에서 나갈 때마다 암호를 변경할 것을 강력하게 권합니다. 이들의 특권 계정을 즉각 삭제한다 해도 TGT는 남을 수 있고 악용될 수 있기 때문입니다. KRBTGT 암호를 재설정하면 이런 티켓이 모두 무효화됩니다. 마지막으로, IT 환경에서 골든 티켓 공격의 증거를 발견하는 경우에는 말할 필요도 없이 즉시 KRBTGT 암호를 변경해야 합니다. 


KRBTGT 계정의 암호 이력 값은 ‘2’입니다. 최근 암호 2개가 저장된다는 의미입니다. 따라서 현재 시스템에 있는 모든 TGT를 무효화하려면 암호를 2번 재설정해야 합니다. 마이크로소프트는 KRBTGT 암호를 수동으로 변경하는 단계를 세부적으로 설명한 자료도 제공하지만, 일반적으로 마이크로소프트가 제공하는 KRBTGT 암호 재설정 스크립트를 사용하는 편이 더 좋습니다. 이 스크립트는 암호를 한 번 변경하고 모든 DC에 복제될 때까지 기다린 후 다시 암호를 변경합니다. 


주의 : KRBTGT 암호를 변경하면 거의 모든 커버로스 작업에 영향을 미치게 된다는 점에 유의하십시오. 특히 발급된 모든 TGT는 이전 암호로 암호화되었으므로 모두 무효화됩니다. 그러나 리소스(예를 들어, 파일 공유, 셰어포인트 사이트 또는 익스체인지 서버)에 대해 이미 설정된 모든 인증된 세션은 서비스 티켓의 재인증이 필요할 때까지 유효한 상태를 유지합니다. 이와 관련해 마이크로소프트가 권장하는 유일한 안정적인 방법은 컴퓨터 재부팅입니다. 재부팅하면 컴퓨터 계정과 사용자 계정이 강제로 로그백되고 따라서 새 KRBTGT 암호 해시로 암호화된 새 TGT를 받게 됩니다. 


암호를 재설정하려면 도메인 관리자 그룹과 로컬 관리자 그룹에 모두 포함되어 있거나 적절한 권한을 위임받아야 합니다. 



KRBTGT 암호 해시에 액세스할 수 있는 계정 수를 최소화합니다. 

최소 권한은 보안, 특히 IT 자산에 대한 보안의 토대입니다. KRBTGT 암호 해시는 성공적인 골든 티켓 공격의 핵심이므로 당연히 가장 귀중한 IT 자산에 해당합니다. 정확히 어느 계정이 DCSync 명령을 실행할 수 있는지 파악하십시오. 기본적으로 ‘builtin\Administrators group and builtin\domain controllers’가 포함됩니다. 또한 애저 AD 커넥트에 사용되는 계정도 일반적으로 DCSync 명령을 실행할 권한이 있습니다. 도메인 관리자, 인쇄 및 서버 운영자처럼 DC에 대한 로그온 권한을 제공하는 그룹의 멤버는 필요한 최소한의 인원으로 유지해야 합니다. 이 중요한 데이터에 액세스할 수 있는 다른 계정을 발견하는 경우 즉시 조사해서 불필요한 권한을 없애야 합니다. 


해커가 특권 자격 증명을 훔칠 수 있는 기회를 최소화합니다. 

최종 사용자에게 워크스테이션에 대한 관리자 권한을 부여하지 말고, 관리자가 엔드포인트에 로그온하지 못하도록 하십시오. 이렇게 하면 공격자가 엔드포인트에 침투한다 해도 골든 티켓 공격에 사용할 특권 자격 증명을 찾을 수 없습니다. 


서비스 계정 암호도 주기적으로 변경하고 암호 추정을 비롯한 무차별 대입 공격에 대비해 비교적 긴 암호를 사용하십시오. 또 다른 팁은 SPN(Service Principal Name)이 생성되거나 수정될 때마다 보안팀이 알림을 받도록 설정해서 모든 관련 정책이 준수되었는지 확인하는 것입니다. 물론 가능하면 일반 서비스 계정을 자동 암호 관리 기능을 제공하는 그룹 관리 서비스 계정으로 대체해야 합니다. 



IT 환경에서 의심스러운 활동을 모니터링합니다. 

보안 태세를 강화하는 것은 언제나 현명한 전략이지만, 환경이 언젠가는 침해된다고 전제해야 합니다. 따라서 골든 티켓 공격이 진행 중임을 나타낼 수 있는 비정상적인 활동을 반드시 살펴야 합니다. 다음과 같은 항목을 모니터링하거나 경보를 설정해야 합니다. 


  • 수명이 긴 TGT : 도메인의 최대 티켓 수명 정책을 초과하는 모든 커버로스 티켓은 공격자가 골든 티켓 취약점을 악용했음을 나타내는 명확한 신호입니다. 이와 같은 티켓을 발견하는 경우 즉시 조사하여 필요한 경우 KRBTGT 암호를 재설정하고 공격이 어떻게 성공했는지 이유를 파악하십시오. 

  • 비정상적인 도메인 복제 활동 : 일상적이지 않은 도메인 복제 활동은 누군가 DCSync 또는 다른 수법을 사용해 암호 해시를 훔치고 있음을 나타내는 신호일 수 있습니다. 신속하게 발견, 조사, 대응한다면 해커의 골든 티켓 공격이 성공하기 전에 차단할 수 있습니다. 

  • DC 활동 : DC에서 실행 중인 실행 파일과 스크립트(특히 파워셸 스크립트)를 면밀히 주시하십시오. 

  • 특권의 변경 : 특히 디버그 권한이 갑자기 활성화된 경우 즉시 조사해야 합니다. 


안타깝게도 네이티브 윈도우 이벤트 로그에는 TGT 타임스탬프가 포함되지 않으므로 이벤트의 홍수 속에서 의심스러운 활동을 찾아내기는 실질적으로 매우 어렵습니다. 골든 티켓 공격을 나타내는 활동을 포착하는 데 필요한 명확하고 세부적인 보고를 제공할 수 있는 서드파티 AD 모니터링 솔루션에 대한 투자를 고려하십시오. 


미끼를 던집니다. 

골든 티켓 공격을 물리치는 또 다른 전략은 AD에 허니팟(honeypot) 개체를 만드는 것입니다. 눈에 잘 띄도록 하고 그럴듯한 사용자 이름을 지정하고 흥미로운 그룹에 대한 멤버십을 부여하고 세계에서 가장 긴 암호를 할당한 다음 잊어버리십시오. 그런 다음 이 계정을 사용한 로그온 시도를 관찰해 보십시오. 깜짝 놀랄 만큼 많은 시도를 볼 수 있을 것입니다. 


결론 

골든 티켓은 그 이름의 유래는 재미있으나 모든 AD 환경에 대한 심각한 보안 위협입니다. 최소 권한 같은 검증된 방법에 따라 보안 태세를 강화해야 하며, 그렇게 하더라도 안전하다고 전제해서는 안 됩니다. IT 생태계에서 일어나는 일, 특히 성공적인 골든 티켓 공격을 위한 핵심적인 요소인 KRBTGT 암호 해시를 훔치려는 시도를 나타내는 활동을 적극적으로 모니터링해야 합니다. 


AD 관리 및 모니터링 솔루션에 대해 궁금한 점이 있으시면 언제든 퀘스트소프트웨어 코리아로 문의주시기 바랍니다.



퀘스트소프트웨어코리아(주)

서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600

전자 메일 KoreaMarketing@quest.com 


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB


퀘스트소프트웨어코리아(주) 서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600 | 전자 메일 KoreaMarketing@quest.com


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB