TerminalFix und der Berlin-Hack
Eine Angriffskette, acht Schritte – und die M365-Schalter, die sie stoppen.MICROSOFT 365 SECURITY · DOSSIER
TerminalFix und der Berlin-Hack: Was ein gepasteter Befehl über deinen Microsoft-365-Tenant verrät
Im August 2026 verschwanden 5,8 Terabyte aus zwei Berliner Senatsverwaltungen, und niemand hat dafür eine Sicherheitslücke gebraucht. Das BSI ordnet den Angriff der TerminalFix-Kampagne zu: Eine gefälschte Cloudflare-Prüfung bringt einen Nutzer dazu, einen Befehl in Windows Terminal einzufügen. Der Rest läuft automatisch. Dieses Dossier nimmt die Angriffskette auseinander, ordnet jedem Glied den Schalter im Microsoft-365-Tenant zu, der es gestoppt hätte, und zeigt, was du heute noch prüfen kannst.
|
VORAB, DAMIT WIR UNS RICHTIG VERSTEHEN TerminalFix ist kein Microsoft-365-Problem. Der Angriff braucht keinen Tenant, kein Exchange Online, kein SharePoint. Er braucht einen Menschen, einen Browser und ein Windows mit PowerShell. Das gilt für den Laptop im Home-Office genauso wie für den Verwaltungs-PC im Landesnetz. Aber mit Microsoft 365 kannst du dich dagegen wappnen wie mit kaum etwas anderem. Der Tenant steuert genau die Geräte, auf denen der Angriff landet. Intune setzt die Härtung, Defender sieht das Verhalten, Entra ID entwertet gestohlene Zugangsdaten, Purview nimmt der Erpressung die Ware. Die Schalter sind meist schon bezahlt. Sie sind nur nicht umgelegt. |
|---|
Was in Berlin passiert ist
Am 17. August 2026 meldete die Berliner Senatskanzlei, dass zwei Senatsverwaltungen vorsorglich vom Landesnetz getrennt wurden: Stadtentwicklung, Bauen und Wohnen sowie Mobilität, Verkehr, Klimaschutz und Umwelt. Wochenlang ging dort nichts außer Festnetztelefon: kein Wohngeld, keine Wohnberechtigungsscheine, keine Baugenehmigungen. Am 28. August bestätigte der Regierende Bürgermeister die Erpressung, am 4. September lief das Ultimatum ab und die Ransomware-Gruppe Rhysida stellte die Daten ins Netz.
|
BERLIN IN ZAHLEN
|
|---|

Skizze 1: Sieben Tage zwischen Zugriff und Entdeckung. Das ist die Zahl, die dein Tenant ändern muss.
Ein Punkt ist wichtig, bevor es technisch wird: Der konkrete Einstiegspunkt in Berlin ist offiziell nicht bestätigt. Der Senat schweigt aus ermittlungstaktischen Gründen. Das BSI beschreibt den Tathergang in seiner Warnung vom 4. September als deckungsgleich mit der TerminalFix-Kampagne und ordnet die beobachtete Malware derselben Gruppe zu. Für die Härtung deines Tenants spielt das keine Rolle: Die Kampagne läuft aktiv gegen deutsche Institutionen, die Indikatoren sind veröffentlicht, und die Gegenmaßnahmen wirken unabhängig davon, wer als Nächstes die CAPTCHA-Seite sieht.
So funktioniert TerminalFix
ClickFix ist der digitale Enkeltrick: Eine Webseite behauptet, es gebe ein Problem, und liefert die Lösung gleich mit. „Drück Win + R, füg ein, Enter.“ Der Nutzer führt den Schadcode selbst aus. Kein Exploit, keine Makros, kein Anhang, den ein Mailfilter sehen könnte. Das Verfahren ist seit 2024 Massenware, weil es die einzige Komponente angreift, die kein Patch-Tuesday erreicht.
TerminalFix ist die Enterprise-Ausführung davon. Microsoft Threat Intelligence hat die Kampagne am 28. August 2026 dokumentiert. Der Unterschied zur Massenvariante mit Infostealer: Hier wird nicht nur ein Browser-Passworttresor abgegriffen, sondern ein dauerhafter Netzwerkzugang eingerichtet. Der Arbeitsplatz-PC wird zur Hintertür ins Rechenzentrum.

