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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mitm-proxy — Go 기반 MITM HTTP/HTTPS 프록시로, HTTP/2 및 HTTP/1.1 가로채기, 로컬 CA/호스트별 인증서 생성, CONNECT/WebSocket 터널링, 디스크 캐싱, 관리자 대시보드, 트래픽 캡처, 차단 정책, 그리고 선택적 AI 기반 위협 스캐닝(교정, 격리, 감사 로깅 포함)을 제공합니다. | Kitploit
도구/GitHubGitHub/welfordian/mitm-proxy
Web Proxies & InterceptionAPI Security TestingDebuggersWeb SecurityPenetration TestingThreat IntelligenceLearning & EducationAI Security
GitHubwelfordian/mitm-proxy

mitm-proxy

Go 기반 MITM HTTP/HTTPS 프록시로, HTTP/2 및 HTTP/1.1 가로채기, 로컬 CA/호스트별 인증서 생성, CONNECT/WebSocket 터널링, 디스크 캐싱, 관리자 대시보드, 트래픽 캡처, 차단 정책, 그리고 선택적 AI 기반 위협 스캐닝(교정, 격리, 감사 로깅 포함)을 제공합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Go MITM Proxy

MITM Proxy Admin logo mark

Go로 작성된 가볍고 개발자 친화적인 중간자(MITM) HTTP/HTTPS 프록시입니다. HTTP/1.1 및 HTTP/2, CONNECT 터널링, WebSocket 터널링(ws/wss), 유연한 필터를 지원하는 디스크 기반 응답 캐싱, 그리고 실시간 설정 리로드를 지원합니다.

배지

Go Platform PRs Welcome

관리자 대시보드 미리보기

MITM 프록시 관리자 대시보드 개요

개요

Go MITM Proxy는 디버깅, 테스트, 학습, 그리고 HTTP(S) 트래픽의 통제된 가로채기를 목적으로 하는 인터셉팅 프록시입니다. MITM이 활성화되면 로컬 CA가 서명한 호스트별 리프 인증서를 동적으로 생성하여 프록시가 HTTPS 트래픽을 복호화하고 검사할 수 있게 합니다. MITM이 비활성화되거나 제외된 도메인/포트의 경우 투명한 TCP 터널로도 작동할 수 있습니다.

고지 및 책임 있는 사용 요구사항

중요: 이 애플리케이션은 HTTPS 트래픽을 복호화하기 위한 TLS 인증서의 생성 및 사용을 포함하여 능동적인 중간자(MITM) 가로채기를 수행합니다. 관할권과 네트워크 환경에 따라, 영향을 받는 모든 사용자로부터 명확하고 사전 동의 없이 트래픽을 가로채는 것은 불법일 수 있으며 개인정보 보호, 직장 정책 또는 규제 요구사항을 위반할 수 있습니다.

이 소프트웨어를 자신의 로컬 머신이 아닌 환경에서 사용하기 전에:

1. 명시적 동의 얻기

이 프록시가 트래픽을 가로챌 수 있는 모든 네트워크의 사용자는 HTTP(S) 가로채기 및 검사가 수행된다는 사실을 명확히 고지받아야 합니다. 동의는 명시적이어야 하며 이상적으로는 문서화되어야 합니다.

2. 승인된 네트워크에서만 사용

소유, 관리, 또는 테스트나 모니터링에 대한 명시적 권한이 없는 네트워크에서 이 소프트웨어를 실행하지 마십시오.

3. 개인정보 보호 및 데이터 보호 법률 준수

많은 지역에서는 사용자 데이터의 가로채기, 로깅, 저장을 규율하는 엄격한 법률이 있습니다(예: GDPR, CCPA, 통신 감청법). 귀하는 귀하의 사용이 모든 적용 가능한 규정을 준수하도록 할 책임이 있습니다.

4. 생성된 CA 키 보호

생성된 CA 개인 키(보통 ca-key.pem)를 보유한 사람은 해당 인증서를 신뢰하는 사용자에 대해 모든 도메인을 사칭할 수 있습니다.

  • 안전하게 보관하십시오.
  • 절대 공유하지 마십시오.
  • 유출된 경우 교체/삭제하십시오.

5. 테스트 및 디버깅 전용으로 사용

이 프록시는 개발, 디버깅, 통제된 테스트 또는 교육 목적으로 설계되었습니다 — 은밀한 모니터링이나 무단 감시를 위한 것이 아닙니다.


이 소프트웨어를 사용함으로써, 귀하는 귀하의 사용이 합법적이고 윤리적이며 모든 영향을 받는 사용자에게 적절히 고지되도록 할 전적인 책임을 인정하고 수락합니다.

