KoreanHackerTeam
Moderator
MS14-068 漏洞分析
1 漏洞简介
2014.11.18의 Microsoft는 MS14-068 패치를 출시하여 모든 버전의 Windows 서버에 영향을 미치는 심각한 취약점을 수정했습니다. 해커가 일반 사용자의 권한을 늘려 도메인 관리자가되도록 Microsoft Windows Kerberos KDC 취약점을 해결하는 데 사용됩니다. 공격자는 이러한 고가의 권한을 사용하여 도메인 서버를 포함하여 도메인의 모든 컴퓨터를 제어 할 수 있습니다.2 原理分析
2.1 kerberos 认证流程

서버가 클라이언트가 보낸 TG를 수신 한 후 클라이언트가 TGS에서 선언하는 도메인 그룹을 비교하고 서버의 ACL과 비교 한 다음 클라이언트에 어떤 종류의 리소스 액세스 권한을 결정해야합니다.
Microsoft는 PAC를 사용하여 TGS의 클라이언트가 선언 한 도메인 그룹을 나타냅니다. PAC (권한 속성 인증서), 권한 속성 인증서.
2.2 PAC
PAC에는 클라이언트 사용자와 그룹의 SID가 포함되어 있습니다. Pac은 클라이언트의 그룹 속성을 결정합니다. 즉, 클라이언트의 권한을 결정합니다.PAC에는 자체 정당성을 보장하기 위해 2 개의 서명도 포함되어 있습니다. 핵심은 KRBTGT의 NTLM입니다. 사용자 SID 및 Group SID 외에도 서명 된 컨텐츠에는 다른 부분이 있습니다.
PAC는 KRBTGT의 주요 TGT의 일부로 암호화됩니다.

클라이언트는 KDC의 AS 모듈에 대한 인증 요청을 시작합니다. TGT를 반환 할 때 Client의 사용자 SID, Group SID 및 2 개의 서명을 포함하여 클라이언트가 위치한 그룹을 기반으로 PAC를 생성하여 PAC가 변조되지 않도록합니다.
Tgt의 일부로 PAC를 클라이언트에게 보내십시오.
클라이언트가 TGT를 사용하여 KDC의 TGS 모듈에 대한 서버 서비스에 대한 액세스를 시작하면 KDC의 TGS 모듈은 먼저 TGT를 암호화하고 2 개의 서명을 확인하여 PAC의 정당성을 확인합니다.
확인되면 KDC의 TGS 모듈은 이전 서명을 2 개의 새로운 서명으로 대체하여 PAC가 변조되지 않도록합니다. 첫 번째 서명 키는Server 的 NTLM이고 두 번째는Server 与 Client 的临时会话密钥(Server Session Key)입니다.
다시 서명 된 PAC는 발행 된 액세스 티켓 TGS에 배치되며 서버의 NTLM을 키로 사용하여 암호화 및 보호됩니다.
서버가 클라이언트로부터 TGS를 수신 한 후, TGS를 해독하여 정당성을 확인하고 PAC의 2 개의 서명을 확인하고 PAC의 정당성을 확인한 다음 클라이언트의 액세스 권한을 확인합니다.
2.3 漏洞成因
클라이언트 인증 요청을 시작할 때 포함 된 PAC 포함 PAC를 False를 설정하여 반환 된 TGT에는 PAC가 포함되지 않습니다.

KDC가 PAC를 검증하지만 PAC의 꼬리에있는 서명 알고리즘에 대해 원칙적으로 Key가있는 서명 알고리즘이어야하므로 Microsoft는 구현시 서명 알고리즘을 허용합니다. 클라이언트가 서명 알고리즘을 지정하는 한 KDC 서버는 서명 검증을 위해 지정된 알고리즘을 사용합니다.
따라서 위조 된 컨텐츠는 합법적 일 수 있으며 컨텐츠의 가치는 서명으로 직접 추가 될 수 있습니다 (첫 번째 이유)
PAC는 다른 곳에 TGT에 배치되지 않습니다. KDC는 여전히 TGT에 배치되지 않은 PAC 정보를 올바르게 파열 할 수 있습니다.
PAC는 키에 의해 암호화되어야합니다
KDC는 Authenticator에서 세션 키를 꺼내고 PAC 정보를 해독하며 클라이언트가 설정 한 서명 알고리즘을 사용하여 서명을 확인합니다 (두 번째 이유).
KDC가 PAC없이 TGT를 성공적으로 확인한 후에는 TGT가 아닌 PAC의 정당성을 확인합니다.
둘 다 성공적으로 확인되면 KDC는 PAC에서 사용자 SID 및 Group SID를 꺼내 서명을 위해 재사용합니다. 시그니처 알고리즘과 키는 포함 된 PAC 플래그를 true로 설정할 때와 정확히 동일합니다. 새로 생성 된 PAC를 해독 된 TGT에 추가 한 다음 새 TGT를 다시 밀어 넣고 ST가 아닌 클라이언트로 보내십시오 (세 번째 이유)


