일반적으로 Zerologon으로 알려진 CVE-2020-1472는 Microsoft의 Netlogon Remote Protocol (MS-NRPC)에 존재하는 취약점에 대해 부여된 Common Vulnerabilities and Exposures (CVE) 식별자입니다. MS-NRPC는 Active Directory에 있는 사용자 계정과 컴퓨터 계정 모두의 인증에 필수입니다.
Zerologon 취약점은 Netlogon에서 사용하는 암호화 인증 체계의 결함으로, 공격자가 인증을 우회하고 컴퓨터에 대해(도메인 컨트롤러(DC)를 포함) 관리자 수준의 권한을 획득할 수 있게 해줍니다. 본질적으로, 인증되지 않은 공격자는 Netlogon Remote Protocol을 사용해 DC에 연결한 다음 해당 DC의 비밀번호를 자신이 원하는 값(빈 값 포함)으로 변경할 수 있습니다. 이 공격은 인증이 필요 없고 네트워크 액세스만 있으면 되기 때문에 CVSS 점수 10.0(치명적)으로 지정되었습니다. 이는 가능한 최고 점수입니다.
Zerologon 공격 취약성 대응 일정
2020년 8월, Microsoft는 취약성을 해결하기 위한 패치를 발표했으며, 공격을 모니터링하고 완화하는 데 도움이 되는 제어(controls)도 함께 제공했습니다. 2020년 9월 11일, Secura는 Zerologon이라는 이름으로 불리는 이 취약성을 공개적으로 발표했는데, 자신들의 블로그에서 그리고 초기 개념 증명(proof of concept) 코드 를 GitHub에 게시했습니다.
CVE-2020-1472에 대한 패치 배포 외에도 Microsoft는 배포(deployment)와 적용(enforcement)의 두 단계로 구성된 롤아웃 전략을 수립했습니다. 두 단계 모두 현재 완료되었습니다.
1단계: 배포 단계
2020년 8월 Microsoft가 배포한 패치는 배포 단계의 시작을 알렸으며, 이 단계에는 다음 내용도 포함되었습니다:
· Windows 기반 장치의 컴퓨터 계정, 신뢰(트러스트) 계정, Windows 및 비(Non)-Windows DC에서 보안 RPC 사용을 적용
· 새 Group Policy: 도메인 컨트롤러: 취약한 Netlogon 보안 채널 연결 허용
· 새 레지스트리 키: FullSecureChannelProtection
· Netlogon 연결에 대한 새 이벤트
새 Group Policy, 레지스트리 키 및 이벤트에 대한 자세한 내용은 아래에 제공됩니다.
배포 전략은 다음과 같았습니다:
- 포리스트의 모든 DC를 패치하세요.
- 새 이벤트를 모니터링한 다음, 취약한 연결을 수행하는 애플리케이션과 컴퓨터를 가능하면 업데이트하고 예외를 적용합니다. 예외는 Group Policy setting 를 통해 애플리케이션 또는 컴퓨터를 업데이트할 수 없는 경우에 적용합니다.
- 위의 단계를 완료한 경우, 아래에 설명된 강제 적용 단계에 앞서 enforcement mode 레지스트리 키를 활성화하세요.
Group Policy의 자세한 내용
새 Group Policy인 “Domain controller: Allow vulnerable Netlogon secure channel connections”는 업데이트가 배포되는 동안 제3자 장치에 대해 일시적인 조치로 사용하도록 설계되었습니다. 이 정책에는 다음 두 가지 값이 있습니다:
· Allow — 도메인 컨트롤러가 지정된 그룹 또는 계정이 secure RPC 없이 Netlogon secure channel을 사용할 수 있도록 허용합니다.
· Deny — 이 설정은 기본 동작과 동일합니다. 도메인 컨트롤러는 지정된 그룹 또는 계정이 secure RPC와 함께 Netlogon secure channel을 사용하도록 요구합니다.
레지스트리 설정의 자세한 내용
레지스트리 설정의 경로는 다음과 같습니다:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
설정 FullSecureChannelProtection에는 두 가지 가능한 값이 있습니다:
· 0 (이 단계의 기본값) — 비(非)Windows 장치에서 취약한 Netlogon 보안 채널 연결을 허용합니다
· 1 (적용 모드) — 위에서 설명한 새 그룹 정책에서 계정이 지정되지 않은 한, 도메인 컨트롤러는 모든 취약한 연결을 거부합니다.
새 Windows 이벤트에 대한 자세한 내용
Microsoft는 적용 단계 동안 지원 팀을 돕기 위해 다음 이벤트를 릴리스했습니다:
· 이벤트 5827 및 5828 — 이러한 이벤트는 Windows를 지원하지 않는 버전을 실행하는 장치가 연결에 포함될 때 기록됩니다. 또한 Windows가 아닌 장치가 해당 이벤트를 트리거할 수도 있습니다.
· 이벤트 5830 및 5831 — 이러한 이벤트는 연결이 허용되지만, Group Policy 설정으로 인해 그럴 뿐인 경우에 기록됩니다.
· 이벤트 5829 — 이 이벤트는 연결이 허용되지만, 시행( enforcement ) 모드가 적용 중이 아니기 때문에 그럴 뿐인 경우에 기록됩니다.
2단계: 시행(Enforcement) 단계
이 단계는 2021년 2월에 시작되었습니다. 새 Group Policy에서 명시적으로 구성하지 않는 한, Windows 기반이 아닌 장치의 컴퓨터 계정에 대해 보안 RPC 사용을 강제합니다. 이 시점에서 FullSecureChannelProtection 레지스트리 키는 더 이상 필요하지 않았으며, 이벤트 5829는 폐기(퇴역)되었습니다.
Zerologon 공격은 어떻게 작동했을까요?
Zerologon 취약점은 네트워크에 있는 악의적인 공격자가 도메인 컨트롤러 또는 심지어 전체 도메인을 장악할 수 있게 했습니다. 공격자가 Mimikatz 를 사용해 Zerologon 공격을 실행하는 방법은 다음과 같습니다:
- 먼저 공격자는 이 명령을 실행해 대상 도메인 컨트롤러가 Zerologon 익스플로잇에 취약한지 확인합니다:
lsadump::Zerologon /target:sbpmlab-dc3 /account:sbpmlab-dc3$ /null /ntlm
- 공격자가 취약한 DC를 발견하면 동일한 명령을 실행하되 /exploit 를 추가하여 취약점을 악용하고 DC의 비밀번호를 빈 문자열로 변경합니다:
- 비밀번호가 재설정되면 공격자는 DCSync attack 을 실행하기 위해 Mimikatz를 사용하여 도메인 관리자 계정 또는 KRBTGT 계정의 해시를 얻을 수 있습니다:
lsadump::dcsync /domain:sbpmlab.net /dc:sbpmlab-dc3 /user:krbtgt /authuser:sbpmlab-dc3$ /authdomain:sbpmlab /authpassword:”” /authntlm
Netwrix가 도와드릴 수 있는 방법
보시는 것처럼, 네트워크에 이미 발판을 마련한 악의적인 공격자는 패치되지 않은 도메인 컨트롤러를 찾아 Zerologon 공격을 실행하기가 매우 쉽습니다. Netwrix는 위험을 완화하는 데 도움이 되는 두 가지 솔루션을 제공합니다.
Netwrix StealthAUDIT로 Zerologon 위험을 분석하고 완화하세요
Netrix StealthAUDIT는 Zerologon 공격에 대비해 IT 생태계를 강화하기 위해 필요한 조치를 이미 취했는지 확인할 수 있도록 도와줍니다. 특히 도메인 컨트롤러의 상태와 해당 도메인 컨트롤러에서 발생하는 이벤트 및 트래픽에 대해 실행 가능한 정보를 제공하는 두 가지 보고서를 제공합니다.
도메인 컨트롤러 상태 검토
다음 정보는 각 도메인 컨트롤러가 2020년 8월 패치를 수신했는지와 강제(enforcement) 모드에 있는지 여부를 판단하는 데 도움이 됩니다:
· FullSecureChannelProtection 레지스트리 키 값
- 마지막 재부팅 시간
- 해당 머신의 마지막 패치 설치 날짜
다음은 예시 보고서입니다:
그룹 정책 설정 확인
Netwrix StealthAUDIT는 새 그룹 정책인 "Domain controller: Allow vulnerable Netlogon secure channel connections"의 구성도 보고하므로, 어떤 도메인 컨트롤러가 정책에서 예외로 지정되어 있는지 확인할 수 있습니다. 예시 보고서는 아래에 표시됩니다.
빈 도메인 컨트롤러 비밀번호 식별
도메인 컨트롤러에서 비밀번호가 비어 있으면 Zerologon 공격이 발생했음을 의미할 수 있습니다. 원인이 무엇이든 빈 DC 비밀번호는 매우 위험하므로 즉시 수정해야 합니다.
이벤트 로그 분석
Netwrix StealthAUDIT는 8월 패치와 관련된 모든 이벤트 ID도 함께 확인하며, 이벤트 5827, 5828, 5829, 5830 및 5831이 포함됩니다. 이 보고서는 관리자가 환경에서 발생하는 트래픽의 유형과 그 빈도를 이해하는 데 도움이 됩니다. 무엇보다도 5829 이벤트를 생성하고 있는 계정을 식별합니다. 해당 계정은 새 그룹 정책에서 업데이트하거나 예외로 지정해야 합니다.
Netwrix Threat Manager로 Zerologon 공격을 탐지
Netwrix Threat Manager는 Zerologon을 포함한 비정상 행위와 고도화된 위협을 높은 정확도와 속도로 탐지하고 대응할 수 있습니다. 아래 스크린샷은 탐지된 Zerologon 공격의 예시를 보여줍니다:
결론
Zerologon 취약점이 최고 CVSS 점수를 받은 데에는 타당한 이유가 있습니다. 이를 악용하면 공격자가 도메인 컨트롤러를 장악할 수 있기 때문인데, 도메인 컨트롤러는 IT 생태계에서 인증과 권한 부여에 필수적입니다. 따라서 Microsoft가 제시한 2단계 완화 프로세스를 이미 완료했다고 생각하더라도, 경계를 늦추지 않는 것이 현명합니다. DC의 상태를 확인하고, 진행 중인 익스플로잇 징후를 주의 깊게 살피며, 비즈니스가 침해 또는 서비스 중단을 겪기 전에 이를 자동으로 차단할 수 있는 권한을 확보하십시오.
공유하기
더 알아보기
저자 소개
Kevin Joyce
제품 관리 책임자
Netwrix의 제품 관리( Product Management ) 책임자입니다. Kevin은 사이버 보안에 대한 열정이 있으며, 특히 공격자들이 조직 환경을 악용하기 위해 사용하는 전술과 기술을 이해하는 데 집중합니다. Active Directory 및 Windows 보안에 초점을 맞춰 제품 관리 분야에서 8년의 경험을 쌓아, 조직이 Identity, 인프라 및 데이터를 보호할 수 있도록 솔루션을 구축하는 데 그 열정을 더했습니다.