Come creare un attacco DROWN [chiuso]

0

Devo creare un laboratorio di prova per dimostrare come un DROWN ( Decrittografia di RSA con Obsoleta e Debolezza di eNcryption) può essere preformato, qualcuno conosce una guida o dei passaggi su come creare questo attacco?

Ho bisogno di dimostrarlo per i miei onori ma non riesco a trovare nulla su questo. So come testare se un server è vulnerabile, come risolvere il problema ma non riesco a trovare nulla su come effettivamente preformare l'attacco.

Qualcuno può aiutarmi per favore?

    
posta Sheldon 11.10.2016 - 08:45
fonte

1 risposta

2

Come il primo commento ha detto, trovo molto dubbio che non riesci a trovare nulla.

Una descrizione completa dell'implementazione può essere trovata qui: link

Penso che ciò che intendi sia; "Puoi indicarmi un PoC pubblico che posso copiare."

No.

Questo attacco è altamente pericoloso. E anche se è un fantastico progetto scolastico, può essere usato per frodare le banche e rubare informazioni altamente sensibili, quindi ha senso limitare gli strumenti per farlo.

Se vuoi costruire tu stesso l'attacco, esamina l'attacco del canale laterale di oracle di imbottitura di Bleichenbacher.

Qui puoi trovare un'implementazione di questo.

Inoltre il whitepaper menziona questo per aumentare la probabilità di trovare un padding valido:

Efficient padding oracle attacks on cryptographic hardware. In Advances in Cryptology–CRYPTO 2012. Springer, 2012, pp. 608–625.

Quindi, per utilizzare un server SSLv2 come oracolo per mostrare la validità del padding:

This allows an attacker to deduce the validity of RSA ciphertexts in the following manner: 1. The attacker sends a ClientMasterKey mes- sage, which contains an RSA ciphertext c 0 and any sequence of 11 bytes as the clear portion of the master_key , mk clear . The server re- sponds with a ServerVerify message, which contains the challenge encrypted using the server_write_key . 2. The attacker performs an exhaustive search over the possible values of the 5 bytes of the master_key mk secret . He then computes the corresponding server_write_key and checks whether the ServerVerify message decrypts to the challenge . One value should pass this check; let this value be termed mk 0 . Recall that if the RSA plaintext was valid, mk 0 is the unpadded data in the RSA plaintext. Otherwise, mk 0 is a randomly gener- ated sequence of 5 bytes. 3. The attacker re-connects to the server with the same RSA ciphertext c 0 . The server responds with another ServerVerify message that contains the current challenge encrypted using the current server_write_key . If the decrypted RSA cipher- text was valid, the attacker can directly decrypt a correct challenge value from the ServerVerify message by using the master_key mk 0 . Otherwise, if the ServerVerify message does not correctly decrypt to the challenge , the RSA ciphertext was invalid, and the attacker knows the mk 0 value was generated at random.

    
risposta data 11.10.2016 - 14:43
fonte

Leggi altre domande sui tag