
Modlishka. Reverse-Proxy.
Modlishka ist ein Open-Source-Penetrationstest-Tool, das als Man-in-the-Middle-Proxy fungiert. Es führte einen neuen technischen Ansatz zur Handhabung von browserbasiertem HTTP-Datenverkehr ein, der es ermöglicht, Multi-Domain-Zielverkehr – sowohl TLS als auch Nicht-TLS – transparent über eine einzelne Domain zu proxieren, ohne dass eine zusätzliche Zertifikatsinstallation auf dem Client erforderlich ist.
Im Jahr 2019 war Modlishka das erste öffentlich veröffentlichte Forschungswerkzeug, das eine neuartige Adversary-in-the-Middle (AitM)-Technik demonstrierte, die in der Lage ist, viele gängige 2FA-Implementierungen zu umgehen – mit dem Ziel, das Bewusstsein zu schärfen und reale Abwehrmaßnahmen zu verbessern.
Hinweis: Dieses Projekt ist ausschließlich für autorisierte Forschung und professionelle Sicherheitstests bestimmt.
Sicherheitstests:
Allgemein:
Allgemein:
Sicherheit:
Modlishka in Aktion gegen ein beispielhaftes 2FA-Schema (SMS-basierte Umgehung):
Aktueller Quellcode: zip | tar
Mit go install:
go install github.com/drk1wi/Modlishka@latest
Manueller Build:
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 ist unter dieser Lizenz lizenziert.
Für kommerzielle Anwendungen wenden Sie sich bitte zur Lizenzvereinbarung an den Autor.
Autor: Modlishka wurde von Piotr Duszyński (@drk1wi) entworfen und implementiert. Alle Rechte vorbehalten.
Siehe die Liste der Mitwirkenden, die an diesem Projekt teilgenommen haben.
Dieses Tool dient ausschließlich zu Bildungszwecken und darf nur in legitimen Penetrationstests oder Forschungsarbeiten verwendet werden. Der Autor übernimmt keine Verantwortung für Handlungen, die von seinen Benutzern durchgeführt werden.