Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
MITM-cheatsheet — L2-L4 및 무선 계층 전반의 중간자 공격을 정리한 치트시트로, 펜테스터와 방어자를 위한 공격 도구, 탐지 방법, 완화 기법을 담고 있습니다. | Kitploit
도구/GitHubGitHub/frostbits-security/mitm-cheatsheet
Defensive ToolsPacket Sniffing & AnalysisInformation GatheringNetwork SecurityWireless SecurityPenetration TestingLearning & EducationRed TeamingCurated ResourcesDNS Analysis
GitHubfrostbits-security/mitm-cheatsheet
1.0k14974년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

MITM-cheatsheet

L2-L4 및 무선 계층 전반의 중간자 공격을 정리한 치트시트로, 펜테스터와 방어자를 위한 공격 도구, 탐지 방법, 완화 기법을 담고 있습니다.

저장소 보기

MITM-cheatsheet

우리는 알려진 모든 MITM 공격과 이러한 공격에 대한 방어 방법을 정리하려고 노력했습니다. 여기에는 MITM 공격을 수행하기 위한 도구, 몇 가지 흥미로운 공격 사례 및 이와 관련된 몇 가지 트릭도 포함되어 있습니다.

참고: 여기에 설명된 거의 모든 공격 도구에는 내부에 스니퍼가 없습니다. 공격만 제공합니다. 스니핑을 위한 도구는 여기에 있습니다: 데이터 스니핑.

Man In The Middle 공격에 관한 펜테스터와 방어 팀을 위한 치트 시트입니다.

목차

  • L2
    • ARP 스푸핑
    • STP(RSTP, PVSTP, MSTP) 스푸핑
    • NDP 스푸핑 ⏳
    • VLAN 호핑
  • L3
    • SLAAC 공격
    • HSRP (VRRP, CARP) 하이재킹 ⏳
    • 동적 라우팅 프로토콜 스푸핑 (BGP) ⏳
    • RIPv2 라우팅 테이블 포이즈닝
    • OSPF 라우팅 테이블 포이즈닝 ⏳
    • EIGRP 라우팅 테이블 포이즈닝
    • ICMP 리다이렉트
  • L4+
    • NetBIOS (LLMNR) 스푸핑
    • DHCP 스푸핑
    • 로그 DHCP (DHCPv6)
  • 무선
    • Karma 공격 (Wi-Fi)
    • 로그 BTS (GSM) ⏳
  • 공격 기법 ⏳
    • 데이터 스니핑 ⏳
    • 데이터 내 인젝션 ⏳
      • HTML 내 악성 JS ⏳
      • HTA ⏳
    • 데이터 변조 ⏳
      • Wsus ⏳
      • DNS 하이재킹 ⏳
  • 해커 노트
    • CPU 간의 차이 (또는 대부분의 공격이 노트북에서 불가능한 이유)
  • SSLStrip, SSLStrip+, HSTS

⏳ - 진행 중인 부분

L2

ARP 스푸핑

복잡도: 낮음
관련성: 높음
설명:
주소 결정 프로토콜(ARP)은 IP 주소를 MAC 주소로 해석하기 위해 설계되었습니다. 네트워크에서 통신해야 하는 모든 네트워크 장치는 다른 머신의 MAC 주소를 알아내기 위해 브로드캐스트 ARP 쿼리를 사용합니다.

거의 모든 ARP 스푸핑 도구는 gratuitous ARP 응답을 사용합니다. Gratuitous ARP 응답은 ARP 요청 없이 보내는 응답입니다.

Gratuitous ARP의 효과에도 불구하고, 이는 특히 안전하지 않은데, 같은 네트워크에 있는 시스템의 MAC 주소가 변경되었음을 원격 호스트에 확신시키고 이제 어떤 주소가 사용되는지 지정하는 데 사용될 수 있기 때문입니다.

ARP 스푸핑 공격의 전형적인 예
  1. ARP 스푸핑이 수행되기 전에, 노드 A와 B의 ARP 테이블에는 서로의 IP 및 MAC 주소가 담긴 항목이 있습니다. 정보는 노드 A와 B 사이에서 전송됩니다.

  2. ARP 스푸핑 과정에서 공격을 수행하는 컴퓨터 C는 ARP 응답(요청을 받지 않고 = gratuitous arp)을 전송합니다 =>

  • 노드 A에게: 노드 B의 IP 주소와 노드 C의 MAC 주소로;
  • 노드 B에게: 노드 A의 IP 주소와 노드 C의 MAC 주소로.
  1. 컴퓨터들이 gratuitous ARP를 지원하므로, 자신의 ARP 테이블을 수정하고 컴퓨터 A와 B의 실제 MAC 주소 대신 컴퓨터 C의 MAC 주소가 담긴 레코드를 배치합니다.

