Verantwortungsvolle Veröffentlichung einer Exploit-Kette, die auf die Implementierung der RFC-Schnittstelle im SAP® Application Server für ABAP abzielt

vulnerability

In einer unabhängigen Analyse der serverseitigen Implementierung der proprietären Remote Function Call (RFC)-Schnittstelle in SAP® NetWeaver Application Server ABAP und ABAP Platform (beide im Folgenden als AS ABAP bezeichnet) wurden von Fabian Hagg, Sicherheitsforscher im SEC Consult Vulnerability Lab und SAP Security Experte, eine Reihe von schwerwiegenden Implementierungs- und Designfehlern identifiziert.

Überblick über Angriffe und Schwachstellen

Überblick über Angriffe und Schwachstellen

Technische Details zu den Forschungsergebnissen werden auf der jährlichen Troopers Security Conference 2023 mit dem Titel "Everyone knows SAP, everyone uses SAP, everyone uses RFC, no one knows RFC: From RFC to RCE 16 years later" in Heidelberg vorgestellt.

Whitepaper

Die Ergebnisse sind in einem detaillierten technischen Whitepaper enthalten, das im Rahmen des Konferenzvortrags veröffentlicht wurde. Sie steht zum Download in englischer Sprache zur Verfügung.

Die Ergebnisse der Studie: Überblick über Angriffe und Schwachstellen

  • CVE-2021-27610: Designfehler und Schwachstellen in der systeminternen Kommunikationsarchitektur

In SAP-Software-Systemen, die auf dem ABAP-Technologie-Stack basieren, existiert eine implizite Vertrauensarchitektur für systeminterne RFC- und HTTP-Kommunikationsszenarien. Es wurde festgestellt, dass diese Architektur ein unsicheres und schwaches Design implementiert, das aus der Ferne ausgenutzt werden kann, um die Authentifizierung zu umgehen und/oder Privilegien zu erweitern, auch bekannt als "RFC Loopback Attack".

Angreifer, die eine gewöhnliche Anfrage von einem anfälligen System erhalten, können ihre eigene Kommunikation mit dem System in einem Reflexionsangriff aufbauen, bei dem sie durchgesickertes Anmeldematerial wiederverwenden, um eine vertrauenswürdige Identität vorzutäuschen und sich als ein anderer Benutzer auszugeben. Weitere Angriffsvektoren sind das Sniffing von unverschlüsseltem Netzwerkverkehr und weiterführende Angriffe nach der Ausnutzung der Lücken. Ein erfolgreicher Angriff kann zu einer vollständigen Kompromittierung des Systems führen.

Der Hersteller hat einen Patch mit dem SAP Sicherheitshinweis 3007182 entwickelt, der im Rahmen des Patch Tuesday Juni 2021 veröffentlicht wurde. Bitte beziehen Sie sich auf 3007182 für die betroffenen Versionen und Korrekturanweisungen. 

 

  • CVE-2023-0014: Designfehler und Schwachstellen in der Trusted/Trusting-Architektur

In SAP-Software-Systemen, die auf dem ABAP-Technologie-Stack basieren, existiert eine explizite Vertrauensarchitektur für systemübergreifende RFC- und HTTP-Kommunikationsszenarien, die als Trusted/Trusting-Beziehungen bekannt sind. Es wurde festgestellt, dass diese Architektur ein unsicheres und schwaches Design implementiert, das aus der Ferne ausgenutzt werden kann, um unrechtmäßigen Zugriff auf anfällige Systeme zu erhalten und sich in SAP-Systemlandschaften weiter auszubreiten, auch bekannt als "SAPass-the-TTicket (SAPtTT)".

Angreifer, die eine gewöhnliche Anfrage von einem anfälligen System erhalten, können ihre eigene Kommunikation mit demselben System oder mit anderen Systemen, die in einer Vertrauensbeziehung zu dem anfälligen System stehen, in Reflexions- und Ablenkungsangriffen aufbauen, bei denen sie durchgesickertes Anmeldematerial wiederverwenden, um eine vertrauenswürdige Identität vorzutäuschen und sich als ein anderer Benutzer auszugeben. Weitere Angriffsvektoren sind das Ausspähen von unverschlüsseltem Netzwerkverkehr und weiterführende Angriffe nach der Ausnutzung der Lücken wie die Fälschung von Signaturen. Ein erfolgreicher Angriff kann zu einer vollständigen Kompromittierung des Systems führen.

Der Hersteller hat mit dem SAP-Sicherheitshinweis 3089413 einen Patch entwickelt, der im Rahmen des Patch Tuesday Januar 2023 veröffentlicht wurde. Die betroffenen Versionen und Anweisungen zur Korrektur finden Sie in 3089413.

 

  • CVE-2021-33677: Information Disclosure in der AutoABAP/bgRFC-Schnittstelle

Dialoginstanzen des AS ABAP stellen den RFC-Gateway-Dienst auf einem Port zwischen TCP/3300-3399 bereit. Es wurde festgestellt, dass dieser Dienst bestimmte Funktionen für authentifizierte, aber nicht autorisierte Benutzer offenlegt. Innerhalb dieser Funktionen wurden mehrere Schwachstellen identifiziert, die aus der Ferne ausgenutzt werden können, um gültige Benutzerkonten zu enumerieren und den Server dazu zu bringen, Anfragen an ausgewählte Hosts und Ports im Bereich TCP/3300-3399 zu tätigen. Letzteres lässt sich mit begrenzten serverseitigen Request Forgery Primitives ausnutzen, die einen RFC-Funktionsaufruf eines vordefinierten Funktionsbausteins auslösen.

