⚡ Shadow Academy
🔓 Chapter 46

āĻāχ āĻ…āĻ§ā§āϝāĻžāϝāĻŧ⧇ āϕ⧀ āĻļāĻŋāĻ–āĻŦ⧇

⏱ āφāύ⧁āĻŽāĻžāύāĻŋāĻ• āϏāĻŽāϝāĻŧ: ā§§ā§Ģâ€“ā§¨ā§Ļ āĻŽāĻŋāύāĻŋāϟ ¡ āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āϤ: āφāϗ⧇āϰ āĻ…āĻ§ā§āϝāĻžāϝāĻŧ⧇āϰ āϧāĻžāϰāĻŖāĻž

ā§Ļ / ā§§ā§Ļā§Ļ āĻ…āĻ§ā§āϝāĻžā§ŸāϚāĻžāϞāĻŋāϝāĻŧ⧇ āϝāĻžāĻ“: āĻ…āĻ§ā§āϝāĻžāϝāĻŧ 47

āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āĻāχ browser-āĻ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻšāĻŦ⧇āĨ¤

🔓
Encrypted Traffic Decode — āϏāĻŦ āĻĻ⧇āĻ–ā§‹!
āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻ…ā§āϝāĻžāĻĒ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āϰāĻŋāĻ­āĻžāĻ°ā§āϏāĻžāϞ, Frida RPC āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻ“ āĻ…āĻĢāϞāĻžāχāύ āĻĒāĻžāχāĻĨāύ āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒā§āϟāϰ
🧭 āĻĻāĻ•ā§āώāϤāĻž āϝāĻžāϚāĻžāχ āĻ“ āĻĒā§āϰāϤāĻŋāϰāĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• takeaway
Skill checkpoint: Synthetic ciphertext āĻĻāĻŋā§Ÿā§‡ transport encryption āĻ“ app-layer crypto āφāϞāĻžāĻĻāĻž āĻ•āϰ⧋āĨ¤
Defense checkpoint: āϕ⧇āĻŦāϞ āύāĻŋāĻœā§‡āϰ test key āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧋; secret handling āĻ“ rotation āύāĻĨāĻŋāϭ⧁āĻ•ā§āϤ āĻ•āϰ⧋.
Lab scope: āĻļ⧁āϧ⧁ āύāĻŋāĻœā§‡āϰ lab, synthetic data āĻŦāĻž āϞāĻŋāĻ–āĻŋāϤ āĻ…āύ⧁āĻŽāϤāĻŋāĻĒā§āϰāĻžāĻĒā§āϤ target-āĻ āĻ…āύ⧁āĻļā§€āϞāύ āĻ•āϰ⧋āĨ¤ Real credential, token āĻŦāĻž customer data āĻŦā§āϝāĻŦāĻšāĻžāϰ āϕ⧋āϰ⧋ āύāĻžāĨ¤
Portfolio proof: finding, impact, fix āĻ“ retest āύāĻŋā§Ÿā§‡ ā§Ģ-āϞāĻžāχāύ⧇āϰ redacted note āϰāĻžāĻ–ā§‹āĨ¤
đŸ•ĩī¸â€â™‚ī¸ āĻ—āĻ˛ā§āĻĒ ā§§: āϝāĻ–āύ āϏāĻŦ āĻ•āĻŋāϛ⧁ āĻšāĻŋāϜāĻŋāĻŦāĻŋāϜāĻŋ — āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āϝ⧁āĻĻā§āϧ
āϤ⧁āĻŽāĻŋ Reqable āĻŦāĻž HTTP Toolkit āĻ…āύ āĻ•āϰ⧇āϛ⧋, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ¸ā§āĻ•ā§āϰāĻŋāύ⧇ āϕ⧋āύ⧋ āϏ⧁āĻ¨ā§āĻĻāϰ JSON āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻšā§āϛ⧋ āύāĻž! āϤāĻžāϰ āĻŦāĻĻāϞ⧇ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻšā§āϛ⧋ āĻāĻ•āĻ—āĻžāĻĻāĻž āĻāϞ⧋āĻŽā§‡āϞ⧋ āĻ…āĻĻā§āϭ⧁āϤ āĻšā§‡āĻ•ā§āϏ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚: `4f9a2b8e01ff...`! 😱