또한 다른 방식으로 공격이 성공할 가능성도 있습니다. 네트워크 세그먼트에서 arp 활동을 모니터링하다가 갑자기 피해자의 arp 요청을 발견하면, 해당 요청의 수신자보다 더 빠르게 피해자에게 arp 응답을 보내볼 수 있습니다. 일부 벤더는 이 트릭을 허용합니다.

공격 도구:

  • bettercap -T 10.10.10.10 -X --httpd --proxy-https --proxy
    이 도구의 구버전은 더 단순하지만, Go로 작성된 새로운 세련된 버전도 있습니다. 참고: Bettercap에는 뛰어난 스니퍼가 내장되어 있습니다.
  • arpspoof -i eth0 -t 10.10.10.10
  • Intercepter-NG (이제 Linux에 설치할 수 있습니다)

공격 탐지

  • arpwatch
    이 프로그램은 선택한 인터페이스의 모든 ARP 활동을 모니터링합니다. IP 주소를 유지하면서 MAC 주소가 변경되거나 그 반대의 경우와 같은 이상 징후를 발견하면 syslog에 보고합니다.
  • XArp
    Windows용 Arpwatch
  • remarp SNMP를 통한 Arpwatch

공격 방지

  • 수동 ARP 테이블
    네트워크 확장성에 어려움을 초래하므로 한계가 있습니다. 그리고 무선 네트워크에서는 이것이 과제이며 거의 불가능에 가깝습니다.

  • 패치 적용
    Anticap 및 Antidote와 같은 유틸리티는 ARP 스푸핑 방지에 중요한 역할을 할 수 있습니다. Anticap은 기존 ARP 캐시와 다른 MAC으로 ARP 캐시가 업데이트되는 것을 방지하여 실제로 ARP 스푸핑을 막지만, 이는 ARP 프로토콜 사양을 위반하므로 문제가 됩니다. 반면 Antidote는 약간 다른 방식으로 ARP 포이즈닝을 방지합니다. 새로 수신된 ARP 응답을 기존 캐시와 분석합니다. 새 캐시가 이전 캐시와 다르면 해당 MAC 주소가 여전히 활성 상태인지 확인합니다. 이전 캐시의 MAC 주소가 활성 상태임을 발견하면 새 것을 거부하고, 공격자의 MAC 주소를 차단된 MAC 주소 목록에 추가하여 동일한 대상 컴퓨터에 대한 ARP 포이즈닝의 추가 시도를 방지합니다.

  • 스위치에 VLAN 생성
    스위치 자체와 특정 네트워크 장치만 포함하는 VLAN을 스위치에 생성합니다.

  • 암호화된 연결 생성
    이 방법은 모든 트래픽이 암호화되어 사용자 데이터를 가로챌 수 없으므로 공용 네트워크에도 적합합니다.

  • DAI
    Cisco 시스템의 동적 ARP 검사(DAI)는 유효하지 않거나 무상 ARP 응답을 동일한 VLAN의 다른 포트로 전달하지 않음으로써 중간자 공격을 방지하는 데 도움이 됩니다. 동적 ARP 검사는 신뢰할 수 없는 포트의 모든 ARP 요청과 모든 응답을 가로챕니다. 가로챈 각 패킷은 DHCP 스누핑을 통해 유효한 IP-to-MAC 바인딩인지 검증됩니다. 거부된 ARP 패킷은 스위치에 의해 삭제되거나 감사를 위해 로깅되므로 ARP 포이즈닝 공격이 중단됩니다. 신뢰할 수 있는 포트의 수신 ARP 패킷은 검사되지 않습니다.

관련 링크
ARP 작동 방식

STP(RSTP, PVSTP, MSTP) 스푸핑

복잡도: 높음
관련성: 보통
설명:
스패닝 트리 프로토콜은 스위치 간에 중복 경로가 있을 경우 네트워크의 루프를 감지하고 방지하도록 설계되었습니다.

(더 낮은 우선순위의 새 가상 장치를 연결하거나 STP 패킷 생성 도구를 사용하여) 더 낮은 루트 스위치 식별자를 가진 장치를 에뮬레이션할 수 있는 사람은 누구나 가상 네트워크 트래픽을 부분적으로 또는 완전히 가로챌 수 있습니다. 일반적으로 공격자는 두 스위치와 물리적으로 연결되어 있지 않으므로 설명된 공격 방법은 거의 불가능합니다. 그러나 무선 네트워크에서는 케이블 연결(사무실의 소켓)과 무선 연결(액세스 포인트)이 서로 다른 스위치에서 끝날 수 있으므로 상황이 달라집니다.

