Domanda:
Determina l'algoritmo di crittografia
omghai2u
2013-03-31 08:12:12 UTC
view on stackexchange narkive permalink

Sto analizzando un software che sembra crittografare le sue comunicazioni sulla rete, ma non sembra essere SSL. Come posso determinare facilmente quale algoritmo di crittografia sta utilizzando e magari trovare la chiave?

Giusto per chiarire. Vuoi identificare l'algoritmo di crittografia in base al codice assembly dell'algoritmo di crittografia o in base solo ai pacchetti crittografati?
@perror Ho accesso ai binari e al relativo traffico di rete. Quindi quale mai è più facile. L'utilizzo dei plugin IDA suggerito ha risolto il mio problema immediato, ma esiste un modo più semplice, per riferimento futuro, per farlo basandosi esclusivamente sul traffico di rete? Avrei supposto che, poiché il traffico non aveva intestazioni o informazioni identificabili, non sarebbe stato possibile.
Quattro risposte:
#1
+13
mrduclaw
2013-03-31 08:14:20 UTC
view on stackexchange narkive permalink

Forse dai un'occhiata a questo plugin IDA.

Dopo aver individuato le funzioni crittografiche, fare un riferimento incrociato in IDA dovrebbe consentire di vedere dove vengono chiamate le funzioni e probabilmente la chiave è nelle vicinanze. Se puoi impostare un punto di interruzione su queste funzioni e vedere cosa viene passato per la chiave, questo, ovviamente, sarebbe il modo più semplice.

In questo c'è una versione aggiornata, FindCrypt2 http://www.hexblog.com/?p=28
#2
+9
0xea
2013-03-31 15:26:36 UTC
view on stackexchange narkive permalink

Per un modo un po 'più avanzato di identificazione crittografica automatica, vedere il lavoro di Felix Gröbert su Identificazione automatica delle primitive crittografiche nel software. Usa un pintool per strumentare dinamicamente il codice che può consentire anche di recuperare le chiavi. Il codice è anche disponibile. Il repository contiene altri strumenti usati in confronto, come i plugin PeID e OllyDBG.

#3
+7
amccormack
2013-03-31 08:39:35 UTC
view on stackexchange narkive permalink

Non l'ho usato ma esiste uno strumento open source chiamato Aligot che può aiutare quando gli algoritmi di crittografia sono stati offuscati. Secondo i suoi autori, Aligot può identificare TEA, MD5, RC4 e AES.

Aligot ha un'importante dichiarazione di non responsabilità:

Aligot è stato costruito come una prova di concetto per illustrare i principi descritti nel documento associato. In particolare, attualmente non è adatto per analizzare automaticamente programmi di grandi dimensioni. Se sei interessato a questo progetto, contatta l'autore;)

Nonostante il disclaimer, i risultati indicati nel documento suggeriscono che vale la pena esaminare Aligot.

#4
+5
alexanderh
2013-04-02 21:49:52 UTC
view on stackexchange narkive permalink

Una bella combinazione di findcrypt2 di HexRays e il lavoro svolto da Felix Gröbert è IDAScope. È molto utile per cercare e identificare gli algoritmi di crittografia. Per ulteriori informazioni sull'identificazione crittografica di IDAScope, consiglio il seguente link.

Come migliora su findcrypt2 e HexRays? Cosa lo rende migliore, più veloce, ecc.?


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...