
Modlishka. 리버스 프록시.
Modlishka는 중간자 프록시 역할을 하는 오픈소스 침투 테스트 도구입니다. 브라우저 기반 HTTP 트래픽 흐름을 처리하는 새로운 기술적 접근 방식을 도입하여, 클라이언트에 추가 인증서를 설치할 필요 없이 단일 도메인을 통해 다중 도메인 대상 트래픽(TLS 및 비 TLS)을 투명하게 프록시할 수 있습니다.
2019년, Modlishka는 많은 일반적인 2FA 구현을 우회할 수 있는 새로운 Adversary-in-the-Middle(AitM) 기술을 시연한 최초의 공개 연구 도구였으며, 인식을 높이고 실제 방어를 개선하는 것을 목표로 했습니다.
참고: 이 프로젝트는 승인된 연구 및 전문 보안 테스트만을 위해 엄격히 사용됩니다.
보안 테스트:
일반:
일반:
보안:
2FA 체계(SMS 기반 우회) 예제에 대한 Modlishka 동작:
go install 사용:
go install github.com/drk1wi/Modlishka@latest
수동 빌드:
git clone https://github.com/drk1wi/Modlishka.git
cd Modlishka
make
./dist/proxy -h
Usage of ./dist/proxy:
-cert string
base64 encoded TLS certificate
-certKey string
base64 encoded TLS certificate key
-certPool string
base64 encoded Certification Authority certificate
-config string
JSON configuration file. Convenient instead of using command line switches.
-controlCreds string
Username and password to protect the credentials page. user:pass format
-controlURL string
URL to view captured credentials and settings. (default "SayHello2Modlishka")
-credParams string
Credential regexp with matching groups. e.g.: base64(username_regex),base64(password_regex)
-debug
Print debug information
-disableSecurity
Disable proxy security features like anti-SSRF. Disable at your own risk.
-disableDynamicSubdomains
Translate URL domain names to be the proxy domain
-dynamicMode
Enable dynamic mode for 'Client Domain Hooking'
-forceHTTP
Strip all TLS from the traffic and proxy through HTTP only
-forceHTTPS
Strip all clear-text from the traffic and proxy through HTTPS only
-allowSecureCookies
Allow secure cookies to be set. Useful when using HTTPS and cookies have SameSite=None
-ignoreTranslateDomains string
Comma separated list of domains to never translate and proxy
-jsRules string
Comma separated list of URL patterns and JS base64 encoded payloads that will be injected
e.g.: target.tld:base64(alert(1))
-listeningAddress string
Listening address (default "127.0.0.1")
-listeningPortHTTP int
Listening port for HTTP requests (default 80)
-listeningPortHTTPS int
Listening port for HTTPS requests (default 443)
-log string
Local file to which fetched requests will be written (appended)
-pathHostRules string
Comma separated list of URL path patterns and target domains
e.g.: /path/:example.com,/path2:www.example.com
-plugins string
Comma separated list of enabled plugin names (default "all")
-postOnly
Log only HTTP POST requests
-proxyAddress string
Proxy that should be used (socks/https/http) e.g.: http://127.0.0.1:8080
-proxyDomain string
Proxy domain name that will be used e.g.: proxy.tld
-rules string
Comma separated list of string patterns and their replacements
e.g.: base64(old):base64(new),base64(older):base64(newer)
-staticLocations string
Comma separated list of FQDNs in location headers that should be preserved
-target string
Target domain name e.g.: target.tld
-targetRes string
Comma separated list of domains that were not translated automatically
e.g.: static.target.tld
-terminateTriggers string
Comma separated list of URLs from target's origin which will trigger session termination
-terminateUrl string
URL to which a client will be redirected after session termination
-trackingCookie string
Name of the HTTP cookie used to track the client (default "id")
-trackingParam string
Name of the HTTP parameter used to track the client (default "id")
Modlishka는 이 라이선스에 따라 라이선스가 부여됩니다.
상업적 용도의 경우 라이선스 협상을 위해 저자에게 문의하시기 바랍니다.
저자: Modlishka는 Piotr Duszyński (@drk1wi)에 의해 설계 및 구현되었습니다. 모든 권리 보유.
이 프로젝트에 참여한 기여자 목록을 확인하세요.
이 도구는 교육 목적으로만 제작되었으며 합법적인 침투 테스트 또는 연구에만 사용될 수 있습니다. 저자는 사용자의 행동에 대해 어떠한 책임도 지지 않습니다.