Deutsch | English | Español

Gefahren im SAP Transportwesen Teil 3: Manipulation der Jobverwaltung

23. November 2017 | Von Thomas Fritsch, Virtual Forge GmbH

TransportProfiler_Blog3.jpgDie Jobverwaltung im SAP® bietet eine große Angriffsfläche für Manipulationen von außen. Die Möglichkeiten reichen hier vom Ausnutzen von Schwachstellen bestimmter SAP-Standardjobs über die Änderung kritischer Jobeigenschaften bis hin zur kompletten Jobdefinition und -einplanung per Transportauftrag.

Jeder SAP-Basis Administrator kennt den Job SAP_COLLECTOR_FOR_PERFMONITOR. Dieser sammelt Statistikdaten aus Dateien ein und schreibt sie in Tabellen, die dann von Transaktionen wie ST03 und ST03N ausgelesen und verarbeitet werden. Hierzu ruft der Job mehrere Reports auf, die er aus der Tabelle TCOLL liest. Während bei einer manuellen Pflege dieser Tabelle eine Prüfung der eingefügten Reports gegen die Festwerte der Domäne COLL_RNAME erfolgt und somit ein Missbrauch erschwert wird, können per Transport beliebige Reports eingefügt werden. Brisanterweise werden die auszuführenden Reports aus Tabelle TCOLL bei der Ausführung des Jobs nicht mehr gegen die Domänenfestwerte geprüft. Außerdem läuft der Job SAP_COLLECTOR_FOR_PERFMONITOR im Kontext des Benutzers DDIC oder eines gleichwertigen Benutzers, sodass man als Angreifer nur selten auf Berechtigungsprobleme treffen sollte. Der Job läuft zwar im Mandanten 000, jedoch stellt dies kein wirkliches Limit für einen Angriff dar.

Prinzipiell kann man aber auch jeden beliebigen Job als trojanisches Pferd für Angriffe verwenden, wenn man seine interne Jobnummer kennt. Beispiele hierfür sind: 

  • Hinzufügen/Ändern/Löschen von Job-Steps
  • Ändern des ausführenden Benutzers eines Job-Steps
  • Ändern des Status eines Jobs

Kennt man die Jobnummer nicht, kann man aber auch einen kompletten Job im Produktivsystem per Transport definieren und einplanen. Hierzu reichen die 3 Tabellen TBTCO, TBTCP und TBTCS.

Für die Auftragsprüfung lässt sich zusammenfassend sagen:

  • R3TR TABU TCOLL
    • Möglicher Angriffsversuch
    • Handelt es sich um keinen Report, der als Festwert der Domäne COLL_RNAME definiert ist, liegt sehr wahrscheinlich ein Angriffsversuch vor!
    • Man sollte einen Transport zu Inhalten der Tabelle TCOLL generell verbieten 
  • R3TR TABU TBTC*
    • Definitiver Angriffsversuch!
      Jemand versucht das Jobverwaltungssystem von außen zu umgehen um bestehende Jobs zu manipulieren oder neue Jobs zu definieren und einzuplanen

Um einen Angriff zusätzlich zu verschleiern, können Einträge der obigen Tabellen auch in einem übergeordneten Objekt getarnt werden. Hierzu zählen:

  • View Cluster (R3TR CDAT <beliebiger Objektname>)
  • Pflegeview (R3TR VDAT <beliebiger Objektname>)
  • Customizingdaten (R3TR TDAT <beliebiger Objektname>)

In diesen Fällen ist jeder Eintrag ebenfalls als definitiver Angriffsversuch zu bewerten! Nur eine Prüfung aller Transportaufträge, wie in den vorherigen Beiträgen beschrieben, hilft effektiv gegen einen solchen Angriff.

Diesen und über 100 weitere Tests führt der VirtualForge TransportProfiler für interne und externe Transportaufträge automatisch durch. Machen Sie den ersten Schritt auf dem Weg zu einem wirklich sicheren SAP Transportwesen und vereinbaren Sie noch heute einen Termin für eine unverbindliche Schwachstellenanalyse und Präsentation.               

Der nächste Beitrag beschäftigt sich mit der automatischen Ausführung von Reports und Funktionsbausteinen nach einem Import.

Hier geht es zur Blog-Serie
Gefahren im SAP Transportwesen Teil 1: AUTHORITY-CHECKs umgehen
Gefahren im SAP Transportwesen Teil 2: AUTHORITY-CHECKS transaktionsspezifisch umgehen 
Gefahren im SAP Transportwesen Teil 4: Automatische Code-Ausführung beim Import



@Virtual_Forge auf Social Media:

social_twitter_active.png social_xing_active.png social_linkedin_active.png social_google_active.png