설명
NTLM Security Service Provider(NTLMSSP)의 취약점은 일반 사용자(공격자)가 관리자 권한으로 임의의 코드 실행을 가능하게 한다. 이 때 공격자는 유효한 계정을 사용하여 로컬 로그인을 수행해야 하며(해당 취약점에 대한 리모트 공격은 불가능) 해당 NT 시스템에서 코드를 수행시킬 수 있는 권한이 있어야하며한다.
NTLMSSP 서비스는 services.exe 내부에서 로드되는 ntlmssps.dll 파일에 의해 특정포트 (NtLmSecuritySupportProviderPort)에서 클라이언트의 LPC 연결을 기다리고 있으며 NTLM 프로토콜 내부의 암호연산을 처리하게 된다. 클라이언트는 NTLM 프로토콜의 여러 단계를 처리하기 위해 NTLMSSP에 여러 요청들을 보내게 되며 자신이 어떠한 기능을 원하는지에 대한 인덱스를 LPC 요청의 첫번째 32bits 워드 영역에 기입하고 NTLMSSP는 이 기능 인덱스가 적절한지를 검사하게 된다. 이 때 NTLMSSP는 이 기능 인덱스를 unsigned 형태로 처리해야 하나 signed 형태로 처리함으로 인해 만약 기능 인덱스가 음수 형태를 지니고 있는 경우 기능 인덱스 유효성 검사를 통과하게 된다.
NTLMSSP의 특정포트에 연결하기 위해서는 NtConnectPort라는 API를 사용하게 되며 이 API는 공격자로 하여금 공유메모리영역을 시스템 주소 영역으로 매핑할 수 있도록 허락한다. 공격자는 이 공유메모리 영역에 자신이 만든 임의의 코드를 채워넣음으로써 NTLMSSP이 연결 요청을 처리하는 동안 채워진 임의의 코드가 NTLMSSP에 의해 실행되게 할 수 있다. 이 때 실행되는 코드의 권한은 SYSTEM 권한이 되게 된다.
결함기종
Service Pack 6a까지의 Windows NT 4.0 버전
해당없음
Windows 2000 version
해결책
MS에서 이 문제점의 교정을 위해 배포한 패치를 이용한다.
Microsoft Windows NT 4.0 Workstation, Server, and Enterprise Edition:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=27804

운영자
01-02-14 11:18
0개
2,423회
Local promotion vulnerability in NT4's NTLM Security Support Provider
댓글목록
등록된 댓글이 없습니다.