Angreifer können diese Primitiven mit CVE-2021-27610 und CVE-2023-0014 kombinieren, um wiederverwendbares Anmeldematerial auszulesen und in weiteren Angriffen auszunutzen.

Der Hersteller hat einen Patch mit dem SAP Security Note 3044754 entwickelt, der im Rahmen des Patch Tuesday Juli 2021 veröffentlicht wurde. Bitte beziehen Sie sich auf 3044754 für betroffene Versionen und Korrekturanweisungen.

 

  • CVE-2021-33684: Out-of-Bounds Write in Scrambling Routine disp+work!ab_scramble

Dialoginstanzen des AS ABAP stellen den RFC-Gateway-Dienst auf einem Port zwischen TCP/3300-3399 bereit. Es wurde festgestellt, dass dieser Dienst das System einem Speicherkorrumpierungsfehler aussetzt, der ausgelöst wird, wenn Kernel-Binary disp+work speziell gestaltete RFC-Pakete parst, die missgestaltetes Anmeldematerial enthalten. Die Schwachstelle kann aus der Ferne ausgenutzt werden, um disp+work Prozesse zum Absturz zu bringen, die Integrität der bei der Authentifizierung verwendeten Daten zu beschädigen oder möglicherweise Codeausführung zu erlangen. Letzteres wurde nicht verifiziert.

Auf anfälligen 64-Bit-Versionen von disp+work wurden die verfügbaren Schreibprimitive erfolgreich auf eine Umgehung der Authentifizierung getestet, bei der der virtuelle Benutzerkontext des fest kodierten SAPSYS Kontos, das keine Berechtigungen besitzt, gekapert wird. Entfernte, nicht authentifizierte Angreifer können diesen Benutzerkontext ausnutzen, um CVE-2021-33677 auszulösen.

Der Hersteller hat einen Patch mit dem SAP Security Note 3032624 entwickelt, der im Rahmen des Patch Tuesday Juli 2021 veröffentlicht wurde. Bitte lesen Sie 3032624 für betroffene Versionen und Korrekturanweisungen.

 

In einer Laborumgebung wurde ein funktionaler Exploit entwickelt und erfolgreich auf verwundbaren AS-ABAP-Instanzen mit 64-Bit-Versionen der ABAP-Kernel-Releases 753 und 777 getestet, der mehrere Primitive der oben genannten Probleme für die Remote-Code-Ausführung vor der Authentifizierung verkettet.

Gegenmaßnahmen 

SAP-Anwendern wird empfohlen, die betroffenen Software-Komponenten zu aktualisieren und alle notwendigen Schritte nach der Installation durchzuführen, um die Systeme gegen die gefundenen Angriffsvektoren zu schützen. Es wird empfohlen, die bereitgestellten Sicherheitshinweise des Herstellers sorgfältig zu lesen und die angegebenen Korrekturanweisungen zu befolgen, sofern dies nicht bereits geschehen ist.

In Bezug auf den Sicherheitshinweis 3089413 muss sichergestellt werden, dass alle Voraussetzungen erfüllt sind, bevor die Korrekturen, wie in SAP-Hinweis 3224161 beschrieben, durchgeführt werden. Für alle betroffenen Systeme muss sichergestellt werden, dass alle Trusted/Trusting-Beziehungen erfolgreich auf die Sicherheitsmethode 3 migriert werden. Schließlich muss sichergestellt werden, dass alle Applikationsserver die neueste Sicherheitsmethode erzwingen, indem der Profilparameter rfc/allowoldticket4tt = 'no' im Standardprofil (DEFAULT.PFL) nach der Migration aller Verbindungen in der SAP-Systemlandschaft gesetzt wird.

Die folgenden Referenzen enthalten zusätzliche hilfreiche Informationen für die Anwendung der Patches:

Uns ist kein voll funktionsfähiger Workaround bekannt, der alle entdeckten Probleme entschärfen würde und der kurzfristig praktikabel wäre ("Quick Win"). Falls das Einspielen der Patches nicht in Frage kommt, empfehlen wir dringend den Netzwerkzugriff (RFC/HTTP) auf anfällige Server so weit wie möglich einzuschränken, um die Angriffsfläche zu minimieren. Darüber hinaus empfehlen wir, die verschlüsselte Kommunikation zwischen Servern mittels HTTPS und SNC vollständig zu erzwingen, die Berechtigungsverteilungen S_RFC und S_RFCACL auf ein absolutes Minimum zu reduzieren, die Funktionsaufrufe des Funktionsbausteins RFC_TRUSTED_SYSTEM_SECURITY einzuschränken und zu überwachen sowie den Zugriff auf die Tabelle RFCSYSACL zu begrenzen. Schließlich verweisen wir auf die zusätzlichen Maßnahmen, die der Hersteller in den entsprechenden SAP-Hinweisen und in der FAQ zum Sicherheitshinweis 3089413 beschreibt.

Wir sind uns bewusst, dass das Patchen von kundenspezifischen SAP-Software-Systemen Aufwand erfordert. Da Patches und Korrekturanleitungen bereits seit geraumer Zeit zur Verfügung stehen, schließen wir den Prozess der verantwortungsvollen Offenlegung mit der koordinierten Veröffentlichung technischer Details ab, die in dem veröffentlichten Whitepaper näher erläutert werden..

 

Dieser Research wurde von Fabian Hagg durchgeführt und im Auftrag des SEC Consult Vulnerability Lab veröffentlicht.

Interessieren Sie sich für eine Karriere bei SEC Consult?

SEC Consult ist immer auf der Suche nach talentierten Sicherheitsexpert:innen, die unser Team verstärken möchten.