STUDY.md
  • Responder를 통한 AD 해시 탈취 실습 (LLMNR & NBT-NS Poisoning)
    2025년 03월 13일 13시 11분 49초에 업로드 된 글입니다.
    작성자: 방세연

    LLMNR & NBT-NS Poisoning


    LLMNR/NBT-NS는 래거시 브로드캐스트 기반으로 동작하기 때문에, 인증이 없는 상태에서 네트워크에 요청을 전송한다. LLMNR/Nbt-NS Poisoning은 이런 취약한 점들을 이용해 LLMNR/Nbt-NS 브로드캐스트 요청을 받았을 때 공격자가 Net-NTLM 인증 트래픽을 피해자에게 보내 마치 호스트가 존재했던 것처럼 착각하는 방식으로 작동한다. Windows Active Directory 관련 주제를 탐색해보며 대표적인 공격에 해당한다는 것을 알게 되었고, 이번에 Responder 라는 LLMNR/Nbt-NS 공격 툴을 사용한 결과물들을 담아보려고 한다.

     

    ❎실습 과정은 https://academy.hackthebox.com/module/details/143   일부를 참고하였습니다.

     

     

     

     

    Responder


     

    Responder 툴은 LLMNR, NBT-NS, MDNS Poisner에 해당하며, 브로드캐스트 프로토콜을 악용해 사용자 인증정보를 탈취할 수 있는 기능을 가지고 있다. NBT-NS LLMNR Poisoning 뿐만 아니라 ARP Spoofing이나 NTLM 해시 탈취, Kerberos 티켓 탈취와 같은 AD 침투 주요 정보를 수집할 수 있는 좋은 기능을 가지고 있다.

     

    responder -I <인터페이스> [옵션]

    다음과 같은 형태로 사용할 수 있다.

     

     

    responder -I eth0 -rdwv

     

    이와 같이 활용할 수 있다. 가장 일반적인 eth0에서 NetBIOS, LLMNR, DHCP, WPAD 모든 인증 요청을 가로채는 명령어다.

     

     

    -I [interface]
    → 공격에 사용할 네트워크 인터페이스를 지정함 (예: eth0).
    
    -rdw
    → 기본 옵션 조합으로 자주 사용됨.
    
    -r: NetBIOS 이름 응답 활성화
    -d: DHCP 요청 탈취 활성화
    -w: WPAD 프록시 서버 활성화 (WPAD 프로토콜 활용)
    -b
    → 기본 HTTP 인증 요청으로 사용자를 유도하는 옵션.
    
    -v
    → 상세 모드(Verbose)를 활성화하여 응답 내용을 자세히 출력함.
    
    -A
    → NTLM 인증 정보(해시)를 분석하는 동시에 인증을 중계하는 옵션. (Relay 공격과 연계)

     

     

     

     

     


     

     

     

     

     

    NBT-NS & LLMNR Poisoning 실습


    사전에 알려진 네트워크 정보는 내부 네트워크 범위 주소에 대한 정보 뿐이다.
    
    [LLMNR/NBT-NS 포이즈닝은 주로 다음과 같은 시나리오로 진행된다==>]
    1.	피해자의 이름 해석 요청을 가로챈다.
     - 피해자가 wronghost를 찾으려고 할 때 DNS에서 이를 찾지 못하면 LLMNR/Nbt-NS에서 브로드캐스트 요청이 들어가게 된다. 이때 공격자는 이 요청을 감지하고, 자신이 wronghost인 것처럼 응답한다.
    2.	피해자가 공격자를 신뢰해 인증 요청을 전송한다.
     - 피해자 호스트는 공격자를 wronghost라고 착각하게 되며 Net-NTLM 인증 트래픽을 공격자에게 보내게 된다.
    3.	공격자가 Net-NTLM 인증 트래픽을 활용한다.
     - 공격자는 Net-NTLM 인증 트래픽을 NTLM 다운그레이드 공격, NTLM 릴레이 공격, RBCD와 같은 방식을 통해 활용한다.

     

     

     

     

     

    Responder 사용 전 네트워크 환경 분석을 진행하고, responder 사용이 성공적으로 수행될 수 있는지 확인해보는 과정을 거친다. 필자는 ARP 트래픽을 분석하거나 TCPDump로 Broadcast인지 확인하는 과정을 진행했다.

     

     

     

     

    Wireshark, TCPDump, NetMiner, fping은 모두 호스트 정보나 ip 주소에 대한 정보를 취득할 수 있는 툴이다. 위 도구 중 하나 혹은 여러가지를 사용하여 호스트에 대한 정보를 취득한다. 위의 스크린샷에서는 Nmap을 이용해 네트워크 범위 내의 활성화된 호스트 시스템, 개방된 포트와 AD 서비스 정보가 확인될 수 있었고, 실제로 responder에 대한 타켓으로의 유의미한 정보를 확인할 수 있었다.

     

     

     

     


    이 스크린샷은 필자가 구현한 피해자 시점의 관점인데, 예를들어 Administrator이 잘못된 호스트명 fake-server을 찾으려고 했고, 이를 찾지 못하면 LLMNR/Nbt-NS에서 브로드캐스트 요청이 들어간다. 이때 responder을 통해 브로드캐스트 요청을 감지할 수 있고, 이는 인증 정보 탈취로 이어질 수 있는 것이다.

     

     

     

     

    sudo responder -I ens224

     

    다시 돌아와 특정 호스트 정보가 AD 환경에서 중요한 호스트라는 정보를 파악했으면, responder을 통해 이를 확인해본다. 다음 상황에서는 Username wley라는 정보와 NTLMv2-SSP Hash 값 정보가 주어진다. responder을 사용하면 호스트가 취약한 비밀번호를 사용하고 있는지 확인할 수 있다.  

     

    아래 경로에서 password wordlist를 다운로드 받았고,  wley 호스트에 대한 해시값을 해독해 비밀번호를 탈취할 수 있다.

    https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt

     

    Releases · brannondorsey/naive-hashcat

    Crack password hashes without the fuss :cat2:. Contribute to brannondorsey/naive-hashcat development by creating an account on GitHub.

    github.com

     

     

     

     

     

    transporter@4

     

    해시를 크랙하는 과정은 Windows 11 물리머신에서 사전에 획득한 해시 정보를 따로 txt 파일에 저장하고, NET-NTLMv2 해시를 크랙하는 hashcat 명령어를 사용해 진행했다. NET-NTLMv2 해시는 그 특성상 해시의 뒤에 비밀번호 정보 transporter@4가 나타났음을 알 수 있다.

     

     


    추가적으로는 Windows 환경에서도 PowerShell과 C# 기반의 Inveigh 툴을 통해 Responder와 비슷한 기능을 사용할 수 있다.

     

     

     

     

     

     

     

    결론/해결방안


    LLMNR, Nbt-NS은 보안을 고려하지 않은 브로드캐스트 기반의 프로토콜이기 때문에 브로드캐스트 기반의 인증 방법을 사용하면 취약한 보안이 나타날 수 있다. LLMNR, Nbt-NS Poisoner 공격은 NTLM 다운그레이드 공격, NTLM 릴레이 공격, RBCD에 주로 사용된다. 이를 방지하기 위해서는 정책적으로는 브로드캐스트 기반인 LLMNR, NBT-NS 프로토콜을 비활성화하는 것이 가장 효과적인 방법이다. 그럼 어떤 AD 보안 정책을 사용해야 하는가? Kerberos 인증 체계를 크게 확대하거나 다중 인증 MFA를 도입하는 등의 방법을 사용하는 등 조치를 취하는 것이 좋다.

     

     

     

     

     

     

     

    댓글