SCCM
개념
SCCM(Microsoft System Center Configuration Manager)은 네트워크 내 윈도우 호스트들을 업데이트하거나 패치 하는데 사용되는 Intune 솔루션 제품들 중 하나다.
SCCM Server: SCCM을 전반적으로 관리하는 서버
SCCM Client: SCCM에 등록된 뒤 업데이트 및 패치를 받을 클라이언트 호스트
DP (Distribution Point): SCCM 클라이언트들이 다운받고 설치할 패키지들을 배포하는 서버
NAA (Network Access Account): SCCM 클라이언트가 머신 계정으로 DP나 SCCM 서버에 접근할 수 없는 경우, 대신 사용하게 되는 SCCM 전용 네트워크 접근 계쩡
SCCM에는 NAA라는 계정이 존재한다. 클라이언트들은 SCCM 서버 혹은 DP 서버에 접근할 때 원래 자신의 머신 계정을 이용하는데, 이때 접근이 불가능할 경우 NAA를 사용하게 된다. NAA와 관련된 계정 정보 (유저이름, 비밀번호) SCCM 클라이언트가 SCCM 서버에 등록될 때 자동적으로 클라이언트에게 전송된다. 클라이언트가 서버에 등록할 때 다양한 정책과 설정 관련된 파일들을 XML 형태로 다운받게 되는데, 이때 NAA 계정 정보가 들어간 NAAConfig.xml
도 같이 다운받게 된다.
NAAPolicy.xml
에는 NAA 계정 정보가 암호화 + 난독화 되어 있는 상태로 저장된다. 먼저 난독화가 진행된 뒤, 이 난독화된 blob에 암호화를 진행한다. 암호화에는 SCCM 클라이언트가 등록할 때 생성한 Self-Signed Certificate 의 RSA 공개 키에서 도출된 키가 사용된다.
공격
공격 사전 조건
SCCM 서버가 네트워크안에 있으며, SCCM을 사용 중
SCCM 서버가 NAA 를 사용하도록 설정
공격자가 머신 계정을 생성할 수 있도록 MachineAccountQuota 가 0 이상이거나, Authentication Coercion 공격 가능
위 조건들이 맞는 다면 공격자는 만들어놨던 머신 계정을 이용하거나 Authentication Coercion을 이용해 SCCM 서버에 머신 계정으로 접근한 뒤, 가짜 디바이스를 생성하고 SCCM 서버에 등록한 다음, 서버가 배포하는 NAAConfig.xml
에서 NAAPolicy.xml
을 받아온다. 그 뒤, 자신의 Self-Signed Certificate RSA 공개키에서 도출한 키를 사용해 NAA 계정 정보를 복호화 한 뒤, 윈도우의 기본 DLL 파일인 PolicyAgent.dll
을 이용해 NAA 계정 정보를 역난독화 한 뒤 NAA 의 평문 유저 이름과 비밀번호를 알아낼 수 있다.
NAA 계정의 경우 네트워크 내 호스트들에 접근한 뒤 패키지들을 설치하거나 패치를 진행하는 등의 일을 해야하기 때문에 로컬 관리자 권한을 갖고 있는 경우가 많다. 즉, NAA 계정 정보만 성공적으로 얻어낼 수 있다면 공격자는 순식간에 네트워크 내의 모든 윈도우 호스트들을 장악할 수 있게 된다.
실습
정보 수집
SCCM 서버 정보 수집
MAQ 및 Auth Coercion 확인
공격 1 - Machine Account + SCCMWtf
머신 계정을 생성한 뒤 SCCM 서버에 접근, 가짜 디바이스 생성, NAAConfig + NAAPolicy를 받아온다
공격 2 - Authentication Coercion + SCCM Relay
Post-Ex - NAAPolicy.xml 역난독화
XPN이 발표한 policysecretunobfuscate.c
를 컴파일 한 뒤, NAAPolicy.xml
파일안의 NetworkAccessUsername
와 NetworkAccessPassword
의 CDATA 값을 줘서 실행하면 평문 비밀번호가 나온다.
이제 얻어낸 평문 유저 이름과 평문 비밀번호로 네트워크 내 다양한 머신들을 장악하면 된다.
레퍼런스
https://blog.xpnsec.com/unobfuscating-network-access-accounts/
https://github.com/xpn/sccmwtf
https://github.com/ThePorgs/impacket/pull/14
https://www.thehacker.recipes/ad/movement/sccm-mecm
https://posts.specterops.io/the-phantom-credentials-of-sccm-why-the-naa-wont-die-332ac7aa1ab9
Last updated