āĻ…āύ⧇āĻ• āĻšāĻžāχ-āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻ…ā§āϝāĻžāĻĒ āϏāĻžāϧāĻžāϰāĻŖ HTTPS-āĻāϰ āĻ“āĻĒāϰ āĻ­āϰāϏāĻž āύāĻž āĻ•āϰ⧇ āϤāĻžāϰ āĻ“āĻĒāϰ⧇ āφāĻŦāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ Custom Layer Encryption (āϝ⧇āĻŽāύ: ChaCha20, Custom XOR, AES Payload Encryption) āϚāĻžāĻĒāĻŋā§Ÿā§‡ āĻĻā§‡ā§Ÿ!
āĻāĻ•āϜāύ āϏāĻžāϧāĻžāϰāĻŖ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āĻŋāĻĄāĻŋ āĻāĻ–āĻžāύ⧇ āĻāϏ⧇ āĻšāĻžāϞ āĻ›ā§‡ā§œā§‡ āĻĻā§‡ā§Ÿ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ•āϜāύ āĻĒā§āϰ⧋ āϰāĻŋāĻ­āĻžāĻ°ā§āϏ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰ⧇āϰ āφāϏāϞ āϖ⧇āϞāĻž āĻļ⧁āϰ⧁ āĻšā§Ÿ āĻ āĻŋāĻ• āĻāĻ–āĻžāύ āĻĨ⧇āϕ⧇āχ!
🧩 āĻ—āĻ˛ā§āĻĒ ā§¨: JADX āĻĻāĻŋā§Ÿā§‡ āĻāύāĻ•ā§āϰāĻŋāĻĒā§āϟ āĻŽā§‡āĻĨāĻĄ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāĻž
āĻĒā§āϰāĻĨāĻŽā§‡ āĻ…ā§āϝāĻžāĻĒāϟāĻŋāϕ⧇ JADX āĻĻāĻŋā§Ÿā§‡ āĻĄāĻŋāĻ•āĻŽā§āĻĒāĻžāχāϞ āĻ•āϰ⧋āĨ¤ āϤāĻžāϰāĻĒāϰ āϏāĻžāĻ°ā§āϚ āĻĻāĻžāĻ“: `doFinal`, `Cipher`, `SecretKey`, āĻŦāĻž `encrypt`āĨ¤
āϤ⧁āĻŽāĻŋ āĻĒā§āϰāĻžā§ŸāĻļāχ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āĻ•ā§āϞāĻžāϏ āĻĒā§‡ā§Ÿā§‡ āϝāĻžāĻŦ⧇ āϝāĻžāϰ āύāĻžāĻŽ āĻšā§ŸāϤ⧋ `CryptoUtil` āĻŦāĻž āĻ…āĻŦāĻĢ⧁āϏāϕ⧇āĻŸā§‡āĻĄ āϕ⧋āύ⧋ āĻ•ā§āϞāĻžāϏ āϝ⧇āĻŽāύ `com.target.a.b`āĨ¤ āϏ⧇āĻ–āĻžāύ⧇ āĻĻ⧇āĻ–āĻž āϝāĻžāĻŦ⧇ āϤāĻžāϰāĻž āϰāĻŋāϕ⧋āϝāĻŧ⧇āĻ¸ā§āϟ āĻĒāĻžāĻ āĻžāύ⧋āϰ āφāϗ⧇ āϕ⧋āύ⧋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĢāĻžāĻ‚āĻļāύ āĻĻāĻŋā§Ÿā§‡ āĻĄā§‡āϟāĻž āϗ⧁āϞāĻŋā§Ÿā§‡ āĻĢ⧇āϞāϛ⧇!
// Frida āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻĻāĻŋā§Ÿā§‡ āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟āĻ­āĻžāĻŦ⧇ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻĢāĻžāĻ‚āĻļāύ āĻĄāĻŋāϕ⧋āĻĄ āĻ•āϰāĻž:
Java.perform(function() {
    var CryptoClass = Java.use("com.target.security.CryptoManager");
    
    // āĻāύāĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āϰāĻžāϰ āĻ āĻŋāĻ• āφāϗ⧇āϰ āĻ…āϰāĻŋāϜāĻŋāύāĻžāϞ āĻĒā§āϞ⧇āχāύāĻŸā§‡āĻ•ā§āϏāϟ āϞāĻ— āĻ•āϰāĻž:
    CryptoClass.encryptPayload.implementation = function(plainText) {
        console.log("đŸ”Ĩ [CAPTURED PLAINTEXT]: " + plainText);
        var encrypted = this.encryptPayload(plainText);
        console.log("🔒 [OUTGOING CIPHERTEXT]: " + encrypted);
        return encrypted;
    };
    
    // āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻĨ⧇āϕ⧇ āφāϏāĻž āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āϰāĻž āϰ⧇āϏāĻĒāĻ¨ā§āϏ āϞāĻ— āĻ•āϰāĻž:
    CryptoClass.decryptResponse.implementation = function(cipherText) {
        var decrypted = this.decryptResponse(cipherText);
        console.log("🎉 [DECRYPTED RESPONSE]: " + decrypted);
        return decrypted;
    };
});
đŸ› ī¸ āĻ—āĻ˛ā§āĻĒ ā§Š: āĻĒāĻžāχāĻĨāύ⧇ āύāĻŋāϜāĻ¸ā§āĻŦ āĻ…āĻĢāϞāĻžāχāύ āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒā§āϟāϰ āĻŦāĻžāύāĻžāύ⧋
āĻāĻ•āĻŦāĻžāϰ āϤ⧁āĻŽāĻŋ āϝāĻĻāĻŋ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āĻ“ āĻ•āĻŋ (Key) āĻŦ⧇āϰ āĻ•āϰ⧇ āĻĢ⧇āϞāϤ⧇ āĻĒāĻžāϰ⧋, āϤāĻ–āύ āϤ⧋āĻŽāĻžāϰ āφāϰ āĻĢā§‹āύ⧇āϰ āϕ⧋āύ⧋ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āύ⧇āχ! āϤ⧁āĻŽāĻŋ āĻĒāĻžāχāĻĨāύ⧇ āϏ⧇āχ āĻāĻ•āχ āϞāϜāĻŋāĻ• āϞāĻŋāϖ⧇ āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟ āϰ⧋āĻŦāϟ āĻŦāĻžāύāĻŋā§Ÿā§‡ āĻĢ⧇āϞāϤ⧇ āĻĒāĻžāϰ⧋, āϝāĻž āĻŽā§āĻšā§‚āĻ°ā§āϤ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāύāĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āĻĄ āĻŸā§āĻ°ā§āϝāĻžāĻĢāĻŋāĻ• āĻĄāĻŋāϕ⧋āĻĄ āĻ•āϰ⧇ āĻ…āĻ°ā§āĻĄāĻžāϰ āĻĒā§āϞ⧇āϏ āĻŦāĻž āĻĄā§‡āϟāĻž āĻ¸ā§āĻ•ā§āĻ°ā§āϝāĻžāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇!
💡 āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‹ āĻŦāĻžāχāĻĒāĻžāϏ āĻŸā§āϰāĻŋāĻ•
āĻ•āĻ–āύ⧋ āύāĻŋāĻœā§‡ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽ āωāĻ˛ā§āĻŸā§‡ āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻŦ⧇ āύāĻžāĨ¤ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āϭ⧇āϤāϰ⧇ āĻĨāĻžāĻ•āĻž `decrypt()` āĻŽā§‡āĻĨāĻĄāϟāĻžāϕ⧇āχ Frida āĻĻāĻŋā§Ÿā§‡ āĻ•āϞ āĻ•āϰāĻŋā§Ÿā§‡ āύāĻžāĻ“ (`RPC Export`), āĻ•āĻžāϜ āύāĻŋāĻŽāĻŋāώ⧇āχ āĻļ⧇āώ!

