Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
pretender — DHCPv6 DNS 탈취와 mDNS, LLMNR 및 NetBIOS-NS 스푸핑을 특징으로 하는 공격 중계를 위한 당신의 MitM 사이드킥입니다. | Kitploit
도구/GitHubGitHub/redteampentesting/pretender
ReconnaissanceInformation GatheringNetwork SecurityPenetration TestingAuthenticationRed TeamingDNS Analysis
GitHubredteampentesting/pretender

pretender

DHCPv6 DNS 탈취와 mDNS, LLMNR 및 NetBIOS-NS 스푸핑을 특징으로 하는 공격 중계를 위한 당신의 MitM 사이드킥입니다.

저장소 보기
1.3k971개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

pretender

릴레이 공격을 위한 MitM 조력자로서 DHCPv6 DNS 탈취 및 mDNS, LLMNR, NetBIOS-NS 스푸핑을 제공합니다

Release GitHub Action: Check Software License Go Report Card


pretender는 RedTeam Pentesting이 개발한 도구로, 스푸핑된 로컬 이름 확인 및 DHCPv6 DNS 탈취 공격을 통해 중간자(Machine-in-the-Middle) 위치를 확보합니다. pretender는 주로 Windows 호스트를 대상으로 하며, 릴레이 공격에 사용하기 위해 제작되었지만 Linux, Windows 및 Go가 지원하는 모든 플랫폼에 배포할 수 있습니다. 이름 확인 쿼리는 릴레이 도구가 pretender와 다른 호스트에서 실행되는 상황을 위해 임의의 IP로 응답할 수 있습니다. 이 도구는 Impacket의 ntlmrelayx.py 및 krbrelayx와 같은 도구와 함께 작동하도록 설계되어 들어오는 연결을 처리하여 릴레이 공격 또는 해시 덤프를 수행합니다.

자세한 내용은 블로그 게시물을 참조하세요.


사용법

로컬 네트워크 상황을 파악하려면 --dry 모드로 pretender를 시작하여 들어오는 쿼리만 로깅하고 응답하지 않을 수 있습니다:

root@kitploit:~
pretender -i eth0 --dry
pretender -i eth0 --dry --no-ra # 라우터 광고(RA) 제외
pretender -i eth0 --dry --no-ra-dns # RA는 활성화하지만 DNS 광고는 제외

mDNS, LLMNR 및 NetBIOS-NS를 통한 로컬 이름 확인 스푸핑과 라우터 광고를 포함한 DHCPv6 DNS 탈취를 수행하려면 다음과 같이 pretender를 실행하세요:

root@kitploit:~
pretender -i eth0

특정 공격을 비활성화하려면 --no-dhcp-dns (DHCPv6, DNS 및 라우터 광고 비활성화), --no-lnr (mDNS, LLMNR 및 NetBIOS-NS 비활성화), --no-mdns, --no-llmnr, --no-netbios, --no-ra를 사용하세요.

ntlmrelayx.py가 다른 호스트(예: 10.0.0.10 / fe80::5)에서 실행되는 경우 다음과 같이 pretender를 실행하세요:

root@kitploit:~
pretender -i eth0 -4 "10.0.0.10" -6 "fe80::5"

Pretender는 특정 도메인에 대한 쿼리만 응답하거나 (또는 특정 도메인을 제외한 모든 쿼리) 특정 호스트에 대해서만 스푸핑 공격을 수행하도록 (또는 특정 호스트를 제외) 설정할 수 있습니다. 호스트 이름으로 호스트를 참조하는 것은 pretender가 실행 중인 호스트의 이름 확인에 의존합니다. 다음 예시를 참조하세요:

root@kitploit:~
pretender -i eth0 --spoof "example.com" --dont-spoof-for "10.0.0.3,host1.corp,fe80::f" --ignore-nofqdn

자세한 내용은 pretender --help를 실행하세요.


팁

  • --spoof/--dont-spoof/--spoof-for/--dont-spoof-for 옵션은 와일드카드를 지원합니다. domain.fqdn은 리터럴 일치만 수행하는 반면, .domain.fqdn은 domain.fqdn과 sub.domain.fqdn을 모두 일치시킵니다. 마찬가지로 *domain.fqdn은 mydomain.fqdn과 일치합니다. 서브도메인만 일치시키려면 *.domain.fqdn을 사용하세요. 서브도메인 와일드카드(선행 .)와 임의 와일드카드(*)는 함께 사용할 수 없습니다.
  • ntlmrelayx.py에서 IPv6 지원을 활성화하려면 -6 플래그를 사용하세요.
  • --stateless-ra 플래그를 사용하면 DHCPv6 없이 라우터 광고를 통한 상태 비저장 DNS 구성을 지원합니다. 기본적으로 DHCPv6 서버는 계속 실행되지만 --no-dhcp를 사용하여 비활성화할 수 있습니다.
  • --dont-spoof/--dont-spoof-for 필터가 있고 로 업스트림 DNS 서버가 구성되지 않은 경우, 라우터 광고가 DNS 서버를 직접 광고하지 않아 공격 효과가 떨어집니다.

빌드 및 벤더링

Pretender는 다음과 같이 빌드할 수 있습니다:

root@kitploit:~
go build

Pretender는 사전 구성된 설정으로 컴파일할 수도 있습니다. 이를 위해 ldflags를 다음과 같이 수정해야 합니다:

root@kitploit:~
-ldflags '-X main.vendorInterface=eth1'

예를 들어, Pretender를 Windows용으로 특정 기본 인터페이스, 컬러 출력 없음, 릴레이 IPv4 주소 구성으로 빌드하려면 다음과 같이 합니다:

