관리자 세션의 리플레이 공격 취약점과 방어
증상 진단: 내부 네트워크에서 발생하는 권한 상승 및 비정상적 로그
도메인 관리자 계정으로 로그인한 적이 없는데, 해당 계정의 활동 로그가 Active Directory 또는 주요 서버의 이벤트 뷰어에 기록되고 있나요? 특정 서버에서만 접근 가능해야 할 파일이 다른 세그먼트의 워크스테이션에서 접근되었다는 보고가 있나요? 이는 관리자 세션 토큰 또는 인증 정보가 탈취되어 재사용되는 ‘리플레이 공격(Replay Attack)’의 전형적인 징후입니다. 공격자는 네트워크 패킷을 감청(Capture)하여 획득한 유효한 인증 데이터를 그대로 서버에 재전송하여 정상 사용자인 것처럼 위장합니다.
원인 분석: 취약한 인증 프로토콜과 세션 관리
리플레이 공격이 성공하는 근본 원인은 크게 두 가지입니다. 첫째, NTLM(NT LAN Manager)과 같은 레거시 인증 프로토콜의 사용입니다. NTLM은 챌린지-응답 방식이지만, 응답값 자체가 재사용될 수 있는 구조적 취약점을 가지고 있습니다. 둘째, Kerberos 티켓 부여 티켓(TGT) 또는 서비스 티켓이 충분히 보호되지 않은 채 네트워크를 통해 전송될 때 발생합니다. 특히, 암호화되지 않은 환경이나 약한 암호화 수준(Clear Text, RC4)을 사용하는 환경에서 이 위험은 극대화됩니다.
주의사항: 본 가이드의 해결 방법은 기존 인프라의 통신 및 인증 방식을 변경합니다. 변경 전 반드시 테스트 환경에서 검증을 수행하고, 모든 주요 시스템 및 응용프로그램과의 호환성을 확인해야 합니다. 특히 레거시 시스템(Windows Server 2008 R2 이하, 오래된 NAS/스캐너)에 미치는 영향을 중점적으로 평가하십시오.
해결 방법 1: 근본적 차단 – 레거시 인증 프로토콜 사용 중지
가장 효과적이고 근본적인 조치는 취약한 인증 프로토콜 자체를 네트워크에서 제거하는 것입니다. 앞서 언급한 windows 환경에서는 NTLMv1 및 심지어 NTLMv2의 사용을 최소화하고 Kerberos를 강제하는 정책을 적용해야 합니다.
다음은 Group Policy를 통해 도메인 수준에서 레거시 인증을 차단하는 단계입니다.
- Group Policy Management Console(
gpmc.msc)을 관리자 권한으로 실행합니다. - 도메인 수준 또는 특정 OU(조직 구성 단위)에 연결된 GPO(그룹 정책 개체)를 선택하거나 새로 생성합니다. 예: “도메인 전체 – 보안 인증 정책”
- 해당 GPO를 우클릭하여 “편집”을 선택합니다.
- 다음 경로로 이동합니다:
컴퓨터 구성 > 정책 > Windows 설정 > 보안 설정 > 로컬 정책 > 보안 옵션 - 다음 정책을 더블클릭하여 설정을 변경합니다:
- 네트워크 보안: LAN Manager 인증 수준:
NTLMv2 응답만 보내기/거부(LM 및 NTLM)또는NTLMv2 응답만 보내기로 설정합니다. LM 및 NTLMv1을 완전히 거부하는 것이 최선입니다. - 네트워크 보안: NTLM 기반 인증에 대한 최소 세션 보안 구성:
128비트 암호화 필요,NTLMv2 세션 보안 필요옵션을 모두 활성화합니다. - Microsoft 네트워크 서버: Digitally sign communications (always):
사용으로 설정합니다. 이는 서버 측에서의 패킷 변조 및 리플레이를 방지합니다.
- 네트워크 보안: LAN Manager 인증 수준:
- 변경 사항을 저장하고, 해당 GPO가 적용될 대상 컴퓨터(도메인 컨트롤러, 멤버 서버, 클라이언트)에 대해
gpupdate /force명령어를 실행하여 정책을 강제로 새로 고침합니다.