Skizze 2: Die acht Schritte der TerminalFix-Kette nach Microsoft Threat Intelligence.
- Köder: Eine legitime, aber kompromittierte Website blendet ein gefälschtes Cloudflare-Turnstile ein. Beim Klick auf „Verify you are human“ schreibt JavaScript einen PowerShell-Befehl in die Zwischenablage.
- Ausführung: Der Nutzer öffnet Windows Terminal (Win + X, dann I), fügt ein, drückt Enter. Der Befehl zeigt bunte „Cloudflare verification“-Meldungen und lädt im Hintergrund ein ZIP nach C:\ProgramData.
- DLL-Sideloading: Das ZIP enthält die signierte Windows-Datei LockScreenContentServer.exe und eine bösartige dui70.dll. Windows sucht DLLs zuerst im Programmverzeichnis, also lädt der vertrauenswürdige Prozess die falsche DLL. Alles, was auf Prozessreputation prüft, sieht Microsoft-Code.
- Steganographie: PowerShell lädt PNG-Bilder von Angreifer-Domains und rekonstruiert aus den Pixelwerten weitere ausführbare Dateien. Für einen Proxy sind das Bilder.
- Persistenz: Run-Key unter HKCU plus geplante Aufgabe alle 60 Minuten, Ordner versteckt.
- Aufklärung: nltest /domain_trusts, net group „domain admins“ /domain, Suche nach Benutzerbeschreibungen im Active Directory, Ping-Sweep auf Servernamen wie DC, SQL, BACKUP, MAIL.
- Befehlsschleife: PowerShell überwacht eine Textdatei und führt neue Zeilen per Invoke-Expression aus. Primitiv, wirksam.
- Reverse-Tunnel: Ein offizieller Embeddable-Python-Interpreter startet client.py ohne Fenster und baut einen WebSocket-Tunnel über TLS/443 zum Angreifer auf. Ab jetzt ist der PC ein SOCKS-Proxy ins interne Netz.

Skizze 3: Der Köder. Browser, Zwischenablage, Terminal. Der Nutzer sieht nur die grüne Erfolgsmeldung.
|
WARUM DAS TERMINAL SO TÜCKISCH IST Klassisches ClickFix nutzt den Ausführen-Dialog (Win + R). Dafür gibt es inzwischen Erkennungen, Awareness-Folien und Gruppenrichtlinien. TerminalFix nutzt Windows Terminal, das auf jedem Windows 11 vorinstalliert ist und als seriöses Admin-Werkzeug gilt. Erkennungsregeln, die explorer.exe als Elternprozess von PowerShell erwarten, greifen ins Leere: Jetzt heißt der Elternprozess WindowsTerminal.exe, und mehrzeilige Skripte laufen sauber durch. Windows Terminal warnt zwar standardmäßig beim Einfügen mehrzeiliger Texte, aber der TerminalFix-Befehl passt in eine Zeile. |
|---|
Warum die Firewall nicht hilft
Die gefährlichste Komponente ist der Tunnel. Er ist ausgehend, läuft über Port 443 und sieht auf dem Draht wie eine normale TLS-Sitzung mit WebSocket-Upgrade aus. Der Angreifer schickt durch diesen Tunnel Verbindungsaufträge an beliebige interne Ziele, der Client baut sie auf und leitet die Bytes durch. Die Perimeter-Firewall sieht einen Mitarbeiter-PC, der eine HTTPS-Verbindung zu einer Domain mit gültigem Zertifikat hält. Nichts Verdächtiges, bis man weiß, wonach man sucht.

Skizze 4: Der Arbeitsplatz-PC als Pivot-Punkt. Die Firewall sieht ausgehendes HTTPS, der Angreifer sieht das ganze LAN.
|
AUS DER PRAXIS Rhysida ist Ransomware-as-a-Service, aktiv seit 2023, Opfer bislang vor allem Bildung, Gesundheitswesen und Behörden. Das Muster ist immer gleich: Zugang beschaffen, Daten kopieren, verschlüsseln, zweimal kassieren wollen. Für die Tenant-Härtung heißt das: Backup allein rettet dich nicht mehr. Die Daten sind bereits weg, bevor der erste Bildschirm schwarz wird. Deshalb gehören Purview, DLP und Egress-Kontrolle in dieses Dossier, obwohl sie mit PowerShell erst einmal nichts zu tun haben. |
|---|
Sechs Verteidigungsschichten im Tenant
TerminalFix passiert auf einem Windows-Client. Warum also ein Text über den Tenant? Weil der Tenant die Steuerzentrale für genau diesen Client ist. Intune konfiguriert ihn, Defender for Endpoint bewacht ihn, Entra ID entscheidet, was seine Identität darf, und Purview weiß, welche Daten er anfassen kann. Wer den Tenant richtig einstellt, stellt tausend Clients richtig ein. Jede der sechs Schichten unten ist einer Phase der Angriffskette zugeordnet, und jede muss den Angriff für sich allein stoppen können.

