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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
evil-twin-ap — 자동화된 이블 트윈 액세스 포인트 툴킷으로, 트래픽 캡처 및 실시간 모니터링 기능을 제공하여 무선 침투 테스트 및 보안 연구에 사용됩니다. | Kitploit
도구/GitHubGitHub/jean-nestor/evil-twin-ap
Packet Sniffing & AnalysisWi-Fi AuditingNetwork SecurityWireless SecurityPenetration TestingLearning & EducationRed Teaming
GitHubjean-nestor/evil-twin-ap

evil-twin-ap

자동화된 이블 트윈 액세스 포인트 툴킷으로, 트래픽 캡처 및 실시간 모니터링 기능을 제공하여 무선 침투 테스트 및 보안 연구에 사용됩니다.

저장소 보기
1112910개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Evil Twin Access Point Toolkit

License Platform Shell

방어적 보안 테스트, 침투 테스트 및 무선 보안 연구를 위한 완전하고 모듈화된 재현 가능한 evil twin 액세스 포인트 설정입니다.

⚠️ 법적 고지

교육 및 승인된 보안 테스트 전용

이 도구는 다음을 위해 제공됩니다:

  • 교육 목적
  • 승인된 침투 테스트
  • 통제된 환경에서의 보안 연구
  • 방어적 보안 훈련

불법 사용은 엄격히 금지됩니다. 승인되지 않은 컴퓨터 네트워크 접근은 대부분의 국가에서 범죄입니다. 사용자는 전적으로 다음에 대한 책임이 있습니다:

  • 테스트 전 서면 승인 획득
  • 모든 관련 법률 및 규정 준수
  • 오용으로 인한 모든 결과

이 도구를 사용함으로써 귀하는 자신이 소유하거나 명시적인 서면 테스트 허가를 받은 네트워크에서만 사용하는 데 동의합니다.


