Net-NTLMv1을 방치한 조직은 12시간 안에 AD 전체를 뺏깁니다.

Net-NTLMv1을 방치한 조직은 12시간 안에 AD 전체를 뺏깁니다.

김현수·2026년 1월 24일·3

맨디언트의 Net-NTLMv1 레인보우 테이블 공개로 인해 보안 위협이 급증했습니다. 12시간 안에 AD 권한을 탈취당할 수 있는 위험성과 즉각적인 해결 방안을 정리합니다.

보안은 확률 싸움이 아니라 비용 싸움입니다. 공격자가 투자해야 할 비용이 방어자가 지켜야 할 자산 가치보다 낮아지는 순간, 뚫리는 건 시간 문제입니다.

구글 클라우드의 맨디언트(Mandiant)가 최근 Net-NTLMv1 프로토콜에 대한 레인보우 테이블(Rainbow Tables)을 전면 공개했습니다. 이건 단순한 데이터셋 배포가 아닙니다. 20년 묵은 기술 부채(Technical Debt)를 안고 사는 조직들에게 보내는 '사형 선고'나 다름없습니다.

더 이상 '우리 시스템은 폐쇄망이라 괜찮다'거나 '레거시 호환성 때문에 어쩔 수 없다'는 핑계는 통하지 않습니다. 이제 공격자는 고가의 장비 없이도 반나절이면 당신 회사의 도메인 컨트롤러(DC) 권한을 탈취할 수 있습니다.

상황이 얼마나 심각하게 변했는지, 그리고 당장 무엇을 해야 하는지 정리했습니다.

1. 배경: 부채의 만기 도래

Net-NTLMv1은 1999년에 나온, 사실상 암호학적으로 사망 선고를 받은 프로토콜입니다. DES(Data Encryption Standard) 기반의 취약한 구조 때문에 수년간 '사용 중지' 권고를 받아왔습니다.

하지만 현업에서는 여전히 레거시 시스템과의 호환성, 혹은 관리자의 무관심(Inertia)으로 인해 알게 모르게 활성화된 경우가 많습니다. 맨디언트는 이 관성을 깨기 위해 직접 칼을 빼 들었습니다. 그동안 공격자들이 비싼 하드웨어나 클라우드 연산 비용을 들여야 했던 '키 복구' 과정을 누구나 수행할 수 있도록 데이터를 푼 것입니다.

2. 문제점: 공격 비용의 붕괴

이번 레인보우 테이블 공개가 갖는 의미는 공격의 '민주화'입니다.

  • 필요 장비: 고성능 연산 클러스터 또는 유료 크래킹 서비스 → $600 미만의 일반 소비자용 하드웨어
  • 소요 시간: 수일~수주 혹은 불확실 → 12시간 이내 확정적 복구
  • 난이도: 암호학적 지식 및 리소스 필요 → 스크립트 키디(Script Kiddie) 수준으로 하락

핵심 위험 시나리오

  1. 공격자가 내부망에 진입하거나, 피싱 등을 통해 내부 PC 하나를 장악합니다.
  2. PetitPotam이나 DFSCoerce 같은 도구로 도메인 컨트롤러(DC)가 공격자의 머신으로 인증을 시도하도록 강제(Coercion)합니다.
  3. 이때 Responder를 사용해 Net-NTLMv1 챌린지 값을 고정(1122334455667788)하여 해시를 탈취합니다.
  4. 공개된 레인보우 테이블을 사용해 DC 계정의 패스워드 해시를 복원합니다.
  5. 복원된 해시로 DCSync 공격을 수행하여 AD(Active Directory) 내 모든 계정 정보를 털어갑니다.

이 모든 과정이 하루가 채 걸리지 않습니다.

3. 기술적 세부 사항

공격자는 다음과 같은 흐름으로 움직입니다.

  • 데이터셋 확보: gsutil을 통해 구글 클라우드 버킷(gs://net-ntlmv1-tables/tables)에서 약 7TB 분량의 테이블을 다운로드합니다.
  • 전처리: 탈취한 Net-NTLMv1 해시를 ntlmv1-multi 도구를 이용해 DES 암호문 형태로 변환합니다.
  • 크래킹: rainbowcrack 등의 도구에 테이블을 로드하여 키를 찾아냅니다. 맨디언트의 실험에 따르면 일반적인 GPU 환경에서 키 복구까지 반나절이 걸리지 않았습니다.
  • 권한 상승: 찾아낸 키로 원본 NT 해시를 재구성하고, 이를 이용해 secretsdump.py 등을 실행하면 도메인 관리자 권한을 획득하게 됩니다.

4. 해결방안: 즉시 차단

이 문제의 유일하고 확실한 해결책은 Net-NTLMv1을 비활성화하는 것입니다. "나중에 검토해 보겠다"는 안 됩니다. 지금 당장 정책을 확인하십시오.

조치 방법 (그룹 정책 설정)

다음 경로의 정책 값을 수정해야 합니다.

  • 경로: Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options
  • 항목: Network security: LAN Manager authentication level
  • 설정 값: "Send NTLMv2 response only" (최소 NTLMv2만 응답하도록 설정)

    • 더 강력한 보안을 위해서는 "Refuse LM & NTLM" 옵션까지 고려해야 합니다.

운영 팁

무턱대고 차단하면 오래된 복합기나 레거시 파일 서버가 먹통이 될 수 있습니다. 하지만 그게 무서워서 보안 구멍을 열어두는 건 더 큰 직무유기입니다. 로그를 분석하여 Net-NTLMv1을 사용하는 클라이언트를 식별하고, 해당 장비를 교체하거나 예외 처리를 하되, 전사 정책은 반드시 NTLMv2 전용으로 가야 합니다.

5. 기대효과

  1. 공격 벡터 제거: 인증 강제(Coercion) 공격을 당하더라도, NTLMv2는 레인보우 테이블 공격에 취약하지 않으므로 자격 증명 탈취가 훨씬 어려워집니다.
  2. 규정 준수: 더 이상 1999년도 보안 기술에 의존하지 않음을 증명하여 보안 감사를 통과할 수 있습니다.
  3. 심리적 안정: 적어도 $600짜리 장비를 가진 초보 해커에게 회사의 운명을 맡기지 않아도 됩니다.

오래된 코드는 썩기 마련이고, 오래된 프로토콜은 뚫리기 마련입니다. 구글이 테이블을 공개한 이유는 명확합니다. 이제 그만 놓아주라는 뜻입니다.

당신의 AD가 내일 아침에도 무사하길 바란다면, 지금 당장 그룹 정책 편집기를 여십시오.

김현수
김현수10년 차 시니어 개발자

SI의 척박한 땅에서 시작해 빅테크의 대규모 트래픽까지 경험한 생존형 개발자입니다. '화려한 기술'보다 '퇴근을 보장하는 안정성'을 신봉하며, 주니어들의 삽질을 방지하기 위해 펜을 들었습니다.

김현수님의 다른 글

댓글 0

첫 번째 댓글을 남겨보세요!