Skizze 5: Sechs Verteidigungsschichten. Wo der Angriff eine durchbricht, muss die nächste greifen.
|
Kettenglied |
Was im Tenant dagegen wirkt |
Portal |
|---|---|---|
|
1 Köder (Fake-CAPTCHA) |
SmartScreen, Network Protection, Web Content Filtering, Safe Links auch in Teams |
Defender XDR, Intune (Edge-Baseline) |
|
2 PowerShell-Ausführung |
ASR-Regel gegen obfuskierte Skripte, Constrained Language Mode über App Control, Execution Policy, Run-Dialog aus |
Intune |
|
3 DLL-Sideloading |
ASR-Regel „Prevalence, age, or trusted list“, EDR-Verhaltensanalyse, Custom Indicators auf Hashes |
Intune, Defender XDR |
|
4 Steganographie |
Network Protection auf Payload-Domains, EDR erkennt PowerShell, das EXE aus PNG schreibt |
Defender XDR |
|
5 Persistenz |
MDE-Alarme zu Run-Key und Scheduled Task, Custom Detection, kein lokaler Admin (LAPS) |
Defender XDR, Intune |
|
6 AD-Aufklärung |
Defender for Identity auf allen DCs, Honeytoken-Konten, keine Passwörter im description-Attribut |
Defender XDR |
|
7 und 8 Fernsteuerung, Tunnel |
Custom Indicators auf C2-Domains, App Control gegen pythonw.exe aus ProgramData, MDE-Alarm „proxy or tunneling tool“, Device Isolation |
Defender XDR, Intune |
|
Folgephase: Rechte, Exfiltration |
Conditional Access (konformes Gerät, phishing-resistente MFA), PIM statt stehender Admins, Purview DLP und Labels, Insider Risk |
Entra ID, Purview |
Die zwölf Schalter
Aus der Kette ergibt sich ein Aktionsplan mit zwölf Maßnahmen. Die vollständigen Klickpfade, Erfolgskriterien und Rollback-Wege stehen im Consulting-Dokument, das du am Ende dieser Seite herunterladen kannst. Hier die Kurzfassung, sortiert nach Priorität. Regel für alles, was blockt: erst Audit auf einer Pilotgruppe, dann Block auf der Pilotgruppe, dann Block breit.
|
Nr. |
Maßnahme |
Portal |
Lizenz |
Prio |
|---|---|---|---|---|
|
A1 |
ASR-Regeln auf Block: obfuskierte Skripte, unbekannte Executables, LSASS-Schutz, Ransomware-Schutz |
Intune |
E3 / BP |
1 |
|
A2 |
Defender for Endpoint: Cloud Protection auf Hoch, Network Protection, Web Content Filtering, SmartScreen, Tamper Protection |
Intune, Defender |
E3 / BP |
1 |
|
A3 |
PowerShell einhegen: Script Block Logging, Constrained Language Mode, AllSigned, PowerShell 2.0 entfernen |
Intune |
E3 / BP |
1 |
|
A4 |
Run-Dialog für Standardnutzer aus, Terminal-Paste-Warnung erzwingen |
Intune |
E3 / BP |
2 |
|
A5 |
Lokale Adminrechte entziehen, LAPS für das Notfallkonto |
Intune |
E3 / BP |
1 |
|
A6 |
Conditional Access: konformes Gerät, phishing-resistente MFA für Admins, Legacy Auth blockieren, Break-Glass zuerst |
Entra ID |
Entra P1 |
1 |
|
A7 |
Admin-Tiering: PIM statt stehender Global Admins, getrennte Admin-Konten, keine Domain Admins im Sync |
Entra ID, AD |
Entra P2 |
2 |
|
A8 |
Defender for Identity auf allen Domänencontrollern, Honeytoken, Automated Response |
Defender |
E5 |
2 |
|
A9 |
Custom Indicators auf die veröffentlichten Domains und Hashes, Custom Detections auf das Verhaltensmuster |
Defender |
MDE P2 |
2 |
|
A10 |
Defender for Office 365: Preset Strict, Safe Links mit Teams, External Access auf Allowlist |
Defender, Teams |
MDO P1 |
2 |
|
A11 |
Purview: DLP-Regel für Zugangsdaten in Dateien, Sensitivity Labels mit Verschlüsselung, Insider Risk |
Purview |
E3 Basis / E5 |
3 |
|
A12 |
Awareness mit ClickFix-Simulation, Incident-Playbook „Client mit Tunnel“, Tabletop |
Defender |
MDO P2 |
3 |
|
MERKSATZ Die Prio-1-Maßnahmen kommen komplett mit Microsoft 365 E3 oder Business Premium aus. Ein Tenant, in dem ASR-Regeln seit Jahren im Audit-Modus stehen, hat kein Lizenzproblem, sondern ein Konfigurationsproblem. |
|---|
Drei Dinge, die du heute noch prüfen kannst
Keine Projektplanung, kein Lenkungsausschuss, nur drei Blicke in den Tenant. Jeder dauert weniger als zehn Minuten und sagt dir, wie weit du von Berlin entfernt bist.
- Defender-Portal, Reports, Attack surface reduction rules. Stehen die Regeln gegen obfuskierte Skripte und unbekannte Executables auf Block, auf Audit oder gar nicht? Audit seit Monaten ohne Auswertung ist Befund K1 in jedem meiner Assessments.
- Ein beliebiger Client, Eingabeaufforderung, `net localgroup administrators`. Steht dort ein normaler Nutzer? Dann läuft Win + X, A ohne fremde Hilfe, und der Tunnel darf sich systemweit einnisten.
- Entra-Portal, Roles and administrators, Global Administrator. Wie viele permanente Mitglieder? Mehr als zwei ist zu viel, und die AD-Aufklärung in Schritt 6 findet sie alle in Sekunden.
|
WARNUNG Wer bei allen drei Punkten „trifft zu“ ankreuzt, hat keinen Tenant, sondern eine Einladung. Das ist keine Schande, es ist der Normalzustand in vielen Verwaltungen und Mittelständlern. Aber es ist ab heute eine Entscheidung. |
|---|
Häufige Fragen
Wir haben doch Antivirus. Warum reicht das nicht?
Weil in der TerminalFix-Kette an mehreren Stellen gar keine Malware im klassischen Sinn läuft. Der erste Befehl ist PowerShell, ein Bordmittel. Die Startdatei ist eine signierte Microsoft-Binärdatei. Der Tunnel läuft in einem offiziellen Python-Interpreter. Signaturbasierter Virenschutz sieht Legitimität. Verhaltensbasierte Erkennung sieht, dass ein Lock-Screen-Prozess aus ProgramData plötzlich Domänencontroller anpingt.
Ist ein M365-Tenant überhaupt betroffen? Der Angriff läuft doch auf dem Client.
Der Client wird vom Tenant gesteuert. Intune verteilt die Härtung, Defender überwacht das Verhalten, Entra ID entscheidet, was gestohlene Tokens wert sind, Purview begrenzt, was abfließen kann. Ein Tenant ist kein Postfach-Hoster, sondern die Verwaltungskonsole für tausend Endgeräte.
Wenn wir das Terminal für Nutzer sperren, können unsere Admins nicht mehr arbeiten.
Die Sperre gilt für die Gruppe Standardnutzer, nicht für Admins. Und Admins arbeiten ohnehin nicht mit dem Konto, mit dem sie surfen. Wenn das bei dir anders ist, ist das der eigentliche Befund, nicht das Terminal.
Reicht es, die Domains aus dem Microsoft-Blog zu blocken?
Nein. Indikatoren sind Wegwerfware; die Angreifer registrieren neue Domains schneller, als du Indicators anlegst. Blocke sie trotzdem, es kostet nichts und stoppt die Nachzügler. Die Verhaltensregeln bleiben: Terminal startet PowerShell mit Download, signierte Binärdatei lädt DLL aus ProgramData, Python ohne Fenster baut eine Verbindung nach außen.
Unsere Nutzer machen so etwas nicht.
Doch. In Berlin hat es jemand gemacht, und dort sitzen keine Anfänger. Die Seite sieht aus wie jede Cloudflare-Prüfung, die man täglich wegklickt, und der Befehl zeigt eine grüne Erfolgsmeldung. Nutzer sind nicht dumm, sie sind beschäftigt. Deshalb darf die Sicherheit nicht vom Nutzer abhängen.
Wir haben einen Treffer bei der Suche nach den Indikatoren. Was jetzt?
Gerät im Defender-Portal isolieren, nicht ausschalten. Investigation Package sammeln. Annehmen, dass der Angreifer über dieses Gerät Netzwerkzugriff hatte, und alle Zugangsdaten rotieren, die von dort erreichbar waren; war der Nutzer Domain Admin, gilt das für die gesamte Domäne inklusive zweifachem krbtgt-Reset. Dann Advanced Hunting nach lateraler Bewegung von diesem Gerät, Meldepflichten prüfen, und bei Treffern externe Forensik hinzuziehen.
|
Wie weit ist dein Tenant von Berlin entfernt? In zwei bis drei Tagen prüfe ich deinen Tenant read-only entlang genau dieser Kette: ASR, PowerShell, lokale Admins, Conditional Access, Admin-Rollen, Erkennung. Das Ergebnis ist eine Befundliste nach Schwere mit Klickpfaden, kein Folienstapel. Danach entscheidest du, ob du die Umsetzung selbst machst oder ich sie begleite. |
|---|
|
DOWNLOAD Das vollständige Consulting-Dokument zu diesem Dossier (33 Seiten: Angriffskette, Prüfkatalog mit 20 Befunden, zwölf Maßnahmenkarten Click-by-Click mit Erfolgskriterium und Rollback, KQL-Hunting-Abfragen, Glossar) steht am Ende dieser Seite als PDF-Datei bereit. |
|---|
|
WEITER IM THEMA
|
|---|











