> ## Content Index
> Fetch the complete content index at: https://sakis.tech/llms.txt
> Use this file to discover other available public pages before exploring further.

# Brevo gehackt: ClickFix-Malware auf 100.000 Websites
- URL: https://sakis.tech/brevo-clickfix-malware-websites/
- Published: 2026-09-18T14:15:48.000Z
- Updated: 2026-09-18T14:15:48.000Z
- Description: Ein Cloudflare-Schlüssel im Quellcode reichte: Vier Stunden lang zeigten über 100.000 Websites mit Brevo-Formular ein falsches Captcha. Was Besucher und WordPress-Admins jetzt prüfen sollten.
- Author: Sakis
- Tags: news, sicherheit

Rund vier Stunden. So lange hat am 14\. September ein einziger gestohlener Schlüssel ausgereicht, um auf mehr als 100.000 Websites ein gefälschtes „Verify you are human“ einzublenden. Nicht auf irgendwelchen Schmuddelseiten, sondern überall dort, wo ein Newsletter-Formular oder ein Chat-Widget von Brevo eingebettet ist. Vielleicht auch auf dem Blog, den du am Montagabend gelesen hast.

**Kurz gesagt:** Angreifer haben mit einem geleakten Cloudflare-API-Key die Skripte des Newsletter-Dienstes Brevo unterwegs umgeschrieben. Besucher sahen ein falsches Captcha, das einen Befehl auf dem PC ausführen wollte; eingeloggte WordPress-Admins bekamen ein Backdoor-Plugin untergeschoben. Wer am 14\. September zwischen 18 und 22:30 Uhr deutscher Zeit so ein Captcha gesehen und mitgemacht hat, behandelt den Rechner als infiziert. Wer WordPress mit Brevo-Widget betreibt, prüft die Plugin-Liste.

