Named-Pipe-Impersonation erkennen: die Potato-Familie (T1134.001)

Kurzfassung: Wer als Dienstkonto auf einem Server läuft - etwa ein Web- oder Datenbankdienst - hat oft das Privileg SeImpersonate. Die "Potato"-Familie missbraucht genau das: Sie bringt einen privilegierten Dienst dazu, sich gegen eine eigene Named Pipe zu authentifizieren, impersoniert dessen Token und wird so zu SYSTEM. Der Kern ist leise, aber die Werkzeuge, das Ergebnis - eine SYSTEM-Shell aus einem Dienst - und die genutzten Named Pipes sind erkennbar. Drei sigma-cli-validierte Sigma-Regeln, Härtung und Test. Serie "Angriff erkennen".

Dieser Beitrag schließt den Rechteausweitungs-Teil der Welle ab und baut auf der Token-Manipulation auf - die Potato-Familie ist deren prominenteste lokale Spielart. Das typische Szenario: Ein Angreifer hat über eine Web-Shell Code-Ausführung als Dienstkonto erlangt, etwa als IIS-Anwendungspool. Dieses Konto ist kein Administrator, besitzt aber SeImpersonate - und genau daraus macht ein Potato-Werkzeug SYSTEM. Der Beitrag bleibt bewusst auf der Verteidigerseite.

Einordnung in ATT&CK: Die Technik ist Access Token Manipulation: Token Impersonation/Theft (T1134.001) in der Taktik Privilege Escalation. Die Named-Pipe-Impersonation ist der Mechanismus, mit dem das SYSTEM-Token geborgt wird.

Was der Angreifer tut

Auf der Ebene des Prinzips, nicht als Anleitung, läuft die Eskalation in wenigen Schritten ab:

  • Eine Named Pipe auslegen. Das Werkzeug erstellt eine eigene Named Pipe und bringt einen privilegierten Dienst dazu, sich dagegen zu authentifizieren - oft über einen RPC- oder Spooler-Trick.
  • Das Token impersonieren. Verbindet sich der Dienst mit der Pipe, impersoniert das Werkzeug dessen SYSTEM-Token. Das Privileg SeImpersonate macht das überhaupt erst möglich.
  • Als SYSTEM starten. Mit dem geborgten Token wird ein neuer Prozess - meist eine Shell - als SYSTEM gestartet.
  • Voraussetzung ist das Privileg. SeImpersonate und SeAssignPrimaryToken gehören typisch zu Dienstkonten, nicht zu Standardnutzern - deshalb trifft es vor allem Web- und Datenbankserver.

Für die Erkennung ist entscheidend: Die Impersonation selbst ist leise, aber ihr Ergebnis - eine SYSTEM-Shell aus einem Dienst - ist laut und werkzeugunabhängig.

Welche Logquellen die Technik zeigt

  • Das Eskalations-Ergebnis. Event 4688 und Sysmon Event 1 zeigen einen Web- oder Datenbankdienst als Elternprozess einer als SYSTEM laufenden Shell - das klarste und umbenennungsresistente Signal.
  • Werkzeugnamen. Dieselben Quellen zeigen die bekannten Potato-Werkzeuge in der Kommandozeile, solange sie nicht umbenannt wurden.
  • Named Pipes. Sysmon Event 17 und 18 zeigen das Anlegen und Verbinden der charakteristischen Pipes. Dafür muss Sysmon die Pipe-Ereignisse erfassen - siehe Sysmon einrichten.
  • Begleitende Anmeldungen. Die Zuweisung besonderer Rechte und Impersonation-Anmeldungen runden das Bild ab.

Das Muster im Log

Das stärkste Signal ist das Verhalten: ein w3wp.exe oder sqlservr.exe, der plötzlich eine cmd.exe oder PowerShell als SYSTEM startet. Dafür gibt es fast nie einen legitimen Grund, und es greift auch dann, wenn das Werkzeug umbenannt wurde. Die bekannten Werkzeugnamen und die charakteristischen Named Pipes ergänzen es. In Kombination ist der Befund praktisch eindeutig - und weil die Eskalation in Sekunden abläuft, sollte der Treffer direkt an eine Reaktion gekoppelt sein.

