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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/brannondorsey/mitm-router
Packet Sniffing & AnalysisWi-Fi AuditingNetwork SecurityPenetration TestingLearning & EducationRed Teaming
GitHubbrannondorsey/mitm-router

mitm-router

☠ 도커 컨테이너 내부의 중간자 공격 무선 액세스 포인트 🐳

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

☠ 중간자 공격 라우터 🌐

모든 리눅스 컴퓨터를 공용 Wi-Fi 네트워크로 전환하여 모든 HTTP 트래픽을 조용히 중간자 공격합니다. Docker 컨테이너 내부에서 hostapd, dnsmasq, mitmproxy를 사용하여 "Public"이라는 개방형 허니팟 무선 네트워크를 생성합니다. 재미를 더하려면 네트워크 이름을 "xfinitywifi"로 변경하면 해당 네트워크에 한 번이라도 연결한 사람들이 자동으로 연결됩니다... 그런 네트워크는 도처에 있습니다.

면책 조항: 이 소프트웨어는 교육 목적으로만 제공됩니다. 불법 활동에 사용해서는 안 됩니다. 저자는 그 사용에 대해 책임을 지지 않습니다. 나쁜 사람이 되지 마세요.

root@kitploit:~
# clone the repo
git clone https://github.com/brannondorsey/mitm-router
cd mitm-router

# build the image this step can be omitted if you prefer to pull 
# the image from the docker hub repository
docker build . -t brannondorsey/mitm-router

다음을 실행하여 AP_IFACE와 INTERNET_IFACE를 각각 무선 장치와 인터넷에 연결된 이더넷/무선 장치로 바꾸세요. ifconfig를 실행하여 네트워크 장치 이름을 확인할 수 있습니다.

root@kitploit:~
# run the container
docker run -it --net host --privileged \
-e AP_IFACE="wlan0" \
-e INTERNET_IFACE="eth0" \
-e SSID="Public" \
-v "$(pwd)/data:/root/data" \
brannondorsey/mitm-router

모든 것이 잘 진행되었다면 다음과 같은 내용이 표시될 것입니다:

root@kitploit:~
Current MAC:   a5:ae:f9:a4:b7:e3 (TP-LINK TECHNOLOGIES CO.,LTD.)
Permanent MAC: a5:ae:f9:a4:b7:e3 (TP-LINK TECHNOLOGIES CO.,LTD.)
New MAC:       00:d2:6b:d5:fe:bd (PHOTRON USA)
[ ok ] Starting system message bus: dbus.
[ ok ] Starting DNS forwarder and DHCP server: dnsmasq.
[ ok ] Starting advanced IEEE 802.11 management: hostapd.
Proxy server listening at http://0.0.0.0:1337

mitm-router는 10.0.0.1:80의 라우터로 전송되는 모든 HTTP 트래픽을 투명하게 캡처합니다. https://로 시작하는 URL 간의 트래픽은 캡처되지 않습니다.

mitm-router/data/ 폴더는 Docker 컨테이너와 공유되므로 호스트 머신에서 해당 폴더에 배치된 캡처 파일을 볼 수 있습니다. 기본적으로 mitm-router/data/http-traffic.cap에서 mitmdump 캡처 파일을 찾을 수 있습니다.

또한 INTERNET_IFACE를 휴대폰의 핫스팟에 연결하여 이동 중에도 중간자 공격을 할 수 있습니다 ;)

문제가 발생한 것 같으면 문제 해결 페이지를 참조하세요.

네트워크 종료

Docker 컨테이너를 내려 iptable 라우팅 규칙을 재설정합니다.

root@kitploit:~
# get the name of your container
docker ps

# attach to the container
docker stop <CONTAINER_NAME>
root@kitploit:~
Proxy server listening at http://0.0.0.0:1337
[ ok ] Stopping DNS forwarder and DHCP server: dnsmasq.
[ ok ] Stopping advanced IEEE 802.11 management: hostapd.
[ ok ] Stopping system message bus: dbus.
received shutdown signal, exiting.

MAC 무작위화

기본적으로 mitm-router는 AP_IFACE의 MAC 주소를 무작위화하여 네트워크 장치를 익명화합니다. 이 기능은 MAC="unchanged" 환경 변수로 비활성화할 수 있습니다. 또한 MAC="XX:XX:XX:XX:XX:XX"로 AP_IFACE MAC 주소를 명시적으로 설정할 수 있습니다.

구성

지원되는 환경 변수와 기본값은 아래와 같습니다:

root@kitploit:~
# wireless device name that will be used for the Access Point
AP_IFACE="wlan0"

# device name that is used for the router's internal internet connection
# packets from AP_IFACE will be forwarded to this device
INTERNET_IFACE="eth0"

# wireless network name
SSID="Public"

# optional WPA2 password; if left empty network will be public
PASSWORD=""

# optional randomization of AP_IFACE MAC address
# can be set to a specific value like "XX:XX:XX:XX:XX:XX"
# or "unchanged" to leave the device MAC alone
MAC="random"

# tcpdump output file location inside the container
CAPTURE_FILE="/root/data/http-traffic.cap"

# optional mitmproxy filter
# see http://docs.mitmproxy.org/en/stable/features/filters.html
FILTER=""

문제 해결

자세한 내용은 문제 해결 페이지를 참조하세요.

보안

이 액세스 포인트는 격리를 위해 Docker 내부에서 실행되므로, 액세스 포인트에서 악용 가능한 취약점이 있다라도 공격자가 컴퓨터나 홈 네트워크에 접근할 수 없습니다. 하지만 몇 가지 주의할 점이 있습니다:

  • --net host는 호스트 머신의 모든 네트워크 인터페이스와 iptables 항목을 Docker 컨테이너와 공유합니다. 취약한 Docker 컨테이너가 이러한 장치에 대한 루트 액세스 권한을 가질 수 있다고 가정하세요.
  • --privileged 모드로 실행하면 Docker 컨테이너에 확장된 권한이 부여됩니다.
  • 호스트 머신(Docker를 실행하는 머신)은 연결된 클라이언트로서 "Public" 네트워크에서 접근 가능합니다. 이러한 이유로 방화벽(리눅스에서는 ufw)을 사용하여 모든 포트에서 들어오는 트래픽을 차단하여 "Public" 네트워크에 있는 컴퓨터가 노출된 서비스에 접근하지 못하도록 하세요.
  • 허니팟 네트워크의 모든 트래픽은 집 네트워크 게이트웨이에서 나갑니다. "Public" 네트워크의 누군가가 토렌트를 하거나 불법 활동을 하면 귀하가 책임을 지게 되며 ISP가 서비스를 취소할 수 있습니다.

추가 보안을 위해 저는 이 Docker 컨테이너를 Raspberry Pi와 같은 전용 컴퓨터에서 실행하는 것을 선호합니다.

출처

이 코드는 simonschuang의 rpi-hostapd의 하드 포크로 시작되었습니다. 코드는 중간자 공격 목적으로 크게 수정되었습니다.

도구 다운로드