📋 목차

  • 개요
  • 기능
  • 하드웨어 요구 사항
  • 소프트웨어 요구 사항
  • 설치
  • 설정
  • 사용법
  • 트래픽 캡처
  • 모니터링
  • 문제 해결
  • 프로젝트 구조
  • 보안 고려 사항
  • 기여
  • 라이선스

  • 🎯 개요

    이 툴킷은 합법적인 네트워크를 모방하는 rogue 무선 액세스 포인트(evil twin)를 생성합니다. 클라이언트가 합법적인 네트워크로 착각하여 자동으로 연결될 수 있는 동일한 SSID를 생성하여 네트워크 트래픽을 캡처합니다.

    Evil Twin 공격이란?

    Evil twin은 합법적인 것처럼 보이지만 무선 통신을 도청하기 위해 설정된 사기성 Wi-Fi 액세스 포인트입니다. 이 공격은 대상 네트워크 근처에 rogue 액세스 포인트를 배치하고 동일한 SSID를 브로드캐스팅하여 장치가 연결되도록 속임으로써 작동합니다.

    사용 사례

    • 🔐 무선 보안 침투 테스트
    • 🎓 보안 인식 교육 및 시연
    • 🧪 실험실 환경에서의 네트워크 보안 연구
    • 🛡️ 무선 침입 탐지 시스템 테스트
    • 📱 장치 동작 및 클라이언트 연결 분석

    ✨ 기능

    • 🔧 모듈식 설계: 재사용 가능한 함수와의 명확한 관심사 분리
    • 📊 상세 출력: 모든 작업에 대한 색상 코드 상태 메시지
    • 🔍 실시간 모니터링: 타임스탬프가 있는 연결된 클라이언트의 실시간 추적
    • 📝 포괄적인 로깅: hostapd, dnsmasq 및 연결에 대한 상세 로그
    • 🌐 인터넷 공유: 인터넷 패스스루를 위한 자동 NAT 설정
    • 🔄 자동 탐지: 인터넷 연결 인터페이스 자동 감지
    • 🧹 정리 종료: 전체 시스템 복원을 포함한 안전한 종료
    • ✅ 의존성 관리: 자동 설치 및 확인
    • 🎨 크로스 플랫폼: Debian, Ubuntu, Kali, Fedora, Arch 등 지원
    • 📦 재현 가능: 버전 관리 가능한 설정 파일
    • 📡 인터페이스 감지: 자동 무선 어댑터 감지 및 AP 모드 확인
    • 📸 트래픽 캡처: 필터링 및 로테이션이 있는 내장 PCAP 캡처

    🔌 하드웨어 요구 사항

    무선 네트워크 어댑터

    무선 어댑터는 AP(Access Point) 모드를 지원해야 합니다. 모든 무선 카드가 이 기능을 지원하는 것은 아닙니다.

    ✅ 권장 어댑터

    다음 어댑터는 잘 작동하는 것으로 알려져 있으며 AP 모드를 지원합니다:

    칩셋모델 예시특징가격대
    RTL8812AUAlfa AWUS036ACH, TP-Link Archer T4U듀얼 밴드(2.4/5GHz), 고출력, 우수한 범위$40-60
    RTL8814AUAlfa AWUS1900, TP-Link Archer T9UH쿼드 안테나, AC1900, 장거리$60-80
    Atheros AR9271TP-Link TL-WN722N v1, Alfa AWUS036NHA안정적, 지원 우수, 예산 친화적$20-35
    MT7612UPanda PAU0D, Alfa AWUS036ACM듀얼 밴드, 호환성 우수$35-50
    RTL8188EU다양한 저가 어댑터기본, 2.4GHz 전용, 입문용$10-20

    🏆 최고 추천

    1. Alfa AWUS036ACH (RTL8812AU)

      • 침투 테스트에 가장 적합한 전반적 선택
      • Kali Linux에서 우수한 드라이버 지원
      • 높은 전송 전력(최대 30dBm)
      • 듀얼 밴드 지원
    2. TP-Link TL-WN722N v1 (Atheros AR9271)

      • 최고의 예산 옵션
      • 견고한 안정성
      • 네이티브 Linux 지원
      • ⚠️ v1을 구매해야 하며, v2나 v3는 피하세요
    3. Alfa AWUS036ACM (MT7612U)

      • 가격과 성능의 적절한 균형
      • 우수한 호환성
      • 중간 출력

    ❌ 피해야 할 어댑터

    • 내장 노트북 무선 카드(일반적으로 AP 모드 미지원)
    • RTL8188FTV 칩셋(AP 모드 지원 불량)
    • Broadcom 칩셋(Linux 지원 제한)
    • 이전에 작동했던 모델의 "v2" 또는 "v3"로 표시된 모든 어댑터(종종 다른 호환되지 않는 칩셋 사용)

    AP 모드 지원 확인

    구매 전, 어댑터가 AP 모드를 지원하는지 확인하세요:```bash

    Check if your current adapter supports AP mode

    iw list | grep -A 10 "Supported interface modes"

    Look for this in the output:

    * AP

    * monitor

    root@kitploit:~
    ### 추가 하드웨어
    
    - **이더넷 연결**: 인터넷 패스스루에 필요 (물리적 또는 USB-이더넷 어댑터 가능)
    - **충분한 USB 전원**: 일부 고전력 어댑터는 전원 공급 USB 허브가 필요할 수 있음
    - **컴퓨터**: Linux를 실행하는 모든 노트북 또는 데스크탑 (권장: Kali Linux)
    
    ---
    
    ## 💻 소프트웨어 요구사항
    
    ### 운영 체제
    
    - **권장**: Kali Linux (2020.1 이상)
    - **또한 지원**:
      - Debian 10+
      - Ubuntu 18.04+
      - Fedora 30+
      - Arch Linux
      - ParrotOS
      - BlackArch
    
    ### 필수 패키지
    
    이들은 `install_dependencies.sh`에 의해 자동으로 설치됩니다:
    
    - `hostapd` - 액세스 포인트 생성
    - `dnsmasq` - DHCP 및 DNS 서비스 제공
    - `iptables` - NAT 및 방화벽 규칙 구성
    - `iproute2` - 네트워크 인터페이스 구성
    - `wireless-tools` - 무선 관리 유틸리티
    - `net-tools` - 네트워크 진단 도구
    - `iw` - 무선 구성 유틸리티
    - `tcpdump` - 패킷 캡처 유틸리티
    
    ### 권한
    
    - 모든 작업에 루트/sudo 액세스 필요
    
    ---
    
    ## 📦 설치
    
    ### 빠른 시작```bash
    # Clone the repository
    git clone https://github.com/yourusername/evil-twin-ap.git
    cd evil-twin-ap
    
    # Install dependencies
    sudo ./install_dependencies.sh
    
    # Detect your wireless interfaces
    sudo ./detect_interface.sh
    
    # Configure your settings (update interface if needed)
    nano hostapd.conf  # Change SSID, channel, interface
    nano dnsmasq.conf  # Adjust DHCP settings, interface
    
    # Start the evil twin
    sudo ./start_evil_twin.sh
    

    상세 설치

    1단계: 저장소 복제```bash

    git clone https://github.com/yourusername/evil-twin-ap.git cd evil-twin-ap

    root@kitploit:~
    #### 2단계: 종속성 설치
    
    설치 스크립트는 자동으로 사용 중인 Linux 배포판을 감지하고 필요한 패키지를 설치합니다:```bash
    sudo ./install_dependencies.sh
    

    기능:

    • Linux 배포판 감지
    • 패키지 목록 업데이트
    • 필요한 모든 도구 설치
    • 커널 모듈이 로드되었는지 확인
    • 무선 어댑터 호환성 확인
    • 문서 생성

    3단계: 무선 인터페이스 감지

    중요 단계: 구성하기 전에 AP 모드를 지원하는 무선 인터페이스를 감지하세요:```bash sudo ./detect_interface.sh

    root@kitploit:~
    이 스크립트는 모든 무선 인터페이스를 분석하고 최적의 것을 추천합니다.
    
    **예제 출력:**```
    ==========================================
       Wireless Interface Detection
    ==========================================
    
    [INFO] Scanning for wireless interfaces...
    
    [✓] Found 2 wireless interface(s)
    
    ═══════════════════════════════════════════
    Interface: wlan1
    ═══════════════════════════════════════════
    State: DORMANT
    MAC Address: 1a:60:c6:85:87:53
    Driver: rtl88XXau
    
    [INFO] Checking capabilities for wlan1...
    [✓] Supports AP mode (Access Point) ✓
    [✓] Supports Monitor mode ✓
    Current Mode: managed
    
    ═══════════════════════════════════════════
    Interface: wlan0
    ═══════════════════════════════════════════
    State: DOWN
    MAC Address: b2:72:bf:bc:31:bd
    Driver: iwlwifi
    
    [INFO] Checking capabilities for wlan0...
    [✓] Supports AP mode (Access Point) ✓
    [✓] Supports Monitor mode ✓
    Current Mode: managed
    [!] Power management is ON (may cause issues)
    
    ==========================================
       Summary & Recommendations
    ==========================================
    
    [✓] Found 2 AP-capable interfaces:
      - wlan1
      - wlan0
    
    [INFO] Recommendation: Use wlan1 (likely external USB adapter)
    
    [!] wlan0 is usually built-in WiFi - use external adapter if available
    
    [INFO] To update configuration files, run:
      sed -i 's/^interface=.*/interface=wlan1/' hostapd.conf
      sed -i 's/^interface=.*/interface=wlan1/' dnsmasq.conf
    
    Current Configuration:
      hostapd.conf: interface=wlan1
      dnsmasq.conf: interface=wlan1
    
    [INFO] After updating, verify with: iw list | grep -A 10 'Supported interface modes'
    

    주요 내용:

    • 🎯 wlan1은 일반적으로 외부 USB 어댑터입니다 (악성 트윈에 권장)
    • 💻 wlan0은 일반적으로 내장 WiFi입니다 (전원 관리 문제가 있을 수 있음)
    • ✅ 스크립트는 AP 모드를 지원하는 인터페이스를 표시합니다
    • 📝 스크립트의 권장 사항에 따라 설정 파일을 업데이트하세요
    • ⚠️ 중요: 최상의 결과를 위해 외부 어댑터(wlan1)를 사용하세요

    여러 인터페이스가 있는 경우:

    • 외부 USB 어댑터(wlan1, wlan2)가 내장 어댑터(wlan0)보다 선호됩니다
    • Realtek, Atheros, Ralink 칩셋이 일반적으로 더 나은 AP 모드 지원을 제공합니다
    • 충돌을 피하려면 wlan1을 사용할 때 wlan0을 비활성화하거나 연결을 끊으세요

    4단계: 설치 확인

    설치 및 인터페이스 감지 후 모든 것이 작동하는지 확인합니다:```bash

    Check hostapd

    hostapd -v

    Check dnsmasq

    dnsmasq -v

    List wireless interfaces

    iw dev

    Verify AP mode support (detailed)

    iw list | grep -A 10 "Supported interface modes"

    Check current interface configuration

    grep "^interface=" hostapd.conf dnsmasq.conf

    root@kitploit:~
    ---
    
    ## ⚙️ 설정
    
    ### hostapd.conf - 액세스 포인트 설정
    
    `hostapd.conf`를 편집하여 악성 트윈을 사용자 지정하세요:```bash
    nano hostapd.conf
    

    수정해야 할 주요 설정:```ini

    Wireless interface (CHANGE to wlan1 if using external USB adapter)

    interface=wlan1

    Network name (CHANGE THIS to match target network)

    ssid=TestNetwork

    Channel (1-11 for 2.4GHz, 36-165 for 5GHz)

    channel=6

    WiFi password

    wpa_passphrase=letitrain2

    Country code (affects available channels)

    country_code=US

    root@kitploit:~
    ### dnsmasq.conf - DHCP/DNS 설정
    
    `dnsmasq.conf`를 편집하여 네트워크 설정을 사용자 지정하세요:```bash
    nano dnsmasq.conf
    

    주요 설정:```ini

    Interface to serve DHCP/DNS (MUST match hostapd.conf)

    interface=wlan1

    DHCP range (adjust as needed)

    dhcp-range=192.168.99.10,192.168.99.250,12h

    Gateway (this machine)

    dhcp-option=3,192.168.99.1

    DNS servers (upstream)

    server=8.8.8.8 server=8.8.4.4

    root@kitploit:~
    ### 네트워크 구성
    
    **기본 설정:**
    - **AP IP**: 192.168.99.1
    - **서브넷**: 192.168.99.0/24
    - **DHCP 범위**: 192.168.99.10 - 192.168.99.250
    - **채널**: 6 (2.4GHz)
    - **비밀번호**: letitrain2
    - **인터페이스**: wlan1 (외부 어댑터)
    
    ---
    
    ## 🚀 사용법
    
    ### Evil Twin 시작하기```bash
    sudo ./start_evil_twin.sh
    

    발생 상황:

    1. ✅ 루트 권한 확인
    2. ✅ 모든 의존성 설치 확인
    3. ✅ 인터넷 연결 인터페이스(eth0 등) 검색
    4. ✅ 네트워크 인터페이스 존재 확인
    5. ✅ 충돌하는 서비스 중지(NetworkManager, wpa_supplicant)
    6. ✅ 무선 인터페이스 IP 192.168.99.1로 설정
    7. ✅ IP 포워딩 활성화
    8. ✅ NAT 및 iptables 규칙 설정
    9. ✅ DHCP/DNS 서버(dnsmasq) 시작
    10. ✅ 액세스 포인트(hostapd) 시작
    11. ✅ 연결된 클라이언트 모니터링 시작

    출력 예시:```

    Evil Twin AP - Start Script

    [INFO] Checking privileges... [SUCCESS] Running with root privileges [INFO] Checking dependencies... [SUCCESS] All dependencies found [INFO] Discovering internet interface... [SUCCESS] Internet interface detected: eth0 [INFO] Checking interface wlan1... [SUCCESS] Interface wlan1 found ...

    Evil Twin AP Started Successfully!

    Configuration: SSID: TestNetwork Channel: 6 Password: letitrain2 AP IP: 192.168.99.1 Subnet: 192.168.99.0/24 WLAN Interface: wlan1 Internet Interface: eth0

    To stop the Evil Twin AP, run: sudo ./stop_evil_twin.sh

    To capture traffic for analysis: sudo ./capture_traffic.sh sudo ./capture_traffic.sh -v # verbose mode

    root@kitploit:~
    ### Evil Twin 중지하기```bash
    sudo ./stop_evil_twin.sh
    

    What happens:

    1. ✅ 연결 모니터 중지
    2. ✅ hostapd 정상 종료
    3. ✅ dnsmasq 중지
    4. ✅ iptables 규칙 초기화
    5. ✅ IP 포워딩 비활성화
    6. ✅ 무선 인터페이스 재설정
    7. ✅ NetworkManager 재시작
    8. ✅ 세션 통계 표시

    Output example:```

    Evil Twin AP - Stop Script

    [INFO] Stopping hostapd... [SUCCESS] hostapd stopped (PID: 12345) [INFO] Stopping dnsmasq... [SUCCESS] dnsmasq stopped (PID: 12346) ...

    Session Statistics

    Unique clients connected: 3

    Last 10 DHCP assignments: 192.168.99.10 - AA:BB:CC:DD:EE:01 192.168.99.11 - AA:BB:CC:DD:EE:02 192.168.99.12 - AA:BB:CC:DD:EE:03

    root@kitploit:~
    ---
    
    ## 📸 트래픽 캡처
    
    ### 네트워크 트래픽 캡처
    
    이 도구 키트에는 패킷 데이터를 분석을 위해 PCAP 파일로 저장하는 포괄적인 트래픽 캡처 스크립트가 포함되어 있습니다:```bash
    # Basic capture (continuous until Ctrl+C)
    sudo ./capture_traffic.sh
    
    # Capture for specific duration (60 seconds)
    sudo ./capture_traffic.sh -d 60
    
    # Capture with verbose output and live statistics
    sudo ./capture_traffic.sh -v
    
    # Capture only HTTP/HTTPS traffic
    sudo ./capture_traffic.sh -f "tcp port 80 or tcp port 443"
    
    # Capture with custom filename
    sudo ./capture_traffic.sh -n my_test_capture
    
    # Capture on specific interface
    sudo ./capture_traffic.sh -i wlan1
    
    # Capture with file rotation (50MB files, max 20 files)
    sudo ./capture_traffic.sh -s 50 -m 20
    

    캡처 스크립트 옵션```

    -i, --interface Wireless interface to capture (default: wlan0) -d, --duration Capture duration in seconds (default: continuous) -n, --name Custom capture filename prefix -f, --filter BPF capture filter (e.g., "tcp port 80") -s, --size Rotate files when size reaches MB (default: 100) -m, --max-files Maximum number of rotated files (default: 10) -v, --verbose Show verbose packet statistics -h, --help Show help message

    root@kitploit:~
    ### 캡처 기능
    
    - ✅ 트래픽을 표준 PCAP 형식으로 저장
    - ✅ 대용량 파일 방지를 위한 자동 파일 로테이션
    - ✅ 자세한 모드에서 실시간 패킷 통계
    - ✅ BPF 필터링 지원 (버클리 패킷 필터)
    - ✅ 시간 설정 캡처 또는 연속 작동
    - ✅ Ctrl+C 입력 시 안전한 정리
    - ✅ 출력이 `output/` 디렉토리에 저장됨
    
    ### 출력 위치
    
    모든 캡처는 타임스탬프 기반 파일명으로 `output/`에 저장됩니다:
    - 형식: `capture_YYYYMMDD_HHMMSS.pcap`
    - 사용자 정의: `yourname_YYYYMMDD_HHMMSS.pcap`
    
    ### 캡처된 트래픽 분석```bash
    # Open in Wireshark (GUI)
    wireshark output/capture_20251018_143215.pcap
    
    # Analyze with tcpdump
    tcpdump -r output/capture_20251018_143215.pcap -n
    
    # Filter for specific protocols
    tcpdump -r output/capture_20251018_143215.pcap 'tcp port 80'
    
    # Extract HTTP requests
    tcpdump -r output/capture_20251018_143215.pcap -A 'tcp port 80'
    
    # Get capture statistics
    capinfos output/capture_20251018_143215.pcap
    
    # Use tshark for advanced analysis
    tshark -r output/capture_20251018_143215.pcap -Y "http.request"
    

    일반적인 BPF 필터```bash

    HTTP traffic only

    sudo ./capture_traffic.sh -f "tcp port 80"

    HTTPS traffic only

    sudo ./capture_traffic.sh -f "tcp port 443"

    HTTP and HTTPS

    sudo ./capture_traffic.sh -f "tcp port 80 or tcp port 443"

    DNS queries

    sudo ./capture_traffic.sh -f "udp port 53"

    Specific IP address

    sudo ./capture_traffic.sh -f "host 192.168.99.10"

    Exclude broadcast traffic

    sudo ./capture_traffic.sh -f "not broadcast and not multicast"

    Capture only TCP traffic

    sudo ./capture_traffic.sh -f "tcp"

    root@kitploit:~
    ---
    
    ## 📊 모니터링
    
    ### 실시간 연결 모니터링
    
    이 툴킷은 연결된 클라이언트를 모니터링하는 여러 방법을 제공합니다:
    
    #### 1. 연결 로그
    
    5초마다 자동으로 업데이트됩니다:```bash
    tail -f logs/connections.log
    

    출력 예시:``` === Sat Oct 18 14:32:15 EDT 2025 === Connected clients: 192.168.99.10 dev wlan1 lladdr aa:bb:cc:dd:ee:01 REACHABLE 192.168.99.11 dev wlan1 lladdr aa:bb:cc:dd:ee:02 STALE

    root@kitploit:~
    #### 2. DHCP 할당
    
    DHCP 임대를 실시간으로 확인하세요:```bash
    tail -f logs/dnsmasq.log
    

    예제 출력:``` dnsmasq-dhcp[12346]: DHCPDISCOVER(wlan1) aa:bb:cc:dd:ee:01 dnsmasq-dhcp[12346]: DHCPOFFER(wlan1) 192.168.99.10 aa:bb:cc:dd:ee:01 dnsmasq-dhcp[12346]: DHCPREQUEST(wlan1) 192.168.99.10 aa:bb:cc:dd:ee:01 dnsmasq-dhcp[12346]: DHCPACK(wlan1) 192.168.99.10 aa:bb:cc:dd:ee:01 android-device

    root@kitploit:~
    #### 3. 액세스 포인트 상태
    
    hostapd 로그 모니터링:```bash
    tail -f logs/hostapd.log
    

    4. 수동 점검```bash

    List connected clients

    sudo iw dev wlan1 station dump

    Show DHCP leases

    cat /var/lib/misc/dnsmasq.leases

    Check interface status

    ip addr show wlan1

    View active connections

    sudo arp -a -i wlan1

    root@kitploit:~
    ---
    
    ## 🔧 문제 해결
    
    ### 일반적인 문제 및 해결 방법
    
    #### 1. "무선 인터페이스를 찾을 수 없습니다"
    
    **문제:** 무선 어댑터가 감지되지 않습니다.
    
    **해결 방법:**```bash
    # Check if adapter is connected
    lsusb | grep -i wireless
    
    # Check interface name
    ip link show
    
    # Try replugging USB adapter
    
    # Check kernel messages
    dmesg | tail -20
    
    # Run the detection script
    sudo ./detect_interface.sh
    

    2. "인터페이스가 AP 모드를 지원하지 않습니다"

    문제: 어댑터가 액세스 포인트 생성을 지원하지 않습니다.

    해결책: 다른 무선 어댑터가 필요합니다. 권장 사항은 하드웨어 요구 사항을 참조하세요.

    지원 확인:```bash iw list | grep -A 10 "Supported interface modes"

    Should show: * AP

    root@kitploit:~
    #### 3. "hostapd failed to start"
    
    **문제:** hostapd가 액세스 포인트를 시작할 수 없습니다.
    
    **해결 방법:**```bash
    # Check if interface is busy
    sudo airmon-ng check kill
    
    # Verify interface is up
    sudo ip link set wlan1 up
    
    # Check hostapd config syntax
    sudo hostapd -d hostapd.conf
    
    # View detailed logs
    cat logs/hostapd.log
    
    # Make sure you're using the right interface
    grep "^interface=" hostapd.conf
    

    4. "NetworkManager가 계속 간섭합니다"

    문제: NetworkManager가 무선 인터페이스를 관리하고 있습니다.

    해결 방법:```bash

    The start script handles this, but if issues persist:

    sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager # Temporarily

    After testing, re-enable:

    sudo systemctl enable NetworkManager sudo systemctl start NetworkManager

    root@kitploit:~
    #### 5. "클라이언트가 연결되지만 인터넷에 접속할 수 없음"
    
    **문제:** NAT/라우팅이 올바르게 구성되지 않았습니다.
    
    **해결 방법:**```bash
    # Verify IP forwarding
    cat /proc/sys/net/ipv4/ip_forward
    # Should output: 1
    
    # Check NAT rules
    sudo iptables -t nat -L -v
    
    # Verify internet interface
    ip route show default
    
    # Test internet on host
    ping -c 3 8.8.8.8
    
    # Check if eth0 has internet
    ping -I eth0 -c 3 8.8.8.8
    

    6. "권한 거부" 오류

    문제: 충분한 권한으로 실행되지 않음.

    해결 방법:```bash

    Always use sudo

    sudo ./start_evil_twin.sh

    root@kitploit:~
    #### 7. "채널 X를 사용할 수 없습니다"
    
    **문제:** 무선 규정으로 인해 특정 채널이 제한됩니다.
    
    **해결 방법:**```bash
    # Check available channels for your country
    iw list | grep -A 20 "Frequencies:"
    
    # Edit hostapd.conf and change to available channel
    nano hostapd.conf
    # Common safe channels: 1, 6, 11 (2.4GHz)
    

    8. "dnsmasq 시작 실패"

    문제: 포트 53(DNS)가 이미 사용 중입니다.

    해결 방법:```bash

    Check what's using port 53

    sudo lsof -i :53

    Stop systemd-resolved if running

    sudo systemctl stop systemd-resolved

    Or configure dnsmasq to use different port

    root@kitploit:~
    #### 9. "잘못된 인터페이스 사용"
    
    **문제:** 스크립트가 wlan0 대신 wlan1을 사용하고 있습니다(또는 그 반대).
    
    **해결 방법:**```bash
    # Run interface detection
    sudo ./detect_interface.sh
    
    # Update config files to use correct interface
    sed -i 's/^interface=.*/interface=wlan1/' hostapd.conf
    sed -i 's/^interface=.*/interface=wlan1/' dnsmasq.conf
    
    # Verify changes
    grep "^interface=" hostapd.conf dnsmasq.conf
    

    도움말 얻기

    문제가 발생하면:

    1. 로그 확인: logs/hostapd.log, logs/dnsmasq.log를 검토하세요.
    2. 탐지 실행: sudo ./detect_interface.sh
    3. 상세 모드: 스크립트를 bash -x로 실행하세요.
    4. 시스템 로그: dmesg와 journalctl을 확인하세요.
    5. 구성 요소 테스트: hostapd와 dnsmasq를 개별적으로 테스트하세요.
    6. 이슈 열기: 로그와 시스템 정보를 포함하세요.

    📁 프로젝트 구조```

    evil-twin-ap/ │ ├── README.md # This file (documentation) ├── LICENSE # License information │ ├── hostapd.conf # Access point configuration ├── dnsmasq.conf # DHCP/DNS server configuration │ ├── install_dependencies.sh # Dependency installer (all distros) ├── detect_interface.sh # Wireless interface detection & verification ├── start_evil_twin.sh # Main start script ├── stop_evil_twin.sh # Cleanup and stop script ├── capture_traffic.sh # Traffic capture script (PCAP) │ ├── .evil_twin.pid # Runtime PID file (created automatically) ├── .capture.pid # Capture PID file (created automatically) │ ├── logs/ # Log directory (created at runtime) │ ├── hostapd.log # Access point logs │ ├── dnsmasq.log # DHCP/DNS logs │ └── connections.log # Client connection tracking │ └── output/ # Packet capture directory └── *.pcap # PCAP files from traffic capture

    root@kitploit:~
    ### 파일 설명
    
    | 파일 | 목적 | 수정? |
    |------|---------|---------|
    | `hostapd.conf` | AP 설정 (SSID, 채널, 비밀번호, 인터페이스) | ✅ 예 - 테스트에 맞게 사용자 지정 |
    | `dnsmasq.conf` | DHCP/DNS 구성 (인터페이스, IP 범위) | ✅ 예 - 네트워크 설정 조정 |
    | `install_dependencies.sh` | 필요한 패키지 설치 | ❌ 아니오 - 그대로 실행 |
    | `detect_interface.sh` | 무선 인터페이스 및 AP 모드 지원 감지 | ❌ 아니오 - 그대로 실행 |
    | `start_evil_twin.sh` | 이블 트윈 AP 시작 | ⚠️ 드물게 - 고급 사용자 지정에만 |
    | `stop_evil_twin.sh` | 중지 및 정리 | ❌ 아니오 - 그대로 실행 |
    | `capture_traffic.sh` | 트래픽을 PCAP 파일로 캡처 | ⚠️ 대신 CLI 옵션 사용 |
    | `logs/*.log` | 실행 로그 | 📖 읽기 전용 - 모니터링용 |
    | `output/*.pcap` | 캡처된 패킷 데이터 | 📖 읽기 전용 - 분석용 |
    
    ---
    
    ## 🔒 보안 고려사항
    
    ### 윤리적 사용 가이드라인
    
    1. **승인**: 테스트 전에 항상 서면 허가를 받으세요.
    2. **범위**: 합의된 테스트 범위 내에서 유지하세요.
    3. **문서화**: 모든 활동에 대한 상세 로그를 보관하세요.
    4. **공개**: 네트워크 소유자에게 책임 있게 결과를 보고하세요.
    5. **데이터 처리**: 캡처된 데이터를 가로채거나 저장하거나 오용하지 마세요.
    
    ### 법적 고려사항
    
    - 승인 없이 불량 액세스 포인트를 생성하는 것은 대부분의 국가에서 **불법**입니다.
    - 처벌에는 벌금, 징역, 전과 기록이 포함될 수 있습니다.
    - '무해한' 테스트라도 승인되지 않으면 기소될 수 있습니다.
    - 기업 환경: IT 부서의 서면 승인을 받으세요.
    - 공공 장소: 공용 네트워크에서 절대 테스트하지 마세요.
    
    ### 기술적 보안
    
    **이 도구 키트는 설계상 다음과 같습니다:**
    - ✅ 액세스 포인트 생성 및 모니터링에 초점
    - ✅ 승인된 분석만을 위한 트래픽 캡처 포함
    - ✅ 책임 추적을 위한 포괄적인 로깅 제공
    - ⚠️ 자격 증명 수집을 포함하지 않음
    - ⚠️ SSL 스트리핑 또는 능동적 MITM 공격을 포함하지 않음
    - ⚠️ 캡티브 포털 피싱을 포함하지 않음
    
    **테스트 보안 강화를 위해:**
    - 격리된 네트워크 세그먼트 사용
    - 테스트 네트워크 식별 구현 (고유 SSID)
    - 특정 시간대에 테스트 제한
    - 모든 활동 모니터링 및 로깅
    - 신호 누출 방지를 위해 패러데이 케이지 또는 RF 차폐실에서만 사용
    
    ### 방어 조치
    
    조직은 다음과 같은 방법으로 이블 트윈 공격으로부터 보호할 수 있습니다:
    
    - **802.1X 인증** 구현 (WPA2/WPA3 Enterprise)
    - 네트워크 인증에 **인증서 검증** 사용
    - **무선 침입 탐지 시스템(WIDS)** 배포
    - **보호 관리 프레임(PMF/802.11w)** 활성화
    - 사용자 교육으로 네트워크 신뢰성 확인
    - 민감한 통신에 VPN 사용
    - 불량 액세스 포인트 모니터링
    
    ---
    
    ## 🤝 기여
    
    기여를 환영합니다! 다음 지침을 따라주세요:
    
    ### 기여 방법
    
    1. **저장소 포크**
    2. **기능 브랜치 생성**: `git checkout -b feature/your-feature`
    3. 명확한 커밋 메시지와 함께 **변경**
    4. 가능한 경우 여러 시스템에서 **철저히 테스트**
    5. 기능 변경 시 **문서 업데이트**
    6. 상세 설명과 함께 **풀 리퀘스트 제출**
    
    ### 기여 지침
    
    - 모듈식 구조 유지
    - 새 기능에 대한 상세 로깅 추가
    - 엣지 케이스에 대한 오류 처리 포함
    - 새 기능 추가 시 README 업데이트
    - 기존 코드 스타일 준수 (bash 모범 사례)
    - 복잡한 로직에 주석 추가
    - 최소 하나의 Debian 기반 배포판에서 테스트
    
    ### 코드 스타일```bash
    # Use descriptive function names
    configure_network_interface() {
        # Clear comments
        # Error handling
        # Verbose output
    }
    
    # Consistent formatting
    print_info "Starting process..."
    command || print_error "Failed to execute command"
    

    기여 가능 분야

    • 추가 무선 드라이버 지원
    • 웹 기반 모니터링 대시보드
    • 향상된 클라이언트 핑거프린팅
    • 자동화된 보안 보고서 생성
    • 도커 컨테이너화
    • 라즈베리 파이 특화 최적화
    • 추가 BPF 필터 템플릿
    • 기타 보안 도구와의 통합

    📄 라이선스

    이 프로젝트는 교육 및 허가된 보안 테스트 목적으로만 제공됩니다.

    MIT 라이선스 (전체 텍스트는 LICENSE 파일 참조)``` Copyright (c) 2025 [Your Name]

    Permission is hereby granted for educational and authorized security testing purposes only...

    root@kitploit:~
    ---
    
    ## 🙏 감사의 말
    
    - 뛰어난 무선 보안 도구를 제공하는 Kali Linux 팀
    - hostapd 및 dnsmasq 프로젝트
    - 무선 보안 연구 커뮤니티
    - 기여자 및 테스터 여러분
    
    ---
    
    ## 📚 추가 자료
    
    ### 학습 자료
    
    - [OWASP 무선 보안 테스트 가이드](https://owasp.org/www-project-web-security-testing-guide/)
    - [WiFi 침투 테스트 방법론](https://www.sans.org/white-papers/)
    - [Kali Linux에서의 무선 보안](https://www.kali.org/docs/wireless/)
    
    ### 관련 도구
    
    - **Aircrack-ng**: 무선 감사 제품군
    - **Wireshark**: 네트워크 프로토콜 분석기
    - **Bettercap**: 네트워크 공격 및 모니터링
    - **Wifiphisher**: WiFi 자동화 피싱 공격
    
    ### 문서
    
    - [hostapd 문서](https://w1.fi/hostapd/)
    - [dnsmasq 매뉴얼](http://www.thekelleys.org.uk/dnsmasq/doc.html)
    - [Linux 무선 위키](https://wireless.wiki.kernel.org/)
    - [tcpdump 매뉴얼](https://www.tcpdump.org/manpages/tcpdump.1.html)
    
    ---
    
    ## 📞 지원
    
    - **이슈**: [GitHub Issues](https://github.com/yourusername/evil-twin-ap/issues)
    - **토론**: [GitHub Discussions](https://github.com/yourusername/evil-twin-ap/discussions)
    - **보안**: 취약점은 이메일로 보고해 주세요 (공개 이슈 사용 금지)
    
    ---
    
    ## ⚖️ 최종 경고```
    ┌─────────────────────────────────────────────────────────────┐
    │                                                             │
    │  This tool is provided for EDUCATIONAL PURPOSES ONLY        │
    │                                                             │
    │  Unauthorized access to computer networks is ILLEGAL        │
    │                                                             │
    │  Always obtain written permission before testing            │
    │                                                             │
    │  You are responsible for your actions                       │
    │                                                             │
    └─────────────────────────────────────────────────────────────┘
    

    기억하세요: 큰 힘에는 큰 책임이 따릅니다. 이 도구를 윤리적이고 합법적이며 책임감 있게 사용하세요.


    즐거운 (승인된) 테스트 되세요! 🔐

    도구 다운로드