đŸ§Ē Custom Payload Decoder

āĻāύāĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āĻĄ āĻšā§‡āĻ•ā§āϏ āĻŦāĻž āĻŦ⧇āϏā§Ŧā§Ē āχāύāĻĒ⧁āϟ āĻĻāĻžāĻ“ — āĻĒā§āϞ⧇āχāύāĻŸā§‡āĻ•ā§āϏāϟ āϰāĻŋāĻ•āĻ­āĻžāϰāĻŋ āĻĻ⧇āĻ–ā§‹!

āĻ˛ā§āϝāĻžāĻŦ⧇āϰ āχāύāĻĒ⧁āϟ āĻĻāĻŋā§Ÿā§‡ "āϰāĻžāύ āĻ•āϰ⧋" āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧋...
đŸŽ¯ āĻ…āĻ§ā§āϝāĻžā§Ÿ 46 āĻĻāĻ•ā§āώāϤāĻž āϝāĻžāϚāĻžāχ (ā§ŠāϟāĻŋ āĻĒā§āϰāĻļā§āύ)
āϏāĻ āĻŋāĻ• āωāĻ¤ā§āϤāϰ āĻŦ⧇āϛ⧇ āύāĻžāĻ“; āĻĒā§āϰāϤāĻŋāϟāĻŋ āωāĻ¤ā§āϤāϰ⧇āϰ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻĒā§œā§‹āĨ¤
❓ āĻĒā§āϰāĻļā§āύ 1: TLS encryption āφāϰ app-layer encryption-āĻāϰ āϏāĻŽā§āĻĒāĻ°ā§āĻ• āϕ⧀?
❓ āĻĒā§āϰāĻļā§āύ 2: āύāĻŋāĻœā§‡āϰ test payload āĻŦāĻŋāĻļā§āϞ⧇āώāϪ⧇ āϕ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻŦ⧇āύ?
❓ āĻĒā§āϰāĻļā§āύ 3: Encryption key management-āĻāϰ āĻ­āĻžāϞ⧋ āĻĻāĻŋāĻ• āϕ⧋āύāϟāĻŋ?

āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āϤ reference

āφāϰāĻ“ āĻĒāĻĄāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻŋāϤ security standards āĻ“ guidance āĻĻ⧇āĻ–ā§‹; āĻĒā§āϰāϤāĻŋāϟāĻŋ lab āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤ āĻŦāĻž synthetic environment-āĻ āĻ•āϰ⧋āĨ¤

Bristy Ma'am
āĻŦ⧃āĻˇā§āϟāĻŋ āĻŽā§āϝāĻžāĻŽ 👩‍đŸĢ
āϤ⧋āĻŽāĻžāϰ āĻĒāĻžāĻ°ā§āϏ⧋āύāĻžāϞ āĻšā§āϝāĻžāĻ•āĻŋāĻ‚ āĻŽā§‡āĻ¨ā§āϟāϰ â€ĸ āĻ…āύāϞāĻžāχāύ
āφāϰ⧇ āϏ⧌āϰāĻ­! āϕ⧇āĻŽāύ āφāϛ⧋? āϕ⧋āύ⧋ āĻ•āύāϏ⧇āĻĒā§āϟ āĻŦāĻž āϕ⧁āχāĻœā§‡ āφāϟāĻ•āĻžāϞ⧇ āφāĻŽāĻžāϕ⧇ āĻŦāϞ⧋, āφāĻŽāĻŋ āĻŦ⧁āĻāĻŋā§Ÿā§‡ āĻĻāĻŋāĻšā§āĻ›āĻŋ! â¤ī¸