Network Access Account Credentials

NAA(Network Access Account)는 도메인에 속하지 않아 도메인 인증을 하지 못하는 상황에서도 공통 계정을 사용하여 SCCM 서버에 접속할 수 있도록 관리하는 특수 계정입니다.

Abuse

# NAA 자격 증명 확인
Get-WmiObject -namespace "root\ccm\policy\Machine\ActualConfig" -class "CCM_NetworkAccessAccount"

# 관리자 권한 세션에서 도구를 사용한 자격 증명 복호화
.\SharpSCCM.exe local naa -m wmi --no-banner

Root Cause

SCCM 서버에서 배포한 소프트웨어/애플리케이션 등은 Software Distribution Points(SDPs)에 저장되어 있습니다. 클라이언트는 커버로스/NTLM 인증을 사용하여 도메인 사용자임을 인증 후 SDPs(일반적으로 SMB)에 접근하여 소프트웨어를 다운로드 할 수 있습니다.

이 인증 체계에서는 기본 전재가 커버로스/NTLM 정보가 도메인에 등록되어 있어야 하는 것인데, SCCM 이용을 해야하는 클라이언트 중에는 도메인에 포함되어 있지 않은 경우도 있습니다.

도메인에 포함되지 않은 객체들도 SCCM 서버에 인증하여 접근할 수 있도록 NAA(Network Access Account)를 관리합니다.

NAA는 SCCM이 필요하지만 도메인에 속하지 않은 모든 객체가 공유하는 인증용 계정입니다.

정상적인 조치라면 NAA는 SCCM 통신을 위한 계정인만큼 SDPs에 대한 읽기 권한만을 허용해야 하지만, 실제로는 과도한 권한이 부여되는 경우가 많습니다.

Microsoft는 NAA 대신 안전한 Enhanced HTTP를 사용하라고 알리지만, 그럼에도 NAA를 사용하는 서버들은 많습니다.

NAA를 사용하던 환경에서 Enhanced HTTP 환경으로 전환한다면 WMI에는 더이상 암호화된 로컬 NAA 정보가 나오지 않습니다.

하지만 C:\Windows\System32\wbem\Repository\OBJECTS.DATA 저장소는 모든 CIM 엔티티를 포함하는 파일입니다. NAA 정보가 장치로 전송되어 WMI 클래스에 저장될 때, 실제로 암호화된 데이터는 해당 파일에 저장되기 때문에 Enhanced HTTP로 전환한다고 하더라도 이곳에 자격 증명이 남아있을 수 있습니다.

# 디스크에 저장된 NAA 덤프
.\SharpSCCM.exe local secrets -m disk

References

Last updated

Was this helpful?