root@kitploit:~
GOOS=windows go build -trimpath -ldflags '-X "main.vendorInterface=Ethernet 2" -X main.vendorNoColor=true -X main.vendorRelayIPv4=10.0.0.10'

벤더링 옵션 전체 목록 (자세한 정보는 defaults.go 또는 pretender --help 참조):

root@kitploit:~
vendorInterface
vendorRelayIPv4
vendorRelayIPv6
vendorSOAHostname
vendorSpoofResponseName
vendorNoDHCPv6DNSTakeover
vendorNoDHCPv6
vendorNoDNS
vendorNoMDNS
vendorNoNetBIOS
vendorNoLLMNR
vendorNoLocalNameResolution
vendorNoIPv6LNR
vendorNoRA
vendorNoRADNS
vendorSpoof
vendorDontSpoof
vendorSpoofFor
vendorDontSpoofFor
vendorSpoofTypes
vendorSpoofSRV
vendorIgnoreDHCPv6NoFQDN
vendorIgnoreNonMicrosoftDHCP
vendorDelegateIgnoredTo
vendorToggleNameResolutionSpoofing
vendorDontSendEmptyReplies
vendorDryMode
vendorDryWithDHCPMode
vendorStatelessRA
vendorTTL
vendorLeaseLifetime
vendorRARouterLifetime
vendorRAPeriod
vendorDNSTimeout
vendorStopAfter
vendorVerbose
vendorNoColor
vendorNoTimestamps
vendorLogFileName
vendorNoHostInfo
vendorHideIgnored
vendorRedirectStderr
vendorListInterfaces
도구 다운로드
--delegate-ignored-to
  • 수동으로 중단할 수 없는 상황을 위해 일정 시간 후에 자동으로 중지되도록 Pretender를 구성할 수 있습니다 (--stop-after 및 main.vendorStopAfter).
  • 호스트 정보 조회(ARP 테이블, IP 이웃 및 역방향 조회에 의존)는 --no-host-info 또는 main.vendorNoHostInfo로 비활성화할 수 있습니다.
  • 어떤 인터페이스를 선택해야 할지 확실하지 않은 경우 (특히 Windows), --interfaces를 사용하여 이름과 주소를 포함한 모든 인터페이스를 나열하세요.
  • 로컬 이름 확인 스푸핑에서 호스트를 제외하려면 해당 호스트의 IPv6 주소도 제외하거나 --no-ipv6-lnr / main.vendorNoIPv6LNR을 사용하세요.
  • DHCPv6 메시지에는 일반적으로 FQDN 옵션이 포함됩니다(때로는 FQDN이 아닌 호스트 이름도 포함). 이 옵션은 호스트 이름별로 메시지를 필터링하는 데 사용됩니다 (--spoof-for / --dont-spoof-for). FQDN 옵션이 없는 DHCPv6 메시지를 처리하는 방법은 --ignore-nofqdn을 설정하거나 생략하여 결정할 수 있습니다.
  • 빌드 구성에 따라 운영 체제 확인자(CGO_ENABLED=1) 또는 Go 구현체(CGO_ENABLED=0)가 사용됩니다. 이는 호스트 정보 수집에 중요할 수 있습니다. 운영 체제 확인자는 로컬 이름 확인을 지원할 수 있지만 Go 구현체는 스텁 확인자를 사용하지 않는 한 지원하지 않습니다.
  • 호스트 정보 기능은 현재 Windows 및 Linux에서만 사용할 수 있습니다.
  • 기본 MAC 주소 벤더 목록은 hostinfo/mac-vendors.txt 파일을 교체하여 바이너리에 컴파일할 수 있습니다. 다음 형식의 MAC 접두사가 있는 행만 인식됩니다: FF:FF:FF<탭>VendorID<탭>Vendor (MAC 접두사 길이는 임의로 지정 가능).
  • 동적 업데이트를 통한 Kerberos 릴레이만 수행하려면 --no-lnr 및 --spoof-types SOA를 지정하여 공격과 관련 없는 쿼리를 무시할 수 있습니다.
  • Kerberos 릴레이 공격에서 krbrelayx.py가 pretender와 다른 호스트에서 실행되는 경우(릴레이 IPv4 주소가 krbrelayx.py를 실행하는 다른 호스트를 가리킴), krbrelayx.py를 실행하는 호스트도 pretender를 실행하여 릴레이 IPv4 주소로 전송된 동적 업데이트 쿼리를 수신하고 거부해야 합니다.
  • DHCPv6 DNS 탈취 중 혼란을 제한하기 위해 기본적으로 --delegate-ignored-to <DNS 서버> 옵션을 사용하여 무시된 쿼리를 합법적인 DNS 서버에 위임할 수 있습니다.
  • --dry-with-dhcp 옵션을 --delegate-ignored-to와 결합하여 네트워크에서 이름 확인 쿼리를 중단 없이 모니터링할 수 있습니다.
  • --ignore-non-microsoft-dhcp를 지정하여 비Windows 클라이언트의 DHCP 메시지를 무시할 수 있습니다. 이는 Windows DHCP 클라이언트가 DHCP 벤더 옵션에 Microsoft의 엔터프라이즈 번호 311을 포함하기 때문에 가능합니다.
  • --toggle을 사용하면 이름 확인 스푸핑(DNS, mDNS, LLMNR, NetBIOS)을 런타임에 동적으로 활성화 및 비활성화할 수 있습니다. 이는 특히 --delegate-ignored-to와 함께 사용할 때 강력하며, DHCP 서버를 중단하지 않고 공격을 시작 및 중지할 수 있습니다. 이는 Windows DHCP 클라이언트가 일정 시간 동안 DHCP 서버에 연결하지 못하면 주소 임대를 중단하는 문제에 대한 해결 방법으로 사용될 수 있습니다.