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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mitm6 — Windows IPv6 기본 구성을 악용하여 DHCPv6를 통해 DNS를 스푸핑하고, 침투 테스트 중 피해자 트래픽을 자격 증명 중계 및 중간자 공격으로 리디렉션합니다. | Kitploit
도구/GitHubGitHub/dirkjanm/mitm6
Information GatheringNetwork SecurityPenetration TestingAuthenticationRed TeamingDNS Analysis
GitHubdirkjanm/mitm6

mitm6

Windows IPv6 기본 구성을 악용하여 DHCPv6를 통해 DNS를 스푸핑하고, 침투 테스트 중 피해자 트래픽을 자격 증명 중계 및 중간자 공격으로 리디렉션합니다.

저장소 보기
1.9k26564년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

mitm6

Python 2.7 and 3 compatible PyPI version License: GPLv2

mitm6는 Windows의 기본 구성을 악용하여 기본 DNS 서버를 장악하는 침투 테스트 도구입니다. DHCPv6 메시지에 응답하여 피해자에게 링크-로컬 IPv6 주소를 제공하고 공격자의 호스트를 기본 DNS 서버로 설정하는 방식으로 작동합니다. DNS 서버로서 mitm6는 공격자가 선택한 DNS 쿼리에 선택적으로 응답하여 피해자의 트래픽을 합법적인 서버 대신 공격자 머신으로 리디렉션합니다. 이 공격에 대한 자세한 설명은 mitm6 블로그에서 확인할 수 있습니다. Mitm6는 WPAD 스푸핑 및 자격 증명 릴레이를 위해 impacket의 ntlmrelayx와 함께 작동하도록 설계되었습니다.

종속성 및 설치

mitm6는 Python 2.7 및 3.x와 모두 호환됩니다. pip install -r requirements.txt 명령어로 해당 버전에 맞는 요구 사항을 설치할 수 있습니다. 두 경우 모두 mitm6는 다음 패키지를 사용합니다:

  • Scapy
  • Twisted
  • netifaces

Python 2.7의 경우 ipaddress 백포트 모듈을 사용합니다. PyPI에서 최신 릴리스를 pip install mitm6으로 설치하거나, 이 git 리포지토리를 클론한 후 python setup.py install으로 소스에서 최신 버전을 설치할 수 있습니다.

사용법

설치 후 mitm6는 mitm6이라는 명령줄 프로그램으로 사용할 수 있습니다. Scapy를 사용한 원시 패킷 캡처를 사용하므로 root로 실행해야 합니다. mitm6는 기본적으로 네트워크 설정을 감지하여 기본 인터페이스를 스푸핑에 사용합니다. 지정해야 할 유일한 옵션은 스푸핑하려는 AD domain입니다. 고급 설정을 위해 다음 옵션을 사용할 수 있습니다:

root@kitploit:~
usage: mitm6 [-h] [-i INTERFACE] [-l LOCALDOMAIN] [-4 ADDRESS] [-6 ADDRESS] [-m ADDRESS] [-a] [-r TARGET] [-v] [--debug]
             [-d DOMAIN] [-b DOMAIN] [-hw DOMAIN] [-hb DOMAIN] [--ignore-nofqdn]

mitm6 - pwning IPv4 via IPv6
도움말 또는 문제 보고는 https://github.com/dirkjanm/mitm6 방문

선택적 인자:
  -h, --help            도움말 메시지 표시 후 종료
  -i INTERFACE, --interface INTERFACE
                        사용할 인터페이스 (기본값: 자동 감지)
  -l LOCALDOMAIN, --localdomain LOCALDOMAIN
                        DNS 검색 도메인으로 사용할 도메인 이름 (기본값: 첫 번째 DNS 도메인 사용)
  -4 ADDRESS, --ipv4 ADDRESS
                        패킷을 보낼 IPv4 주소 (기본값: 자동 감지)
  -6 ADDRESS, --ipv6 ADDRESS
                        패킷을 보낼 IPv6 링크-로컬 주소 (기본값: 자동 감지)
  -m ADDRESS, --mac ADDRESS
                        사용자 정의 MAC 주소 - 아마도 작동이 깨질 수 있음 (기본값: 선택한 인터페이스의 MAC)
  -a, --no-ra           자신을 광고하지 않음 (악의적인 라우터 광고를 감지하는 네트워크에 유용)
  -r TARGET, --relay TARGET
                        인증 릴레이 대상, Kerberos 인증을 트리거하기 위해 가짜 DNS 서버 호스트 이름으로 사용
  -v, --verbose         자세한 정보 표시
  --debug               디버그 정보 표시

필터링 옵션:
  -d DOMAIN, --domain DOMAIN
                        DNS 쿼리를 필터링할 도메인 이름 (허용 목록 원칙, 여러 개 지정 가능)
  -b DOMAIN, --blocklist DOMAIN, --blacklist DOMAIN
                        DNS 쿼리를 필터링할 도메인 이름 (차단 목록 원칙, 여러 개 지정 가능)
  -hw DOMAIN, -ha DOMAIN, --host-allowlist DOMAIN, --host-whitelist DOMAIN
                        DHCPv6 쿼리를 필터링할 호스트 이름(FQDN) (허용 목록 원칙, 여러 개 지정 가능)
  -hb DOMAIN, --host-blocklist DOMAIN, --host-blacklist DOMAIN
                        DHCPv6 쿼리를 필터링할 호스트 이름(FQDN) (차단 목록 원칙, 여러 개 지정 가능)
  --ignore-nofqdn       FQDN(Fully Qualified Domain Name) 옵션이 포함되지 않은 DHCPv6 쿼리 무시

