SAP Pentest Favoriten: Zugang per RFC
Autor: Holger Stumm | 23. Januar 2019
Bei SAP-Penetration-Tests (kurz Pentest) gibt es drei große Themenbereiche, die als sicherheitstechnische Herausforderungen gelten und die zu den tragenden Säulen der SAP Sicherheit gehören. In diesem Artikel wird einer der Hauptangriffsvektoren für SAP Systeme thematisiert - der Remote Function Call (RFC).
Was ist der Remote Function Call?
Der Remote Function Call (RFC) beschreibt ein Verfahren, durch das Funktionen in einem entfernten System aufgerufen werden. RFC ist zudem auch der Überbegriff für die SAP-eigenen Protokolle und Schnittstellen zur Abwicklung solcher Funktionsaufrufe bis hin zu deren Implementierung. Diese RFC Schnittstellen und Funktionen werden nicht von Endanwendern direkt bedient. Es sind API’s, das heißt aufrufbare Schnittstellen, die sich aus verschiedenen Programmen – von Java bis Microsoft Excel – aufrufen lassen.
Risiken von Remote Function Calls
Das RFC-Verfahren ermöglicht, beliebige Funktionalität aufzurufen, zu parametrisieren und auszuführen. Zum Spektrum zählen dabei das Anlegen eines Benutzers in SAP, das Auslesen ganzer Datenbank-Bereiche oder auch das Ausführen von Betriebssystem-Kommandos mit ROOT-ähnlichen Berechtigungen (Stichwort SIDadm).
In älteren Systemen war es sehr einfach, eine direkte SAP-Verbindung zu schaffen. Die Grundlagen dafür: eine beliebige Programmiersprache und die dazu zugehöre SAP RFCLIB, die SAP Bibliothek für die Betriebssystem-Anbindung sowie ein sogenannter RFC-User für diese Schnittstelle, der die Autorisierungen und Authentifizierungen mitbrachte. An dieser Stelle teilte man damals gerne SAP_ALL zu. Im Grunde war (und teilweise ist) jeder Rechner mit SAP Gui und Microsoft Excel in der Lage Makro-VBA-Programme auszuführen, die Daten auslesen, manipulieren oder löschen können im SAP. Das ist keine Sicherheitslücke, sondern in so einem Fall schlecht konfiguriert. Wer sich einen Einblick in die Kreativität von Excel-to-SAP Programmierern verschaffen will, dem sei eine Google-Suche nach “sap rfc excel macro” empfohlen.
… auf YouTube
YOUTUBE-CHANNEL abonnieren: https://www.youtube.com/c/Rz10De_ms
Absicherung von RFC-Schnittstellen
SAP verhindert verstärkt die anonyme Ausführung einzelner Bausteine, sodass es kaum entsprechende Bausteine gibt, die ohne Berechtigungen funktionieren. Auch zählt die sogenannte Gateway-Security dazu, die ein Monitoring und Blacklisting/Whitelisting bestimmter RFC-Aufrufe erlaubt.
Die Unified Connectivity-Technologie (UCON- Technologie) stellt einen effektiven Schutz gegen RFC-Angriffe dar. Hier werden alle SAP RFC Schnittstellen protokolliert und in Blacklist/Whitelist-Szenarios überführt. Parallel werden Berechtigungs-Traces mitgeschnitten, die zusammen mit den Whitelist-Szenarien ermöglichen, gezielte Berechtigungen für diese Schnittstellen zu vergeben und zu kontrollieren.
Ein klassisches RFC-Sicherheits-Projekt besteht aus einer initialen Datensammlung und Quantifizierung der Schnittstellen, aus einer längeren (mehrmonatigen) Analyse –Phase mit den SAP-Werkzeugen aus UCON und dem SAP Gateway. Dem schließt sich eine Realisierungsphase an, in der die Whitelist erstellt werden sowie die Rollen und Berechtigungen der Remote-Benutzer zugeschnitten werden.
SAP Penetration Test - kontrollierte Überprüfung ihres Systems
Wir führen eine kontrollierte Überprüfung des Sicherheits-Zustandes Ihres SAP-Systems durch - mit unserem SAP Penetration Test.
In neueren Release der SAP kann sich dann eine Übergangsphase bzw. Simulationsphase anschließen, in der Whitelist, Blacklist und Berechtigungen simuliert werden. Fehler sowie Zurückweisungen oder Blocken von Elementen werden dann in nur in einem Log angezeigt. Nach Auswertung der Events aus dem Log und der Berichtigung der Fehler, kann das System live genommen und die Blacklist, Whitelist und Autorisierungen scharf geschaltet werden.
Als Resultat einer initialen Sicherheitsanalyse, eines Pen-Tests, sollte bei entsprechendem Auftreten von Schwachstellen ein RFC-Projekt auf der Basis von SAP UCON durchgeführt werden. Dies schließt die Phasen Assessment, Monitoring und Simulation ein.
Wann sollte ein SAP-Penetration-Test durchgeführt werden?
Das Interesse und die Relevanz der Durchführung von Sicherheits-Analysen wie SAP Penetration Tests nimmt exponentiell zu. Ein SAP-Penetrationstest bestätigt Unternehmen, ob die Sicherheit tatsächlich gewährleistet ist oder ob bei den bereits etablierten Sicherheitsmaßnahmen noch unerkannte Fehler bestehen, die ihnen bei Cyberangriffen Schaden zufügen könnten.
Aus meiner Erfahrung kann ich Ihnen sagen, dass bisher bei all meinen durchgeführten Pentests diverse Schwachstellen in Unternehmen bezüglich ihrer SAP Sicherheit aufgedeckt worden sind. SAP-Penetrationstests sind ein zeitaufwändiger Prozess, der ausreichende Ressourcen und spezifisches Wissen erfordert. Der Aufwand dafür lohnt sich jedoch.
Wenn Sie dabei Unterstützung benötigen, melden Sie sich bitte bei mir. Alle Leistungen eines Pentest haben wir hier zusammengefasst: https://rz10.de/angebot/sap-penetration-test/
Weitere Artikel in der Serie Pentest Favoriten:
- Zugang per RFC (dieser Beitrag)
- Angriff via Code Injection
- Bekannte Passwörter und unsichere Passwortspeicherung