호환성 문제 대처 방안
위 정책 적용 후 특정 장비(예: 오래된 복합기, Linux Samba 서버)에서 인증 실패가 발생할 수 있습니다. 이 경우, 해당 장비의 IP 또는 호스트명을 예외 목록에 추가하는 정책을 별도로 구성해야 합니다. 다음 레지스트리 경로를 통해 제어할 수 있습니다: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0에서 BackConnectionHostNames 또는 NtlmMinClientSec 값을 조정합니다. 하지만 이는 임시 조치이며, 해당 장비의 업그레이드 또는 교체를 계획해야 합니다.
해결 방법 2: 세션 보안 강화 – Kerberos Armoring 및 AES 암호화 강제
Kerberos 프로토콜을 사용하더라도, 약한 암호화를 사용하면 티켓을 탈취당할 수 있습니다. Windows의 Kerberos 구현체는 AES 256비트 암호화를 지원하며, 이를 강제하고 통신 채널 자체를 보호해야 합니다.
- Group Policy Management Console에서 새로운 GPO를 생성하거나 기존 GPO를 편집합니다.
- 다음 경로로 이동합니다:
컴퓨터 구성 > 정책 > 관리 템플릿 > 시스템 > Kerberos - 다음 정책을 활성화하고 구성합니다:
- Kerberos 클라이언트 지원 암호화 유형 구성:
활성화후,AES256_HMAC_SHA1및AES128_HMAC_SHA1만 선택하고,RC4_HMAC_MD5,DES_CBC_MD5등은 선택 해제합니다. - 도메인 컨트롤러에 대한 LDAP 서버 서명 요구 사항:
활성화후서명 필요로 설정합니다. LDAP 트래픽의 변조를 방지합니다.
- Kerberos 클라이언트 지원 암호화 유형 구성:
- 더 게다가.
컴퓨터 구성 > 정책 > windows 설정 > 보안 설정 > 로컬 정책 > 보안 옵션에서 다음을 설정합니다:- 도메인 구성원: 보안 채널 데이터 디지털 암호화 또는 서명(항상):
사용 - 도메인 구성원: 최대 컴퓨터 계정 암호 사용 기간:
30일 이하로 설정합니다. 컴퓨터 계정 패스워드의 주기적 갱신을 유도합니다.
- 도메인 구성원: 보안 채널 데이터 디지털 암호화 또는 서명(항상):
해결 방법 3: 실시간 감지 및 대응 – 향상된 로깅과 Credential Guard 배포
공격을 완전히 차단하는 것과 동시에, 시도 자체를 탐지하고 기록하는 것이 중요합니다. 또한 메모리 내에서 평문 자격 증명이 저장되는 것을 방지해야 합니다.
단계 1: 향상된 인증 로깅 활성화
기본 감사 정책만으로는 리플레이 공격을 구분하기 어렵습니다, 고급 감사 정책을 구성해야 합니다.
- gpo 편집기에서
컴퓨터 구성 > 정책 > windows 설정 > 보안 설정 > 고급 감사 정책 구성 > 감사 정책으로 이동합니다. - 계정 로그인 및 로그인 카테고리 아래의 모든 하위 정책을
성공 및 실패로 설정합니다. 특히 Kerberos 인증 서비스 및 Kerberos 서비스 티켓 작업 이벤트는 필수입니다. - 도메인 컨트롤러와 주요 서버의 이벤트 로그 크기를 증가시킵니다 (예: 4GB). PowerShell 명령어
wevtutil sl Security /ms:4294967295를 관리자 권한으로 실행하여 보안 로그의 최대 크기를 설정할 수 있습니다.
단계 2: Credential Guard 배포
Credential Guard는 Windows의 하이퍼바이저 기반 보안 기능으로, NTLM 해시, Kerberos 티켓 부여 티켓 등 자격 증명을 격리된 보안 환경에서 보호합니다. 이는 메모리 덤프 공격이나 Mimikatz와 같은 도구를 통한 자격 증명 탈취를 근본적으로 차단합니다.
- 호스트 시스템이 가상화 기반 보안(VBS)을 지원하는지 확인합니다. PowerShell(관리자)에서
Get-ComputerInfo -Property "DeviceGuard*"명령어로 확인 가능합니다. - Group Policy를 통해 배포하는 것이 가장 안정적입니다. GPO 편집기에서
컴퓨터 구성 > 관리 템플릿 > 시스템 > Device Guard경로로 이동합니다. - 가상화 기반 보안 사용 정책을
활성화하고, 플랫폼 보안 수준을보안 부팅 또는 DMA 보호 사용또는보안 부팅 및 DMA 보호 사용으로 설정합니다. - Credential Guard 사용 정책을
활성화하고UEFI 잠금 사용으로 설정합니다. 이 설정은 재부팅 후에 적용됩니다. - 대상 컴퓨터를 재부팅합니다. 성공적으로 적용되면 시스템 정보에서 Credential Guard가 “실행 중” 상태로 표시됩니다.
Credential Guard는 호환성 문제를 일으킬 수 있으므로, 핵심 업무 서버 및 관리자 워크스테이션부터 단계적으로 롤아웃하여 테스트해야 합니다.
주의사항 및 최종 점검 리스트
위 조치들을 수행한 후, 네트워크의 무결성이 강화되었는지 확인해야 합니다. 다음은 점검해야 할 사항입니다.
- 인증 프로토콜 현황 모니터링: 도메인 컨트롤러의 이벤트 ID 4624(로그인 성공)를 필터링하여 인증 패키지 필드가
Kerberos인지 확인합니다.NTLM이 빈번하게 나타난다면 해당 소스의 호환성 문제를 추가로 조사해야 합니다. - 세션 서명 및 암호화 확인: 도메인 컨트롤러와 멤버 서버 간의 네트워크 트래픽이 암호화되었는지 네트워크 패킷 분석 도구(와이어샤크)로 샘플 캡처를 수행하여 확인합니다. 이러한 sMB3.0 이상, LDAPS 등의 프로토콜 사용을 확인합니다.
- 계정 활동 로그 중앙 집중화: 모든 서버와 도메인 컨트롤러의 보안 로그를 SIEM(Security Information and Event Management) 솔루션으로 중앙 수집합니다. 이를 통해 정상적인 관리자 로그인 패턴을 학습하고, 이상 행위(예: 동일 계정이 짧은 시간 간격으로 지리적으로 떨어진 두 시스템에서 로그인)를 실시간으로 탐지할 수 있습니다.
- 관리자 계정 격리: 일상적인 작업에는 제한된 권한의 계정을 사용하고, 도메인 관리자 계정은 특별히 보호된 관리 워크스테이션(PAW)에서만 사용하도록 정책을 수립합니다. 이는 리플레이 공격의 표적이 될 수 있는 고가치 자격 증명의 노출 면적을 극적으로 줄입니다. 특히 단순한 비밀번호 보안을 넘어 2단계 인증 OTP 앱 추천 및 기기 변경 시 백업 코드 관리 방법을 숙지하고 이를 관리자 세션에 의무화함으로써, 자격 증명이 유출되더라도 공격자가 세션을 리플레이하는 것을 원천적으로 차단할 수 있습니다.
전문가 팁: 제로 트러스트 원칙의 적용
리플레이 공격 방어는 단일 기술이 아닌 아키텍처 접근이 필요합니다. ‘신뢰할 수 있는 내부 네트워크’라는 개념을 버리고, 모든 트래픽과 접근 요청을 검증하는 제로 트러스트 모델로 전환을 고려하십시오. 가령, 관리 세션에 대해 항상 다중 인증(MFA)을 적용하고, 서버 간 통신에도 마이크로 세그멘테이션을 도입하여 동서향 트래픽을 제한하십시오. 또한, Just-In-Time(JIT) 관리 권한 부여를 도입하여 관리자 계정이 상시로 활성화되어 있는 시간을 최소화하는 것이 공격 창을 줄이는 가장 효과적인 방법입니다. 모든 보안 강화 조치는 가용성과의 균형 위에서 설계되어야 합니다.