
Modlishka. リバースプロキシ.
Modlishkaは、マン・イン・ザ・ミドルプロキシとして動作するオープンソースのペネトレーションテストツールです。ブラウザベースのHTTPトラフィックフローを処理するための新しい技術的アプローチを導入し、クライアント側に追加の証明書をインストールすることなく、単一のドメイン上でマルチドメインの宛先トラフィック(TLSおよび非TLSの両方)を透過的にプロキシできるようにします。
2019年、Modlishkaは、多くの一般的な2FA実装を回避できる新しいAdversary-in-the-Middle(AitM)手法を実証した初の公開研究ツールとなりました。その目的は、認識を高め、実際の防御を改善することです。
注: このプロジェクトは、許可された研究および専門的なセキュリティテスト専用に意図されています。
セキュリティテスト:
一般:
一般:
セキュリティ:
Modlishkaが実際の2FAスキーム(SMSベースのバイパス)に対して動作している様子:
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) によって設計および実装されました。全著作権所有。
このプロジェクトに参加したコントリビューターのリストを参照してください。
このツールは教育目的のみで作成されており、正当なペネトレーションテストまたは研究でのみ使用できます。作者は、ユーザーが取るいかなる行動に対しても一切の責任を負いません。