Drei Sigma-Regeln

Die Regeln sind mit sigma-cli geprüft. Die erste nutzt die Werkzeugnamen, die zweite das Verhalten (Dienst startet SYSTEM-Shell), die dritte die Named Pipes. Die zweite ist die tragende, weil sie gegen Umbenennung resistent ist.

1. Bekannte Potato-Werkzeuge (T1134.001). Die Werkzeugnamen in der Kommandozeile. Die Regel steht auf level: high.

Sigma
title: Bekannte Potato-Werkzeuge zur Rechteausweitung
id: f329fc95-66e2-49b3-bba9-35b588fec975
status: experimental
description: |
  Erkennt den Aufruf bekannter Werkzeuge der Potato-Familie, die ueber
  Named-Pipe-Impersonation und das Privileg SeImpersonate von einem Dienstkonto zu
  SYSTEM eskalieren. Die Werkzeugnamen tauchen in der Kommandozeile oder im Script
  Block Logging auf und haben im normalen Betrieb keine Entsprechung.
references:
  - https://attack.mitre.org/techniques/T1134/001/
author: blue-team.net
tags:
  - attack.privilege-escalation
  - attack.t1134.001
logsource:
  category: process_creation
  product: windows
detection:
  selection:
    CommandLine|contains:
      - 'JuicyPotato'
      - 'RoguePotato'
      - 'SweetPotato'
      - 'RottenPotato'
      - 'GodPotato'
      - 'LocalPotato'
      - 'PrintSpoofer'
      - 'SharpEfsPotato'
  condition: selection
falsepositives:
  - Sicherheitstests und Purple-Team-Uebungen mit diesen Werkzeugen; dokumentieren und ausnehmen
level: high

2. Dienst- oder Web-Konto startet SYSTEM-Prozess (T1134.001). Ein Web- oder Datenbankdienst als Elternteil einer SYSTEM-Shell - das werkzeugunabhängige Verhaltenssignal. Ebenfalls level: high.

Sigma
title: Dienst- oder Web-Konto startet SYSTEM-Prozess
id: 618441bc-8d9d-4387-93f2-89827ce2dbde
status: experimental
description: |
  Erkennt das typische Ergebnis eines Potato-Angriffs: Ein Web- oder Datenbankdienst
  startet einen Kommandozeilen- oder Skript-Host, der als SYSTEM laeuft. Ueber
  Named-Pipe-Impersonation und SeImpersonate eskaliert ein Dienstkonto so zu SYSTEM.
  Dass ausgerechnet diese Dienste eine SYSTEM-Shell oeffnen, ist sehr ungewoehnlich.
references:
  - https://attack.mitre.org/techniques/T1134/001/
author: blue-team.net
tags:
  - attack.privilege-escalation
  - attack.t1134.001
logsource:
  category: process_creation
  product: windows
detection:
  selection_parent:
    ParentImage|endswith:
      - '\w3wp.exe'
      - '\sqlservr.exe'
      - '\httpd.exe'
      - '\tomcat.exe'
      - '\php-cgi.exe'
  selection_child:
    Image|endswith:
      - '\cmd.exe'
      - '\powershell.exe'
      - '\pwsh.exe'
  selection_user:
    User|contains: 'SYSTEM'
  condition: selection_parent and selection_child and selection_user
falsepositives:
  - Legitime Wartungsskripte, die unter SYSTEM laufen; bekannte Faelle nach Host ausnehmen
level: high

3. Verdächtige Named Pipes (T1134.001). Pipe-Namen bekannter Werkzeuge. level: medium und als Ergänzung gedacht, die Liste gehört aktualisiert.

Sigma
title: Verdaechtige Named Pipes der Potato-Werkzeuge
id: bc82cdd4-f0a7-4585-b09b-d4a021873c4b
status: experimental
description: |
  Erkennt das Anlegen oder Verbinden von Named Pipes, deren Namen bekannte
  Potato-Werkzeuge verwenden. Diese Werkzeuge erzeugen eine eigene Pipe, um einen
  privilegierten Dienst zur Authentifizierung dagegen zu bewegen und dessen Token zu
  impersonieren. Die Liste ist beispielhaft und sollte um aktuelle Werkzeuge ergaenzt
  werden.