기능

  • HTTP 및 HTTPS 표준 프록시 의미 체계를 통한 프록시
  • 호스트별 인증서를 사용한 HTTPS MITM 가로채기
  • ALPN 협상을 통한 HTTP/1.1 및 HTTP/2 다운스트림 처리
  • WebSocket 터널링: ws:// 및 wss://
  • GET 응답을 위한 유연한 디스크 기반 캐시
    • 도메인 및 파일 확장자별 포함/제외
    • TTL 기반 만료
    • 응답의 캐시 적중 표시(Via 및 사용자 지정 x--uid 헤더)
  • 실시간 설정 리로드: config.json 선택적 폴링 및 변경 사항 핫 적용
  • Bearer 토큰 인증, 읽기 전용 토큰 지원, 관리자 사용자 역할 기록, health/version/audit 엔드포인트, 실시간 트래픽 SSE, CA 메타데이터/다운로드를 제공하는 로컬 관리 API/대시보드
  • 포트, 도메인, IP/CIDR 범위에 대한 런타임 차단 정책
  • 휴리스틱 및 AI 기반 판정, 편집(redaction), 판정 캐싱, 격리 메타데이터, 대시보드 엔드포인트를 제공하는 선택적 위협 스캐너
  • 상세(verbose) 및 요청별 로깅 제어
  • 선택적 JSON 구성과 합리적인 기본값

설치

전제 조건:

  • Go 1.25 이상

클론 및 빌드: ```bash git clone https://github.com/Welfordian/mitm-proxy.git cd mitm-proxy go build ./

이렇게 하면 프로젝트 루트에 mitm-proxy(Windows에서는 mitm-proxy.exe) 바이너리가 생성됩니다.


## 빠른 시작

1) 기본 설정으로 프록시를 실행합니다(:8080에서 수신 대기): ```bash
./mitm-proxy

처음 시작하면 로컬 CA가 생성되어 ca-cert.pem 및 ca-key.pem에 저장됩니다.

  1. 브라우저나 curl이 http://localhost:8080의 프록시를 사용하도록 구성합니다.

  2. HTTPS 가로채기를 허용하려면 OS/브라우저에서 생성된 CA 인증서(ca-cert.pem)를 신뢰합니다. 로컬 CA 신뢰하기를 참조하세요.

  3. 프록시를 통해 HTTPS 사이트를 방문하고 로그를 확인합니다. 자세한 내용은 verbose 모드를 사용하세요: ```bash ./mitm-proxy --verbose

## 사용법

### 명령줄 플래그

- --config string: config.json 파일 경로
- --listen string: 수신 주소 (config 재정의)
- --ca-cert string: 기존 CA 인증서 경로 (config 재정의)
- --ca-key string: 기존 CA 키 경로 (config 재정의)
- --mitm bool: MITM 인터셉트 활성화 (기본값 true; false로 설정 시 터널링 강제)
- --verbose bool: 상세 로깅 활성화
- --watch-config bool: config.json의 변경 사항을 감시하고 자동 적용 (기본값 true)
- --admin-enabled bool: 로컬 관리 API/대시보드 활성화 (기본값 true)
- --admin-addr string: 관리 API/대시보드 수신 주소 (기본값 127.0.0.1:9090)
- --admin-token string: 관리자 bearer 토큰 (생략 시 시작 시 생성)
- --admin-read-token string: GET/HEAD/OPTIONS 관리 액세스용 읽기 전용 bearer 토큰
- --admin-ui bool: 내장 관리 UI 제공 (기본값 true)
- --admin-store string: 관리 SQLite 저장소 경로 (기본값 dashboard.db)

명시된 항목의 경우 CLI 플래그가 구성 파일 값을 재정의합니다.


### 구성 (config.json)

예제 config.json이 저장소에 포함되어 있습니다: ```json
{
 "listen_addr": ":8080",
 "proxy_name": "MITM-Proxy",
 "ca_cert_path": null,
 "ca_key_path": null,
 "ca_cert_output_path": "ca-cert.pem",
 "ca_key_output_path": "ca-key.pem",
 "enable_mitm": true,
 "admin_enabled": true,
 "admin_addr": "127.0.0.1:9090",
 "admin_token": "",
 "admin_read_token": "",
 "admin_ui": true,
 "admin_store": "dashboard.db",
 "excluded_domains": [],
 "blocked_ports": [25, 445, 3389],
 "blocked_domains": [],
 "blocked_ips": [],
 "block_action": "deny",
 "block_response_status": 403,
 "traffic_capture": {
   "store_bodies": false,
   "max_body_bytes": 32768,
   "redact_bodies": true,
   "store_headers": true,
   "redacted_headers": ["Authorization", "Cookie", "Proxy-Authorization", "Set-Cookie", "X-Api-Key"],
   "store_cookies": true,
   "redacted_cookies": []
 },
 "proxy_auth": {
   "enabled": false,
   "realm": "MITM Proxy",
   "require_auth_for_loopback": false,
   "default_action": "allow"
 },
 "verbose_logging": true,
 "log_requests": true,
 "max_idle_conns": 200,
 "idle_conn_timeout_seconds": 90,
 "tls_handshake_timeout_seconds": 10,
 "min_tls_version": "1.2",
 "tls_next_protos": ["h2", "http/1.1"],
 "cache": {
   "enabled": true,
   "directory": "/var/cache/mitm-proxy",
   "include_domains": [],
   "exclude_domains": [],
   "include_extensions": ["jpg", "png", "webp", "css", "js"],
   "exclude_extensions": [],
   "ttl": 3600
 }
}

