시스템(Windows)

LLMNR (Link-Local Multicast Name Resolution) 에 대해 알아보겠습니다.

forward error correction Circle 2025. 2. 8. 08:14
반응형

Ⅰ. LLMNR (Link-Local Multicast Name Resolution) 프로토콜 이란?

 Windows 환경에서 사용되는 네트워크 프로토콜로, 호스트가 DNS 서버 없이도 로컬 네트워크에서 이름을 확인할 수 있도록 설계되었습니다. 로컬 네트워크 내에서 장치 이름을 확인하는 기능 제공하는 역할을 하며, 멀티캐스트를 사용하여 네트워크 내 다른 장치들에게 질의(Query) 전송합니다. 포트는UDP 5355 사용하며, DNS 서버가 없거나 NetBIOS가 비활성화된 경우 대체 할 수 있습니다.

Ⅱ. LLMNR (Link-Local Multicast Name Resolution) 프로토콜 동작 방식

ⅰ. 이름 해석 요청 (Query)
  : 특정 장치가 IP 주소를 모를 때, 멀티캐스트 주소(IPv4: 224.0.0.252, IPv6: FF02::1:3)로 요청을 브로드캐스트
 Ex) local의 IP 주소가 필요할 때, 네트워크 내 모든 장치에게 질의 전송
ⅱ. 응답 (Response)
 1) 해당 이름을 가진 장치가 응답하여 자신의 IP 주소를 제공
 2) DNS 서버가 없거나 응답하지 않을 때만 사용됨

Ⅲ. LLMNR (Link-Local Multicast Name Resolution) 보안 이슈

 ⅰ. MITM(Man-in-the-Middle) 공격
 공격자가 네트워크 내에서 악의적인 응답을 보낼 수 있음
 사용자가 특정 도메인(company.com)을 요청할 때 공격자가 가짜 응답을 보내 피싱 사이트로 유도
 ⅱ) LLMNR Poisoning (LLMNR 스푸핑)
 공격자가 시스템이 요청하는 도메인에 대해 잘못된 IP 주소를 제공
 크리덴셜 탈취(Windows 인증 정보 도용) 가능
 해킹 도구(Responder, Inveigh 등)를 사용하여 공격 수행
 ⅲ) LLMNR 비활성화 방법 (Windows 기준)
 : 보안 강화를 위해 LLMNR을 비활성화하는 것이 권장됩니다.
 1) 로컬 그룹 정책 편집기(GPEDIT) 사용
gpedit.msc 실행
컴퓨터 구성 → 관리 템플릿 → 네트워크 → DNS 클라이언트 → "멀티캐스트 이름 확인  사용 안 함" 설정 → "사용" 선택


2) 레지스트리 편집기(REGEDIT) 사용
regedit 실행
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\\이동
EnableMulticast (DWORD) 값을 0으로 설정


3) PowerShell을 사용한 비활성화
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name "EnableMulticast" -Value 0

Ⅳ. LLMNR (Link-Local Multicast Name Resolution) 대체하는 방법

ⅰ. DNS 서버 사용
  : 사설 네트워크 내에서 별도의 DNS 서버를 구성하여 네임 해석 수행
ⅱ. HOSTS 파일 사용
 : C:\Windows\System32\drivers\etc\hosts 파일을 편집하여 로컬 IP와 호스트 이름을 수동으로 매핑
ⅲ. NetBIOS 활성화
 : Windows 환경에서는 NetBIOS를 통해 일부 호스트 네임 해석이 가능

반응형