반응형

출처: https://blog.preempt.com/the-security-risks-of-ntlm-proceed-with-caution


NTLM (NT LAN Manager)은 Windows 2000을 시작하는 Kerberos로 대체 된 Microsoft의 이전 인증 프로토콜입니다. Microsoft Windows 컴퓨터와 서버간에 계정을 인증하기 위해 Microsoft 엔지니어가 설계 및 구현했습니다. 15 년이 넘는 기간 동안 Windows 배포에 대한 기본 설정이 아니었지만 아직 많이 사용되고 있으며 완전히 포기 된 네트워크를 아직 보지 못했습니다. 사실 최신 버전의 Active Directory에서도 지원됩니다.stormy-proceedcaution.png

네트워크에서 NTLM을 사용하면 쉽게 악용 될 수 있으며 조직이 위반 위험에 처하게됩니다. 이 블로그에서는 NTLM이 위험한 이유와 이러한 위험을 완화 할 수있는 최선의 방법을 논의 할 것입니다. [Preempt가 NTLM을 어떻게 도와 줄 수 있는지 보려면이 비디오를확인하십시오 ]

빠른 재미있는 사실

  • NTLM 이전에는 Microsoft에서 LAN Manager (LM) 인증 프로토콜을 사용했습니다.
  • 프로토콜은 IBM과 함께 Microsoft에서 개발했으며 인터넷이 참신하고 사이버 위협이 무섭지 않은 단순한 시대의 상징이었습니다.
  • LM은 극히 약한 암호화 체계를 사용합니다. 현대 연산 장치의 경우 LM 해시는 일반 텍스트 암호를 보내는 것과 거의 같습니다.
  • NTLM은 1993 년에 Windows NT 3.1에서 도입되었으며 나중에 Windows NT 4.0의 두 번째 버전 (NTLMv2)에서 향상되었습니다.
  • NTLMv2는 암호 강도에 대한 몇 가지 보안 향상 기능이 있지만 그 결함 중 일부는 그대로 남아있었습니다.
  • Windows의 최신 버전에서도 NTLM이 지원됩니다.
  • Active Directory는 기본 NTLM 및 Kerberos 구현에 필요합니다.

NTLM 인증 흐름

NTLM을 사용하면 서버에서 생성 된 임의의 챌린지를 암호화하여 서버에 대한 신원을 증명할 수 있습니다.

그림 1은이 흐름을 보여줍니다.

  1. 사용자 컴퓨터가 서버 연결 요청을 보냅니다 (2 단계).
  2. 서버는 임의의 nonce를 생성하여 사용자가 암호화합니다 (3 단계)
  3. 사용자 시스템은 암호 해시로 논스를 암호화하여 암호에 대한 지식을 증명합니다 (4 단계)
  4. 서버는 자체 SAM 데이터베이스의 데이터를 사용하거나 도메인 컨트롤러에서 유효성 검사를 위해 챌린지 - 응답 쌍을 전달하여 올바른 사용자 암호로 암호화 된 챌린지가 실제로 만들어 졌는지 확인하여 사용자 ID의 유효성을 검사합니다 (5-7 단계의 DC 유효성 검사)

NTLM.png

모든 버전의 NTLM이이 흐름을 사용합니다. 버전 간의 주요 차이점은 NTLMv2에서 클라이언트는 클라이언트 넌스와 타임 스탬프를 포함한다는 것입니다. 이렇게하면 오프라인 재생 공격을 완화하는 데 도움이됩니다.

문제점 및 취약점

이제 정말 흥미로운 것들을 위해서. 당신은 매우 책임있는 관리자라고 해봅시다. 모든 시스템이 패치되었는지 확인하십시오. 네트워크 및 엔드 포인트 보호 솔루션이 있습니다. 물론 LM 및 NTLMv1을 사용하지 않도록 설정하면 더 안전한 NTLMv2 만 허용됩니다.

여기에 문제가 있습니다.

약한 암호화

모든 NTLM 버전은 비교적 약한 암호화 체계를 사용합니다. 나는 약점이 거래 차단기가 아님을 동의하지만 해시를 해킹하고 일반 텍스트 비밀번호를 얻는 것이 상대적으로 더 쉽습니다. 첫째, 해시는 상대적으로 약한 MD4를 기반으로합니다. 둘째, 비록 해시가 전선을 통해 전송되기 전에 소금이 칠해 지더라도 해시가 기계의 메모리에 저장됩니다. 그러나 최악의 문제는 시스템에 인증하기 위해 사용자가 대상에서 챌린지에 응답해야하며, 암호가 오프라인 크래킹에 노출된다는 것입니다. 그냥 최근 한이 문제가 얼마나 심각한 설명하기 위해 게시 된 8 자 모든 암호가 거의 표준 하드웨어보다 하루에 금이 될 수있다.

약한 논스

