Kurzfassung: Warum einen neuen Weg nach draußen suchen, wenn schon einer offen ist? Bei Exfiltration Over C2 Channel schieben Angreifer die gesammelten Daten über denselben Kanal nach außen, über den auch ihr Command-and-Control läuft - meist HTTP oder HTTPS. Das ist unauffällig, weil der Kanal ohnehin schon besteht. Für den Verteidiger zählen deshalb der Upload-Befehl auf dem Host und das plötzliche Anschwellen des ausgehenden Datenstroms. Drei sigma-cli-validierte Sigma-Regeln, dazu Härtung und der Test im Lab. Serie "Angriff erkennen".
Am Ende der Angriffskette stehen die Daten, und sie müssen das Netz verlassen. Während der Datenabfluss über rclone und Cloud-Dienste einen eigenen Weg aufbaut, nimmt Exfiltration Over C2 Channel den bequemsten: den bereits bestehenden C2-Kanal. Dieselbe Verbindung, über die der Angreifer seine Befehle erhält, trägt nun die Beute zurück - in kleinen Häppchen im Beacon-Takt oder in einem großen Upload. Das Gegenstück in die andere Richtung, das Nachladen von Werkzeugen, behandelt der Ingress Tool Transfer. Dieser Beitrag nimmt die Erkennung in den Blick und bleibt auf der Verteidigerseite.
Einordnung in ATT&CK: Exfiltration Over C2 Channel (T1041) in der Taktik Exfiltration. Gemeint ist das Abziehen von Daten über denselben Kanal, über den die Command-and-Control-Kommunikation läuft - im Unterschied zu einem alternativen Protokoll oder einem eigenen Cloud-Dienst.
Was der Angreifer tut
Der Abfluss über den C2-Kanal läuft - auf der Ebene des Prinzips, nicht als Anleitung - in wenigen Mustern ab:
- Den bestehenden Kanal nutzen. Die Daten gehen über dieselbe HTTP- oder HTTPS-Verbindung zurück, die der Beacon ohnehin für seine Befehle offenhält.
- In Häppchen senden. Statt eines großen Transfers werden die Daten in vielen kleinen Paketen im Beacon-Takt übertragen, um im normalen Rauschen unterzugehen.
- Per Bordmittel hochladen. Ist kein Beacon im Spiel, erledigt ein Upload per curl, PowerShell oder bitsadmin denselben Zweck über den Web-Kanal.
- Vorher verpacken. Oft werden die Daten zuvor archiviert und verschlüsselt, damit der Upload kompakt und der Inhalt unlesbar ist.
Für die Erkennung ist entscheidend: Der Kanal selbst ist unauffällig, weil er schon besteht. Sichtbar werden der Upload-Befehl auf dem Host und das Missverhältnis zwischen gesendeten und empfangenen Datenmengen - und genau daran setzen die Regeln und die Auswertung an.
Welche Logquellen die Technik zeigt
- Prozess-Telemetrie zuerst. Event 4688 und Sysmon Event 1 zeigen den Upload-Befehl im Klartext - curl mit Upload-Flag, PowerShell mit UploadFile oder bitsadmin mit Upload-Transfer. Die wichtigste Host-Quelle.
- Netzwerk-Telemetrie. Sysmon Event 3, Firewall- und Proxy-Logs zeigen das Missverhältnis zwischen hohem Upload und geringem Download sowie die Zieladresse - oft der aufschlussreichste Hinweis bei einem laufenden Beacon.
- Prozess-Herkunft. Ein Upload aus einem Office-Prozess, einem Skript-Host oder einem ungewöhnlichen Verzeichnis ist verdächtiger als derselbe Befehl aus einem bekannten Deploy-Skript.
- Werkzeug-Kontext. curl, bitsadmin und PowerShell sind Bordmittel; Grundlagen zu ihrem Missbrauch unter Living off the Land.
Das Muster im Log
Zwei Ebenen tragen. Auf dem Host ist es der Upload-Befehl: curl mit --upload-file oder -T, PowerShell mit UploadFile oder Invoke-WebRequest -InFile, bitsadmin mit einem Upload-Transfer. Einzeln sind diese Aufrufe je nach Umgebung verrauscht, im Kontext einer frischen Kompromittierung aber aussagekräftig. Im Netz ist es das Missverhältnis: Ein Prozess, der dauerhaft mehr sendet als empfängt, oder ein Beacon, dessen Antworten plötzlich viel größer werden, deutet auf einen Abfluss hin. Legitime Treffer stammen aus Deploy-, Backup- und Update-Vorgängen auf bekannten Zielen. Der Blick auf Befehl, Herkunft, Ziel und Datenrichtung zusammen trennt den Alltag vom Angriff.
Drei Sigma-Regeln
Die Regeln sind mit sigma-cli geprüft und nehmen die drei häufigen Upload-Wege über den Web-Kanal: curl oder wget, PowerShell und bitsadmin. Alle drei werten die Prozess-Telemetrie mit Kommandozeile aus. Die Netzwerk-Seite - das Volumen-Missverhältnis - lässt sich wegen der umgebungsspezifischen Schwellen am besten nativ im SIEM ergänzen (siehe oben).
1. Datei-Upload per curl oder wget (T1041). Ein Upload-Flag wie --upload-file oder ein POST in der Kommandozeile. Die Regel steht auf level: medium.
title: Datei-Upload per curl oder wget
id: 2e7a1c64-9b35-4d80-a1f6-3c8e5b2d9a07
status: experimental
description: |
Erkennt einen Datei-Upload ueber curl oder wget in der Kommandozeile - etwa mit --upload-file, -T,
--data-binary oder einem POST. Bei Exfiltration Over C2 Channel schieben Angreifer die gesammelten
Daten ueber denselben Web-Kanal nach aussen, den auch ihr C2 nutzt. Ein ausgehender Upload per curl
oder wget aus einem ungewoehnlichen Kontext ist ein Abfluss-Signal.
references:
- https://attack.mitre.org/techniques/T1041/
author: blue-team.net
tags:
- attack.exfiltration
- attack.t1041
logsource:
product: windows
category: process_creation
detection:
sel_tool:
Image|endswith:
- '\curl.exe'
- '\wget.exe'
sel_up:
CommandLine|contains:
- '--upload-file'
- ' -T '
- '--data-binary'
- '-X POST'
- '--request POST'
condition: sel_tool and sel_up
falsepositives:
- Legitime Skripte, die Daten per curl an eine interne API senden - bekannte Ziele und Konten als Baseline ausnehmen
level: medium
2. PowerShell-Web-Upload (T1041). UploadFile, UploadData oder Invoke-WebRequest mit -InFile. Ebenfalls level: medium.
title: PowerShell-Web-Upload (UploadFile oder InFile)
id: 5b9d3e02-7c41-48a6-bf2e-1a6c4d8b7e35
status: experimental
description: |
Erkennt einen ausgehenden Web-Upload per PowerShell - der Aufruf von UploadFile, UploadData oder
UploadString des WebClient oder Invoke-WebRequest mit -InFile. Bei Exfiltration Over C2 Channel nutzen
Angreifer den bestehenden HTTP-Kanal, um Daten abzuziehen. Der gezielte Upload per PowerShell ist im
normalen Betrieb selten und sollte nach Ziel und Konto bewertet werden.
references:
- https://attack.mitre.org/techniques/T1041/
author: blue-team.net
tags:
- attack.exfiltration
- attack.t1041
logsource:
product: windows
category: process_creation
detection:
sel_ps:
Image|endswith:
- '\powershell.exe'
- '\pwsh.exe'
sel_up:
CommandLine|contains:
- 'UploadFile'
- 'UploadData'
- 'UploadString'
- '-InFile'
condition: sel_ps and sel_up
falsepositives:
- Legitime Deploy- oder Backup-Skripte, die Dateien hochladen - bekannte Faelle dokumentieren und ausnehmen
level: medium
3. Datei-Upload per bitsadmin (T1041). Ein Upload-Transfer über das BITS-Bordmittel. Die Regel steht auf level: medium.
title: Datei-Upload per bitsadmin
id: 8c1f6a47-0d29-4b53-9e8a-2b7d3c5e1f94
status: experimental
description: |
Erkennt einen Upload-Transfer per bitsadmin - der Aufruf mit upload oder dem Transfertyp UPLOAD.
bitsadmin ist ein Bordmittel, das Daten im Hintergrund ueber HTTP uebertraegt; Angreifer nutzen es,
um gesammelte Daten ueber den Web-Kanal abzuziehen (Exfiltration Over C2 Channel). Ein Upload-Transfer
per bitsadmin ist im normalen Betrieb ungewoehnlich.
references:
- https://attack.mitre.org/techniques/T1041/
author: blue-team.net
tags:
- attack.exfiltration
- attack.t1041
logsource:
product: windows
category: process_creation
detection:
sel_bits:
Image|endswith: '\bitsadmin.exe'
sel_up:
CommandLine|contains:
- 'upload'
- '/upload'
condition: sel_bits and sel_up
falsepositives:
- Einzelne Software nutzt bitsadmin fuer legitime Uploads - bekannte Faelle nach Ziel und Konto als Baseline ausnehmen
level: medium
Härtung: der Angriff, der ins Leere läuft
- Ausgehenden Verkehr filtern. Ein Egress-Proxy mit Allowlisting lässt nur bekannte Ziele zu und macht unbekannte Upload-Ziele sichtbar - die wirksamste Maßnahme gegen stillen Abfluss.
- Bordmittel einschränken. curl, bitsadmin und uneingeschränktes PowerShell dort sperren oder per Anwendungssteuerung begrenzen, wo sie nicht gebraucht werden.
- Datenvolumen überwachen. Ausgehende Volumen pro Host und Prozess als Baseline führen und auf ein anhaltendes Sende-Übergewicht alarmieren.
- Daten schützen. Zugriff auf sensible Daten begrenzen und mit DLP flankieren, damit weniger abzufließen ist und der Versuch auffällt.
Der Test
Die Erkennung lässt sich im Lab gefahrlos prüfen, auf einem isolierten System mit aktivem Sysmon und einem harmlosen Testziel:
- Für Regel 1 mit curl --upload-file eine harmlose Testdatei an einen eigenen Testserver senden. Event 4688 muss curl samt Upload-Flag zeigen.
- Für Regel 2 mit einem WebClient-UploadFile oder Invoke-WebRequest -InFile eine Testdatei hochladen und den Treffer in der Prozess-Telemetrie prüfen.
- Für Regel 3 mit bitsadmin einen Upload-Transfer anlegen und das Erscheinen in Event 4688 kontrollieren.
- Breiter wird der Test mit den Fällen zu T1041 aus Atomic Red Team.
Fehlalarme und Tuning
- Deploy- und Backup-Skripte. Viele laden legitim Dateien per curl oder PowerShell hoch. Bekannte Ziele, Skripte und Konten als Baseline ausnehmen, bevor die Regeln scharf geschaltet werden.
- Update-Mechanismen. Einzelne Software nutzt bitsadmin oder Web-Uploads für Telemetrie. Diese bekannten Vorgänge dokumentieren und ausnehmen.
- Ziel ist entscheidend. Ein Upload an ein unbekanntes externes Ziel wiegt weit schwerer als derselbe Befehl an eine interne Adresse - nach Zieladresse priorisieren.
- Kette schlägt Einzelzeile. Ein Upload-Befehl zusammen mit vorheriger Datenarchivierung und einem Sende-Übergewicht im Netz ist weit aussagekräftiger als ein Treffer allein - die Korrelation schärft die Bewertung.
Fazit
Exfiltration Over C2 Channel ist der sparsame Abfluss: kein neuer Weg, sondern der bereits offene C2-Kanal. Gerade weil der Kanal unauffällig ist, zählen die verlässlichen Signale auf dem Host - der Upload-Befehl per curl, PowerShell oder bitsadmin - und im Netz das Missverhältnis zwischen gesendeten und empfangenen Daten. Die wirksamste Härtung ist ein filternder Egress-Proxy, flankiert vom Einschränken der Bordmittel und der Überwachung des Datenvolumens. Den eigenständigen Weg über Cloud-Dienste zeigt der Datenabfluss über rclone und Cloud. Weitere Techniken dieser Taktik sammelt das Lexikon nach Taktik unter Exfiltration.