참고:

  • ca_cert_path/ca_key_path가 제공되지 않으면 프록시는 생성된 CA를 ca-cert.pem / ca-key.pem에 기록합니다.
  • excluded_domains는 와일드카드를 지원합니다 (internal/config의 IsDomainExcluded 참조).
  • admin_addr은 기본적으로 localhost입니다. admin_token이 비어 있으면 실행별 토큰이 생성되어 시작 시 출력됩니다.
  • admin_read_token은 읽기 전용 대시보드/API 클라이언트용으로 설정할 수 있습니다.
  • traffic_capture.store_bodies는 기본적으로 비활성화됩니다. 활성화하면 본문 샘플은 크기가 제한되고 기본적으로 편집(redact)됩니다.
  • traffic_capture.store_headers 및 traffic_capture.store_cookies는 캡처된 메타데이터를 저장할지 여부를 제어합니다. redacted_headers는 헤더 값 전체를 편집하고, redacted_cookies는 저장 전에 일치하는 개별 Cookie 및 Set-Cookie 이름을 편집합니다.
  • proxy_auth는 SQLite로 관리되는 사용자와 순서가 지정된 ACL 규칙을 기반으로 하는 Basic 클라이언트 프록시 인증을 활성화합니다.
  • blocked_domains는 정확한 이름과 *.example.com과 같은 와일드카드 패턴을 지원합니다. blocked_ips는 단일 IP와 CIDR 범위를 지원합니다.
  • cache.include_domains와 cache.exclude_domains는 상호 배타적이며, include_extensions와 exclude_extensions도 마찬가지입니다.
  • watcher는 --config로 지정된 파일 또는 기본 ./config.json만 모니터링하며, Proxy.SetConfig를 통해 변경 사항을 핫으로 적용합니다.

관리자 대시보드

관리자 서버는 기본적으로 http://127.0.0.1:9090/admin/에서 대시보드를 제공합니다. API 경로에는 Authorization: Bearer <token>이 필요합니다. 로컬 브라우저 사용의 경우 /admin/?token=<token>이 토큰을 브라우저 로컬 저장소에 저장합니다.

초기 대시보드/API 포함 범위는 다음과 같습니다.

  • GET /api/health 및 GET /api/version
  • GET /api/audit
  • GET /api/traffic, GET /api/traffic/stats, GET /api/traffic/{id}, GET /api/traffic/stream, DELETE /api/traffic 및 POST /api/traffic/{id}/replay
  • HAR 스타일 내보내기를 위한 GET /api/traffic/export?format=har
  • 저장된 편집 가능한 replay 케이스를 위한 GET/POST/PUT/DELETE /api/repeater/cases 및 POST /api/repeater/cases/{id}/send
  • 트래픽 및 repeater 케이스에 대한 범위 할당 엔드포인트와 GET/POST/PUT/DELETE /api/scopes
  • 수동 대상 맵에 대한 엔드포인트 클론 작업과 GET/POST/DELETE /api/pentest/maps
  • 프록시 클라이언트 액세스 제어를 위한 GET/POST/PUT/DELETE /api/proxy-auth/users 및 /api/proxy-acl/rules와 POST /api/proxy-acl/test
  • AI 연구 코파일럿 메모를 위한 POST /api/ai/traffic/{id}/explain, POST /api/ai/traffic/{id}/suggest-tests, POST /api/ai/repeater/cases/{id}/suggest-tests, POST /api/ai/repeater/cases/{id}/compare-runs 및 GET/POST/DELETE /api/ai/notes
  • GET /api/certificates/ca, GET /api/certificates/ca/download, POST /api/certificates/ca/rotate, POST /api/certificates/ca/import 및 GET /api/certificates/leaf
  • 포트, 도메인 및 IP에 대한 GET/POST/DELETE 차단 규칙
  • GET /api/deployments/current, POST /api/deployments/current/reload, GET /api/logs, 캐시 항목과 히트/미스 횟수를 제공하는 GET /api/cache, POST /api/cache/purge 및 GET/PUT /api/settings
  • GET /api/threats/events, GET /api/threats/stream, GET /api/threats/config, POST /api/threats/test 및 위협 오버라이드 엔드포인트
  • Prometheus 호환 프로세스/관리자/위협 카운터를 위한 GET /metrics
도구 다운로드