클라이언트와 서버는 DC의 도움없이 자체적으로 챌린지를 위해 넌스 (nonce)를 생성하고 취약한 넌스 (nonce)를 분배하면 악의적 인 위장이 발생할 수 있습니다. 약한 넌센스를 누가 만들 것인지 묻는 경향이있을 수 있으며 그 대답은 Microsoft입니다. 네, 올바르게 들었습니다. 2011 년에는 Microsoft SMB (Server Message Block) 서버 구현이 nonces에 심각한 보안 문제 가 있음을 발견했습니다 이러한 문제는 수정되었지만 약 20 년 동안 발견되지 않았습니다. 이제 타사 서버 및 NTLM 구현과 관련하여 어떤 일이 벌어지고 있는지 상상해보십시오.

다중 요소 인증 없음 (MFA)

엄격하게 암호 기반 인 NTLM은 스마트 카드 및 기타 다중 요소 인증 솔루션에 대한 효과적인 지원이 부족합니다. 물론, 로그인에 스마트 카드를 활용하고 NTLM으로 인증 할 수 있지만, 다른 사람들이 지적했듯이 이것은 (이전 블로그 게시물 에서 언급했듯이 ) 해시를 전달할 수 있기 때문에 전체 스마트 카드 배포를 다소 조롱 거리가됩니다. NT 해시를 직접 사용하십시오.

NTLM 릴레이

이 모든 것들은 메인 코스 전 애피타이저입니다. NTLM의 가장 중요한 문제는 일반적으로 상호 인증을 제공하지 않는다는 것입니다. 이 문제는 그 자체로 문제가되는 반면, NTLM이 재생 및 중간자 공격에 취약해질 수있는보다 심각한 문제로 이어집니다. 이는 사용자가 NTLM을 통해 서버를 인증 할 때마다 발생할 수 있습니다. 연결을 가로 챌 수 있고 (실제 침입 또는 손상된 시스템을 통해) 사용자가 자격 증명을 사용하여 네트워크의 서버로 원하는 모든 작업을 수행 할 수 있습니다 기본적으로 중계 NTLM cred 공격의 공격 경로는 2001 년 이후 였으며 여전히 많은 공격 대상 입니다.

한 가지 방법은 모든 컴퓨터에서 SMB 서명을 강제하는 것입니다. 그러나이 구성은 네트워크 전체에서 시행하기가 어려우므로 HTTP를 통한 NTLM이 여전히 악용 될 수 있기 때문에 문제를 부분적으로 만 해결할 수 있습니다. 이 NTLM 문제를 사용한 최근의 악용 (다른 문제와 함께)은 Hot Potato입니다 .이 약점을 통해 손님 계정으로 코드를 실행하는 모든 Windows 컴퓨터에서 로컬 관리자 권한을 얻을 수 있습니다. Microsoft가 이러한 취약점에 대해 나열한 완화 방법 중 하나는 네트워크 보안을 유지하는 것이며 이러한 취약점은 네트워크에 이미 심각한 위반이있는 경우에만 악용 될 수 있다고 명시합니다. 오늘날의 "위반 가정"사고 방식으로 이것은 만족스럽지 않습니다.  

올해의 Black Hat 컨퍼런스에서 보안 연구원 인 Hormazd Bilimoria와 Jonathan Brossard는 Internet Explorer (또는 Edge)를 속여 로컬 인트라넷에없는 서버에 인증함으로써 NTLM 릴레이를 사용 하여 인터넷에서 네트워크를 손상시킬 수있는 방법을 보여주었습니다 악성 img 태그를 사용하여 또한 여러 가지 응용 프로그램 (MS 및 타사 모두)에서 모두 사용되어 특정 DLL을 사용하여 문제가 모두 안전하지 않다는 것을 보여주기까지했습니다. 즉, Internet Explorer (또는 Edge)가 기적적으로 패치 된 경우에도 취약한 응용 프로그램이 많이있을 수 있습니다.

결론

NTLM이 위험하다는 메시지를 받았기를 바랍니다. 그리고 조직의 네트워크에서주의해서 (완전히 제한되지는 않지만) 사용해야합니다. 사실, 결함 중 일부는 프로토콜의 가장 깊은 부분에 뿌리를두고 있기 때문에 최신 Windows 버전 중 일부가 패치되기 전까지 패치되지 않습니다. 그렇다면 왜 NTLM은 여전히 ​​주위에 있습니까? 레거시 프로토콜이기 때문에 아무 것도 깨지 않으면 서 네트워크에서 제거하기가 매우 어렵습니다. Microsoft는 NTLM을 제한하기위한 지침 을 제공합니다. 이 가이드에서는 모든 NTLM 트래픽을 감사하고 NTLM을 사용하는 서버와 사용자를 분석 한 다음 NTLM을 제한 한 후 사용을 중단하고 예외로 설정해야하는지 판단합니다.

나중에 블로그에서 NTLM을 제거하는 것이 어려운 이유와 UEBA (User Entity and Behavior Analysis) 솔루션을 사용하여 누가 NTLM을 사용하는지 분석하고 결정하고 네트워크의 위험을 평가하며 NTLM을 줄일 수있는 모든 이유에 대해 논의 할 것입니다 공격 표면.

반응형

+ Recent posts