references:
  - https://attack.mitre.org/techniques/T1134/001/
author: blue-team.net
tags:
  - attack.privilege-escalation
  - attack.t1134.001
logsource:
  category: pipe_created
  product: windows
detection:
  selection:
    PipeName|contains:
      - 'RoguePotato'
      - 'pwnednamedpipe'
      - 'JuicyPotato'
      - 'SweetPotato'
  condition: selection
falsepositives:
  - Sehr selten; Sicherheitstests mit diesen Werkzeugen
level: medium

Härtung: der Angriff, der ins Leere läuft

  • SeImpersonate einschränken. Dienstkonten nur die wirklich nötigen Privilegien geben und SeImpersonate entziehen, wo der Dienst es nicht braucht - vorsichtig getestet, denn viele Dienste benötigen es. Das nimmt der Potato-Familie die Grundlage.
  • Dienste isolieren und patchen. Den Druckwarteschlangendienst abschalten, wo er nicht gebraucht wird (mehrere Werkzeuge nutzen Spooler- und RPC-Tricks), und Windows aktuell halten.
  • Least Privilege für Web- und DB-Dienste. Eigene, stark eingeschränkte Konten oder gruppenverwaltete Dienstkonten (gMSA) statt breiter Rechte.
  • Pipe- und Prozess-Telemetrie. Sysmon Event 17/18 aktivieren und die Verhaltensregel scharf schalten, damit der Sprung zu SYSTEM sofort auffällt.

Der Test

Die Erkennung lässt sich im Lab gefahrlos prüfen, auf einem isolierten System mit aktivem Sysmon:

  • Für Regel 1 einen freigegebenen Potato-Werkzeug-Namen in der Kommandozeile aufrufen. Event 4688 und Sysmon Event 1 müssen ihn zeigen.
  • Für Regel 2 im Lab einen Testdienst eine Shell als SYSTEM starten lassen oder das Muster nachstellen. Die Eltern-Kind-Beziehung mit SYSTEM muss erscheinen.
  • Für Regel 3 eine der genannten Named Pipes im Lab erzeugen. Sysmon Event 17 muss sie zeigen. Vollständiger wird der Test mit den Fällen zu T1134 aus Atomic Red Team.

Fehlalarme und Tuning

  • Legitime SYSTEM-Skripte aus Diensten. Selten, aber möglich bei Wartung. Baseline die bekannten Fälle nach Host, bevor du Regel 2 scharf schaltest.
  • Sicherheitstests. Potato-Werkzeuge tauchen bei Purple-Team-Übungen auf. Dokumentiere die Übungsfenster und nimm sie aus.
  • Umbenannte Werkzeuge. Regel 1 greift bei Umbenennung nicht - deshalb ist Regel 2 (Verhalten) die tragende. Priorisiere sie.
  • Variierende Pipe-Namen. Regel 3 deckt nur bekannte Namen ab. Ergänze die Liste und verlasse dich nicht allein darauf.

Fazit

Die Potato-Familie macht aus einem eingeschränkten Dienstkonto in Sekunden SYSTEM - aber das Ergebnis ist laut: ein Web- oder Datenbankdienst, der eine SYSTEM-Shell öffnet. Dieses Verhalten ist das zuverlässigste, werkzeugunabhängige Signal; Werkzeugnamen und Named Pipes ergänzen es. Die wirksamste Härtung ist, Dienstkonten SeImpersonate nur dort zu lassen, wo es gebraucht wird, und Web- und Datenbankdienste strikt zu isolieren. Damit ist der Rechteausweitungs-Teil der Welle abgeschlossen; als Nächstes folgt das Abschalten der Abwehr. Verwandt sind die Token-Manipulation und der UAC-Bypass. Weitere Techniken dieser Taktik sammelt das Lexikon nach Taktik unter Privilege Escalation.

NH

$ whoami

Norbert Hofmann

Cyber Defense Analyst im Security Operations Center eines Managed Security Service Providers. Red und Blue Teaming, Malware-Analyse, Incident Response und Security-Awareness-Trainings. Finalist bei „Deutschlands bester Hacker“ 2022, mehrere CVE-Einträge für WordPress-Plugins.