![Schaubild in drei Schritten: Cloudflare-API-Key im Quellcode, Cloudflare Worker schreibt Skripte um, Fake-Captcha erscheint beim Besucher auf über 100.000 Websites](https://sakis.tech/content/images/2026/09/grafik-28.png)

Vom Schlüssel im Quellcode bis zum falschen Captcha: der Weg des Angriffs in drei Schritten.

## Wie ein Newsletter-Dienst zur Malware-Schleuder wurde

Brevo hieß früher Sendinblue und ist ein Dienst aus Frankreich, über den Firmen, Vereine und Blogs ihre Newsletter verschicken. Das Anmeldeformular dafür bindet man als kleines Skript in die eigene Website ein. Genau dieses Skript, dazu das Chat-Widget und der sogenannte SDK-Loader, kam am 14\. September verändert bei den Besuchern an.

Der Weg dorthin steht in Brevos [Post-mortem](https://status.brevo.com/incidents/01M2QBC4EZ24ZACW6SWQYVW8N3/write-up?ref=sakis.tech), und er ist so simpel, dass es wehtut. Im Quellcode einer Brevo-Anwendung lag ein Cloudflare-API-Key mit vollen Rechten auf das gesamte Konto. Cloudflare sitzt als Zwischenstation zwischen Brevos Servern und dem Internet, so wie ein Briefverteilzentrum zwischen Absender und Empfänger. Wer dort einen Generalschlüssel hat, muss die Server gar nicht anfassen. Die Angreifer hinterlegten einen sogenannten Worker, ein kleines Programm, das jede Antwort auf dem Weg zum Besucher umschreibt. Es hängte einen Lader für die Schadskripte an und entfernte nebenbei die Sicherheits-Header, also die Schutzanweisungen, die der Browser sonst mit jeder Seite bekommt. Auf Brevos Servern blieben die Dateien unverändert, die Alarmanlage blieb still.

Laut Brevo war der Schlüssel schon Ende August in fremden Händen, missbraucht wurde er aber erst jetzt. Die Skripte auf den Kundenseiten wurden ab 16:07 UTC verändert; um 20:30 UTC war der Worker entfernt. Die Sicherheitsfirma [Sansec](https://sansec.io/research/brevo-supply-chain-attack?ref=sakis.tech) hat den Zeitraum unabhängig gemessen und kommt auf ein fast identisches Fenster. Sie zählt außerdem die über 100.000 betroffenen Websites. Brevo selbst beziffert die Zahl nicht.

## „Verify you are human“: was Besucher gesehen haben

Wer in diesem Zeitfenster eine Seite mit Brevo-Formular öffnete, sah bei ausgewählten Besuchern eine Einblendung im Look der bekannten Cloudflare-Prüfung. Statt eines Häkchens verlangte sie aber, einen Befehl auf dem eigenen Rechner auszuführen. Das Skript legte den Befehl in die Zwischenablage, der Besucher sollte ihn nur noch einfügen und bestätigen. Diese Masche heißt ClickFix: Die Malware kommt nicht durch eine Lücke, sondern durch deine eigene Hand. Laut BleepingComputer zielte der Befehl auf Windows.

Brevos Rat dazu ist eindeutig, und ich würde ihn wörtlich nehmen: Wer den Befehl ausgeführt hat, trennt den Rechner vom Netz, lässt einen vollständigen Virenscan laufen und ändert alle Passwörter, die auf diesem Gerät benutzt wurden. Wer die Einblendung nur gesehen und weggeklickt hat, ist nicht betroffen. Das Skript konnte nichts ausführen, es konnte nur bitten.

Und daraus folgt die Regel, die diesen Angriff und alle künftigen ClickFix-Wellen entschärft: Keine Website der Welt braucht einen Befehl in deinem Ausführen-Dialog, in PowerShell oder im Terminal, um dich als Mensch zu erkennen. Ein echtes Captcha will ein Häkchen oder Ampeln. Sobald eine Seite „Windows-Taste + R“ sagt, ist die Antwort Nein, egal wie vertrauenswürdig die Seite sonst ist. Das ist derselbe Mechanismus, den wir schon bei den [verseuchten Chrome-Erweiterungen](https://sakis.tech/chrome-edge-erweiterungen-malware/) hatten: Der Kanal ist vertraut, der Inhalt ist es nicht.

## WordPress mit Brevo-Widget: nach „Web Media Optimizer“ suchen

Für Website-Betreiber ist die zweite Hälfte des Angriffs die unangenehmere. Erkannte das Skript einen Besucher, der in seinem WordPress als Administrator eingeloggt war, nutzte es diese Sitzung und installierte ein Plugin. Es heißt laut BleepingComputer „Web Media Optimizer“, bringt einen fest eingebauten Zugang mit, der ohne Passwort Admin-Rechte gibt, meldet sich regelmäßig bei den Angreifern und blendet selbst ClickFix-Köder ein. Die Malware-Domains sind seit dem 15\. September abgeschaltet, aber ein einmal installiertes Plugin bleibt, bis du es entfernst. Brevo sagt das in seinem Post-mortem auch so.

Wenn bei dir WordPress mit Brevo-Formular oder Chat läuft, also drei Handgriffe:

- **Plugin-Liste prüfen.** Alles, was am 14\. September dazugekommen ist, fliegt raus, auch mit unauffälligem Namen.
- **Auf der Festplatte nachsehen,** nicht nur im Dashboard. Sansec warnt, dass sich das Plugin in der Admin-Ansicht verstecken kann. Ein Blick in `wp-content/plugins/` per SFTP oder Terminal zeigt, was wirklich da ist.
- **Zugriffsprotokoll durchsuchen.** Sansec nennt als Spur einen Aufruf von `POST /wp-admin/update.php?action=upload-plugin` am 14\. September. Findest du ihn, wechselst du alle Admin-Passwörter.

```bash
ls -la wp-content/plugins/
grep "upload-plugin" /var/log/nginx/access.log* | grep "14/Sep/2026"
```

Der Pfad zum Logfile ist bei jedem Hoster anders; bei Apache heißt es meist `access.log` unter `/var/log/apache2/`. Wer keinen Shell-Zugang hat, fragt den Hoster nach den Zugriffsprotokollen des 14\. September.

## Ein Schlüssel im Quellcode, und was ich daraus mitnehme

Der eigentliche Fehler ist keine raffinierte Lücke, sondern ein Handgriff, den jeder von uns im Homelab kennt: Ein Zugangstoken landet aus Bequemlichkeit im Code statt in einer Umgebungsvariable oder einem Tresor. Brevo zieht daraus die richtigen Konsequenzen und beschreibt sie offen: Schlüssel in einem Tresor, kurzlebige Tokens mit automatischer Rotation, Alarm bei jeder Änderung am Cloudflare-Konto. Dass eine Firma dieser Größe das erst nach dem Schaden einführt, ist die Stelle, an der ich kurz durchatmen musste. Das Post-mortem selbst finde ich dagegen vorbildlich: minutengenau, ohne Ausflüchte, mit dem Satz, dass der Schlüssel im Quellcode lag. So viel Offenheit liest man selten.

Was für mich bleibt: Jedes eingebettete Fremdskript ist ein Vertrauensvorschuss an den Anbieter und an alle, die zwischen ihm und dir sitzen. Brevo war am 10\. September schon einmal Ziel, damals über einen Fehler in der Firmen-Anmeldung per SSO, mit 138 gekaperten Konten und Phishing-Wellen an deren Kunden. Zwei Vorfälle in einer Woche machen den Dienst nicht unbrauchbar, aber sie sind ein guter Anlass, die eigene Website einmal auf Fremdskripte abzuklopfen und jedes zu streichen, das keinen klaren Job hat. Ein Newsletter-Formular kann so ein Job sein. Drei Tracking-Schnipsel vom Vorbesitzer der Seite eher nicht.

Hast du am 14\. September irgendwo ein Cloudflare-Captcha gesehen, das nach einem Befehl fragte, oder hast du Brevo auf deiner Website im Einsatz? Schreib's in die Kommentare, gern auch mit dem Hoster, damit andere wissen, wo sie nachsehen müssen.

Wenn dich das Thema „vertrauter Kanal, fremder Inhalt“ weiter beschäftigt: Der Beitrag zu den Chrome-Erweiterungen mit Malware ist die Fortsetzung mit anderem Vorzeichen, und im Newsletter sammle ich solche Fälle, bevor sie in der Timeline untergehen.

sakis@homelab:\~$ echo "bleib neugierig — und mach backups" 

## Quellen

- [Brevo: Post-mortem zum Vorfall vom 14\. September 2026 (Status-Seite)](https://status.brevo.com/incidents/01M2QBC4EZ24ZACW6SWQYVW8N3/write-up?ref=sakis.tech)
- [Sansec: Brevo supply chain attack hits 100k+ sites with WordPress backdoors and ClickFix malware](https://sansec.io/research/brevo-supply-chain-attack?ref=sakis.tech)
- [BleepingComputer: Brevo supply-chain attack injected ClickFix scripts on customer sites](https://www.bleepingcomputer.com/news/security/brevo-supply-chain-attack-injected-clickfix-scripts-on-customer-sites/?ref=sakis.tech)
- [SecurityWeek: Brevo Supply Chain Attack Injects Malware Into 100,000 Websites](https://www.securityweek.com/brevo-supply-chain-attack-injects-malware-into-100000-websites/?ref=sakis.tech)