공격 도구
주의: 종종 이러한 유형의 공격은 서비스 거부로 이어집니다.

  • yersinia –G Yersinia는 그래픽 인터페이스와 대화형 콘솔을 제공하며, 네트워크 인터페이스를 선택하고 MITM 공격을 시작해야 합니다.
    그래픽 인터페이스는 안정적으로 작동하지 않으므로 대화형 인터페이스를 사용할 수 있습니다: yersinia –I.
  • ettercap
    Linux용 또 다른 도구입니다. 인터페이스를 선택한 다음 "stp mangier" 플러그인을 눌러 시작해야 합니다.

방어 기법

  • 액세스 포트에서 STP를 비활성화하고(사용자로부터 BDPU 수신을 중지하기 위해), 모든 사용자 포트에서 포트 보안을 활성화하며, 네트워크 장비에 대한 물리적 접근을 제한합니다.
  • STP를 보호하는 구성 도구(Cisco).

NDP 스푸핑

복잡도: 보통
관련성: 거의 없음
설명:
공격 도구
방어 기법

VLAN 호핑

복잡도: 보통
관련성: 없음
설명:
가상 LAN(Local Area Network)은 서로 다른 물리적 LAN의 장치 모음을 그룹화할 수 있는 논리적 서브네트워크입니다. 대규모 비즈니스 컴퓨터 네트워크는 트래픽 관리를 개선하기 위해 네트워크를 다시 분할하도록 VLAN을 설정하는 경우가 많습니다.

VLAN은 네트워크 프레임에 태그를 적용하고 네트워킹 시스템에서 이러한 태그를 처리하는 방식으로 작동합니다. 즉, 물리적으로는 단일 네트워크에 있지만 마치 별도의 네트워크로 분할된 것처럼 동작하는 네트워크 트래픽의 모습과 기능을 만들어냅니다.

VLAN 호핑은 공격자에게 처음에는(공격 전에는) 접근이 불가능했던 VLAN에 접근하는 공격을 통칭하는 이름입니다.

다음 두 가지 방식으로 수행할 수 있습니다:
  1. 기본 VLAN 호핑 공격(DTP 사용)
    구형 Cisco 스위치에서만 작동합니다.
    공격자는 스위치 역할을 하여 정상 스위치가 자신과의 사이에 트렁킹 링크를 생성하도록 속입니다. 트렁킹 링크를 통해서는 모든 VLAN의 패킷이 통과할 수 있습니다. 트렁크 링크가 설정되면 공격자는 모든 VLAN의 트래픽에 접근할 수 있게 됩니다. 이 방법은 정상 스위치가 트렁크를 협상하도록 구성된 경우에만 성공합니다. 이는 인터페이스가 "dynamic desirable", "dynamic auto" 또는 "trunk" 모드 중 하나로 구성된 경우에 발생합니다. 대상 스위치에 이러한 모드 중 하나가 구성되어 있으면 공격자는 자신의 컴퓨터에서 DTP 메시지를 생성하여 트렁크 링크를 형성할 수 있습니다.

  2. 이중 태깅은 공격자가 이더넷 프레임의 태그를 추가 및 수정하여 모든 VLAN을 통해 패킷을 전송할 수 있게 하는 방식입니다. 이 공격은 많은 스위치가 태그를 처리하는 방식을 악용합니다. 대부분의 스위치는 외부 태그만 제거하고 프레임을 모든 네이티브 VLAN 포트로 전달합니다. 따라서 이 방법은 공격자가 트렁크 링크의 네이티브 VLAN에 속해 있는 경우에만 성공합니다. 또 다른 중요한 점은 이 공격이 반환 패킷을 캡슐화할 수 없기 때문에 엄격히 단방향이라는 것입니다.

Exploit-db 문서
삽화와 비디오가 포함된 가이드
VLAN 호핑 전체 가이드
심층 기사

공격 도구

  • yersinia –G Yersinia는 그래픽 인터페이스와 대화형 콘솔을 제공하며, 네트워크 인터페이스를 선택하고 MITM 공격을 시작해야 합니다.
    그래픽 인터페이스는 안정적으로 작동하지 않으므로 대화형 인터페이스를 사용할 수 있습니다: yersinia –I.

  • Scapy
    Scapy는 사용자가 네트워크 패킷을 전송, 스니핑, 분석 및 위조할 수 있게 해주는 Python 프로그램입니다. 이 공격을 처리하는 데 필요한 특수하게 제작된 프레임을 생성하는 데 사용할 수 있습니다.

  • dtp-spoof.py -i eth0는 eth0의 MAC 주소를 사용하여 eth0로 DTP Trunk 패킷을 전송합니다 DTP-spoof는 스위치의 DTP(Dynamic Trunking Protocol) 구성을 테스트하기 위한 보안 도구입니다. 대상 스위치가 포트 모드를 협상하도록 구성된 경우, 대상 스위치의 포트를 Trunk 모드로 설정하여 추가 VLAN에 접근할 수 있습니다.
    방어 기법

도구 다운로드