Sploitus

Exploit for CVE-2024-42461

kitploit Β· 2026-09-05

Exploit Code

MARKDOWN26 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-FEVAR54-CVE-2024-42461
# РСшСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подписСй ECDSA ΠΈ EDDSA

## ОписаниС

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Wycheproof Π±Ρ‹Π»ΠΈ выявлСны ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ подписСй ECDSA ΠΈ EDDSA. ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° этапС дСкодирования подписСй ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π½ΡƒΠ»Π΅Π²Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹, Ρ‡Ρ‚ΠΎ влияСт Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ писСм. Π”Π°Π½Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ `signature.js` Ρ€Π΅ΡˆΠ°Π΅Ρ‚ эти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π·Π° счСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄Π»ΠΈΠ½Ρ‹ подписСй.

## Установка

  1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ: 

root@kitploit:~
         
         git clone https://github.com/tu_usuario/tu_repositorio.git
         

  2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°: cd tu_repositorio
  3. УстановитС зависимости: npm install **ИспользованиС**
  4. Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ elliptic: var elliptic = require('elliptic'); var eddsa = elliptic.eddsa; var ec = new elliptic.ec('secp256k1')
  5. Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ подписи: var ed25519 = new eddsa('ed25519'); var key = ed25519.keyFromPublic('7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa', 'hex');



// VerificaciΓ³n de firma EDDSA var msg = '54657374'; var sig = '7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00'; console.log(key.verify(msg, sig));

// VerificaciΓ³n de firma ECDSA var hash = require('hash.js'); var toArray = elliptic.utils.toArray; var hashMsg = hash.sha256().update(toArray(msg, 'hex')).digest(); var pubKey = ec.keyFromPublic('04b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9', 'hex'); console.log('Valid signature: ' + pubKey.verify(hashMsg, sig));