Deutsch | English | Español

Gefahren im SAP Transportwesen Teil 4: Automatische Code-Ausführung beim Import

7. Dezember 2017 | Von Thomas Fritsch, Virtual Forge GmbH

Automatische_Code-Ausführung_Import.jpgNahezu jeder SAP-Basis Administrator weiß um die Gefährlichkeit von XPRA-Einträgen in Transportaufträgen (R3TR XPRA <Reportname>). Prinzipiell lässt sich hiermit jeder Report, der keine expliziten Parameter benötigt, unmittelbar nach dem Import automatisch ausführen. Ist der gewünschte Report im Zielsystem noch nicht vorhanden, kann man ihn entweder gleich im selben Auftrag mit importieren oder mit einem anderen Transportauftrag schon vorher ins Zielsystem bringen. Letztere Vorgehensweise kann einen Angriff besser verschleiern, da der unmittelbare Zusammenhang zwischen Code einschleusen und Code ausführen so nicht zu erkennen ist.

Deutlich gefährlicher sind jedoch die sogenannten After-Import Methoden, weil hierbei sowohl die Einschleusung als auch die Ausführung von Code nahezu unbemerkt passiert. After-Import Methoden  werden von SAP beim Import von Customizing z.B. verwendet, um Objekte auf Basis der neuen oder geänderten Einstellungen neu zu generieren oder um Konsistenzprüfungen durchzuführen (Beispiel: Import von Nummernkreisobjekten). Ein Angriff über eine After-Import Methode besteht aus 3 Schritten:

  • Code einschleusen
    Da im Rahmen einer After-Import Methode ein Funktionsbaustein aufgerufen wird, muss dieser zunächst ins Zielsystem gebracht werden. Dies lässt sich relativ einfach tarnen, indem man den Funktionsbaustein im Rahmen einer gesamten, eventuell sehr umfangreichen, Funktionsgruppe transportiert.
  • Code mappen
    Pflegeobjekte des Customizings werden in der Transaktion SOBJ definiert. Hier kann für jedes Pflegeobjekt ein Funktionsbaustein als After-Import Methode hinterlegt werden. Änderungen werden automatisch im zugehörigen R3TR TOBJ Objekt aufgezeichnet.
    TOBJ Objekte sind unauffällig, da mit ihnen generell Pflegeobjektdefinitionen transportiert werden. Fehlt die Berechtigung für Transaktion SOBJ, kann man für das Mapping auch direkt die Tabelle OBJM manipulieren.
    (Eine Prüfung auf TOBJ-Objekte per simpler „kritische Objekte“-Prüfung wird hier zu vielen Fehlalarmen führen. Der Virtual Forge TransportProfiler liest den Inhalt der Transportdatei und kann somit sofort feststellen, ob tatsächlich eine After-Import Methode hinterlegt ist).
  • Code ausführen
    Ist die TOBJ Definition ins Zielsystem importiert, löst jeder Import von Daten zum betreffenden Pflegeobjekt im Zielsystem die hinterlegte After-Import Methode aus

Besonders kritisch: XPRAs und After-Import Methoden werden als Importschritt gewöhnlich im Kontext des Benutzers DDIC oder eines gleichwertig berechtigten Benutzers durchgeführt!

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

  • R3TR XPRA <Reportname>
    • Möglicher Angriffsversuch
    • Der betreffende Report ist zu prüfen. Skepsis ist vor allem dann geboten, wenn der auszuführende Report mit dem selben Transportauftrag neu ins Zielsystem kommt oder aktualisiert wird (R3TR PROG, LIMU REPS <Reportname>) 
  • R3TR TOBJ <Pflegeobjektname>
    • Mögliche Vorbereitung eines Angriffsversuch
    • Es ist zu prüfen, ob zum Objekt eine After-Import Methode hinterlegt ist und falls ja, welchen Hintegrund diese hat 
  • R3TR TABU OBJM
    • Definitiver Angriffsversuch!
    • Diese Tabelle wird vom SAP-Standard in der SE09/10 abgefangen. Sie kann aber mithilfe eines kurzen ABAP Reports durchaus in einen Transportauftrag gestellt und exportiert werden

Um einen Angriff zusätzlich zu verschleiern, können Einträge der Tabelle OBJM 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 oben 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 Manipulation logischer Dateinamen und logischer Betriebssystem-Kommandos.

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 3: Manipulation der Jobverwaltung
Gefahren im SAP Transportwesen Teil 5: Logische Dateinamen und Betriebssystem-Kommandos



@Virtual_Forge auf Social Media:

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