대부분의 자동 감지 옵션을 수동으로 재정의할 수 있습니다(단, MAC 주소 재정의는 작동이 깨질 수 있음). 네트워크에 악의적인 라우터 광고 메시지를 차단하거나 감지하는 하드웨어가 있는 경우 --no-ra 플래그를 추가하여 해당 메시지를 브로드캐스트하지 않을 수 있습니다. 라우터 광고는 mitm6가 작동하는 데 필요하지 않으며, 주로 DHCPv6 메시지에 의존합니다.

필터링 옵션

공격 및 스푸핑할 호스트를 선택하기 위해 여러 필터링 옵션을 사용할 수 있습니다. 먼저 --host-allowlist 및 --host-blocklist 옵션(약어로 -hw 및 -hb)이 있으며, 인자로 (부분) 도메인을 받습니다. 들어오는 DHCPv6 요청은 이 목록에 대해 필터링됩니다. 확인되는 속성은 DHCPv6 FQDN 옵션으로, 클라이언트가 자신의 호스트 이름을 제공하는 곳입니다. DNS 요청에도 동일하게 적용되며, 이를 위해 --domain 옵션(-d)을 사용하여 스푸핑하려는 도메인(들)을 지정할 수 있습니다. 특정 도메인을 차단하는 것도 --blocklist/-b로 가능합니다. 두 매개변수는 여러 번 지정하여 여러 도메인을 포함/차단할 수 있습니다(예: -d domain.local -d otherdomain.local -b somehost.domain.local -b somehost.otherdomain.local).

호스트 및 DNS 필터링 모두 단순 문자열 일치가 수행됩니다. 따라서 wpad에 응답하도록 선택하면 wpad.corpdomain.com에 대한 쿼리에도 응답합니다. 더 구체적인 필터링을 원하면 허용 목록과 차단 목록 옵션을 모두 사용하십시오. 차단 목록이 허용 목록보다 우선합니다. 기본적으로 첫 번째로 지정된 도메인이 DNS 검색 도메인으로 사용됩니다. 이 도메인을 명시적으로 직접 지정하려면 --localdomain 옵션을 사용하십시오.

네트워크 영향 및 복원에 관하여

mitm6는 침투 테스트 도구로 설계되었으므로 네트워크에 최소한의 영향을 주어야 합니다. 이것이 mitm6가 예를 들어 SLAAC 공격에서 볼 수 있는 완전한 중간자 공격을 현재 구현하지 않는 주된 이유입니다. 영향을 더욱 최소화하기 위해 할당된 IP 주소는 TTL(Time-To-Live) 값이 낮습니다. mitm6가 중지되면 임대는 5분 이내에 만료되어 피해자 구성에서 DNS 서버가 제거됩니다. DNS 응답이 캐시되는 것을 방지하기 위해 모든 응답은 TTL 100초로 전송되어 도구 종료 후 몇 분 내에 캐시가 지워지도록 합니다.

ntlmrelayx와 함께 사용하기

mitm6는 ntlmrelayx와 함께 사용하도록 설계되었습니다. 두 도구를 나란히 실행해야 합니다. 이 시나리오에서 mitm6는 DNS를 스푸핑하여 피해자가 HTTP 및 SMB 연결을 위해 ntlmrelayx에 연결하도록 유도합니다. 이를 위해 ntlmrelayx를 -6 옵션으로 실행하여 IPv4와 IPv6 모두에서 수신하도록 해야 합니다. WPAD 자격 증명을 획득하려면 -wh HOSTNAME으로 스푸핑할 WPAD 호스트 이름을 지정하십시오(mitm6가 DNS 서버이므로 로컬 도메인에 존재하지 않는 호스트 이름도 작동합니다). 선택적으로 -wa N 매개변수와 시도 횟수를 사용하여 피해자가 MS16-077 패치를 적용하지 않았을 경우 WPAD 파일 자체에 대한 인증을 요청할 수도 있습니다.

krbrelayx와 함께 사용하기

mitm6를 사용하여 Kerberos 인증, 특히 DNS를 통해 릴레이할 수도 있습니다. 이를 위해 --relay 매개변수를 사용하고 릴레이하려는 호스트를 지정하십시오. 이 호스트는 가장되며, mitm6는 피해자가 Kerberos 인증을 사용하여 인증된 동적 업데이트를 krbrelayx로 보내도록 유도합니다. 이 공격에 대한 자세한 내용은 다음 블로그에서 확인할 수 있습니다: https://dirkjanm.io/relaying-kerberos-over-dns-with-krbrelayx-and-mitm6/

탐지

Fox-IT 보안 연구 팀은 악의적인 DHCPv6 트래픽 및 IPv6를 통한 WPAD 응답을 탐지하기 위한 Snort 및 Suricata 시그니처를 공개했습니다. 시그니처는 다음에서 확인할 수 있습니다: https://gist.github.com/fox-srt/98f29051fe56a1695de8e914c4a2373f

도구 다운로드