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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Prox-Ez — Windows 인증 메커니즘을 테스트하기 위한 HTTP/HTTPS 인터셉션 프록시로, NTLM, Kerberos, pass-the-hash, pass-the-ticket 및 릴레이 공격을 지원하며, MITM을 위한 내장 인증서 생성을 제공합니다. | Kitploit
도구/GitHubGitHub/synacktiv/prox-ez
Web Proxies & InterceptionImpersonation ToolsLateral MovementPost-ExploitationPenetration TestingAuthenticationRed Teaming
GitHubsynacktiv/prox-ez

Prox-Ez

Windows 인증 메커니즘을 테스트하기 위한 HTTP/HTTPS 인터셉션 프록시로, NTLM, Kerberos, pass-the-hash, pass-the-ticket 및 릴레이 공격을 지원하며, MITM을 위한 내장 인증서 생성을 제공합니다.

저장소 보기
110112개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Prox-Ez: HTTP 인증의 스위스 아미 나이프

이 HTTP 프록시는 모든 HTTP 인증을 대신 처리합니다.

NTLM EPA(채널 바인딩 및 서비스 바인딩), kerberos, pass-the-hash, overpass-the-hash(pass-the-key), pass-the-ticket(TGT 및 TGS)을 지원합니다.

관련 문서:

  • NTLM EPA를 사랑으로 해부하고 MitM 프록시 구축하기
  • Windows HTTP 인증에 대한 연구 (Part II)

설치

  1. 의존성을 설치합니다.
root@kitploit:~
$ # In a venv
$ python3 -m venv venv
$ source venv/bin/activate
$ python3 -m pip install -r requirements.txt

또는 pip/pipx를 사용하여 프로젝트를 직접 설치할 수 있습니다.

root@kitploit:~
$ # With pip
$ pip3 install git+https://github.com/synacktiv/Prox-Ez
root@kitploit:~
$ # With pipx
$ pipx install git+https://github.com/synacktiv/Prox-Ez
  1. 즐기세요.

사용법

빠른 시작

이렇게 실행하면 인증이 필요한 모든 웹사이트에서 mydomain/myusername:mypassword 자격 증명으로 인증을 시도합니다:

root@kitploit:~
python3 proxy.py -dc mydomain/myusername:mypassword

동일하지만 암호 대신 NT 해시를 사용하는 경우:

root@kitploit:~
python3 proxy.py -dc mydomain/myusername --hashes :31d6cfe0d16ae931b73c59d7e0c089c0

BurpSuite와 함께 사용하기

burpsuite와 함께 작동하려면:

  • HTTP/2 지원 비활성화: Project options -> HTTP -> HTTP/2 -> Enable HTTP/2 체크 해제
  • NTLM은 TCP 연결을 인증하므로 Set response header "Connection: close" 체크 해제: Proxy -> Options -> Miscellaneous -> Set response header "Connection: close" 체크 해제.
  • HTTP/1 사용 시 들어오는 요청에 "Connection" 헤더 설정 체크 해제: Proxy -> Options -> Miscellaneous -> Set "Connection" header on incoming requests when using HTTP/1 체크 해제

그런 다음 burp에서 업스트림 프록시를 지정하여 인증할 수 없는 호스트에 대해 이 프록시를 사용하도록 하면 됩니다:

  • Project options -> Connections -> Upstream Proxy Servers에서 Add 클릭 -> NTLM 인증에 문제를 일으키는 원격 호스트 이름, 도구에 구성된 프록시 호스트와 포트를 지정하고 Authentication type은 None으로 둡니다.
  • 활성화된 경우 socks 프록시를 비활성화해야 할 수도 있습니다.

도움말

root@kitploit:~
$ python3 proxy.py -h
usage: proxy.py [-h] [--listen-address LISTEN_ADDRESS] [--listen-port LISTEN_PORT] [--cacert CACERT] [--cakey CAKEY] [--cakey-pass CAKEY_PASS] [--certsdir CERTSDIR] [--singleprocess] [--debug] [--dump-keys DUMP_KEYS] [--creds CREDS]
                [--default-creds DEFAULT_CREDS] [--hashes HASHES] [--kerberos] [--dcip DCIP] [--spn SPN] [--spn-force-fqdn] [--no-epa]

Prox-Ez: The Swiss Army Knife of HTTP auth.

optional arguments:
  -h, --help            show this help message and exit
  --listen-address LISTEN_ADDRESS, -l LISTEN_ADDRESS
                        Address the proxy will be listening on, defaults to 127.0.0.1.
  --listen-port LISTEN_PORT, -p LISTEN_PORT
                        Port the proxy will be listening on, defaults to 3128.
  --cacert CACERT       Filepath to the CA certificate, defaults to ./cacert.pem. Will be created if it does not exists.
  --cakey CAKEY         Filepath to the CA private key, defaults to ./cakey.pem. Will be created if it does not exists.
  --cakey-pass CAKEY_PASS
                        CA private key passphrase.
  --certsdir CERTSDIR   Path to the directory the generated certificates will be stored in, defaults to /tmp/Prox-Ez. Will be created if it does not exists.
  --singleprocess, -sp  Do you want to be slowwwww ?! Actually useful during debug.
  --debug, -d           Increase debug output.
  --dump-keys DUMP_KEYS, -dk DUMP_KEYS
                        File to dump the SSL/TLS keys to. Useful when trying to debug. When this option is specified, --singleprocess is implied.
  --creds CREDS         Path to the credentials file, for instance: { "my.hostname.com": { "creds": "domain/user:password", "spn": "HTTP/anothername" }, "my.second.hostname.com": { "creds": "domain1/user1", "hashes": ":nthash1" } }
  --default-creds DEFAULT_CREDS, -dc DEFAULT_CREDS
                        Default credentials that will be used to authenticate.
  --hashes HASHES       Could be used instead of password. It is associated with the domain and username given via --default_creds. format: lmhash:nthash or :nthash.
  --kerberos, -k        Enable kerberos authentication instead of NTLM.
  --dcip DCIP           IP Address of the domain controller (only for kerberos).
  --spn SPN             Use the provided SPN when an SPN is needed. More details in the article.
  --spn-force-fqdn      Force the usage of the FQDN as the SPN instead of what was specified in the URL.
  --no-epa              Deactivate the NTLM EPA feature.

알려진 문제

  • 웹소켓을 지원하지 않습니다. 다음과 같은 assertion 오류가 발생합니다:
root@kitploit:~
DEBUG:Proxy.ProxyToServerHelper:Our state: MIGHT_SWITCH_PROTOCOL; their state: SEND_RESPONSE
[...]
    assert self.conn.our_state in [h11.DONE, h11.MUST_CLOSE, h11.CLOSED] and self.conn.their_state is h11.SEND_RESPONSE
AssertionError
도구 다운로드