Foro de elhacker.net

Seguridad Informática => Criptografía => Mensaje iniciado por: jamjami en 27 Octubre 2022, 07:25 am



Título: descifrar ficheros AES con clave y codigo
Publicado por: jamjami en 27 Octubre 2022, 07:25 am
Buenas tardes. Ando intentando descifrar los ficheros de la web oficial de tenis atp tour.

Un ejemplo de fichero

https://itp-atp-sls.infosys-platforms.com/static/prod/insights/2022/328/MS016/data.json?lang=es
 (https://itp-atp-sls.infosys-platforms.com/static/prod/insights/2022/328/MS016/data.json?lang=es)

Viendo el código en js podemos ver que usan el lastmodified para crear el IV y también podemos ver la clave de cifrado usada.

REACT_APP_ENCRYPTION_KEY: "ITP2021ATP!"

Código:
var Ou = function(t) {
        var e = function(t) {
            var e = (new Date).getTimezoneOffset()
              , n = new Date(t.getTime() + 60 * e * 1e3).getDate()
              , r = parseInt((n < 10 ? "0" + n : n).toString().split("").reverse().join(""))
              , i = t.getFullYear()
              , a = parseInt(i.toString().split("").reverse().join(""))
              , o = parseInt(t.getTime().toString(), 16).toString(36) + ((i + a) * (n + r)).toString(24)
              , s = o.length;
            if (s < 14)
                for (var c = 0; c < 14 - s; c++)
                    o += "0";
            else
                s > 14 && (o = o.substr(0, 14));
            return "#" + o + "$"
        }(new Date(t.lastModified))
          , n = Jo.a.enc.Utf8.parse(e)
          , r = Jo.a.enc.Utf8.parse(e.toUpperCase())
          , i = Jo.a.AES.decrypt(t.response, n, {
            iv: r,
            mode: Jo.a.mode.CBC,
            padding: Jo.a.pad.Pkcs7
        });
        return JSON.parse(i.toString(Jo.a.enc.Utf8))
    };

aquí tenemos el js empaquetado:

https://itp-atp-sls.infosys-platforms.com/itp/prod/atp/match-centre/main.js
 (https://itp-atp-sls.infosys-platforms.com/itp/prod/atp/match-centre/main.js)

El tema es que a pesar de todo esto, he probado con aes, con el iv generado que se que es correcto a base de trazar js, con la contraseña especificada, pero no me funciona el descifrar con AES. Alguna idea? Debe generar un json.