ESC8
ADCS를 이용하여 인증 기관으로부터 인증서 발급/관리/갱신/폐기 등의 작업을 할 때
별도의 도구나 프로그램을 설치하지 않고도 웹 서비스를 통해 할 수 있는 기능이 있습니다.
관리자가 CA에 웹을 등록했다면 http://< IP>/certsrv를 통해서 인터페이스 사용이 가능합니다.
이것이 필요한 이유는 웹을 통한 편리한 관리 및 호환성 때문입니다.
하지만 인가된 사용자만이 웹 서비스를 이용하여 ADCS를 이용하기 위해서는
사용자 인증이 필요한데, 이곳에서 NTLM을 통한 인증이 사용될 수 있습니다.
아래 HTTP Response 메시지는 ADCS 웹 서비스를 구현한 엔드포인트에
cURL을 통해서 HTTP 요청 패킷을 전송시 반환되는 메시지입니다.
이와 같이 서버의 헤더에 NTLM 인증이 활성화된 경우 Windows는 자동으로
클라이언트의 개입 없이 NTLM을 통한 인증을 하게 됩니다.
따라서 공격자가 다른 사용자의 NTLM 인증 과정을 가로채어 웹 서비스에서 인증한다면
ADCS로부터 가로챈 객체의 인증서 pfx 파일을 탈취할 수 있고,
이 파일로부터 ST를 발급받아 NT Hash를 덤핑할 수 있습니다.
다음은 이를 간략하게 표현한 그림입니다.
공격자가 DC를 자신이 수신하는 서버에 강제 인증 하도록 한다.
DC의 NTLM은 공격자에게 탈취된다.
공격자는 탈취한 NTLM 값으로 ADCS에 DC임을 인증하고 인증서 요청
ADCS는 DC의 pfx 파일을 공격자에게 전송
공격자는 pfx 파일을 통해 DC에 TGT 발급 요청
DC는 공격자에게 TGT 발행
Abuse
Mitigation
모든 ADCS 웹 인터페이스에서 HTTPS 프로토콜을 활성화 하여 NTLM Relay로부터 보호합니다.
클라이언트 인증 및 도메인 머신 계정 등록을 허용하는 템플릿을 제한합니다.
References
Last updated
Was this helpful?