hacktricks/reversing/cryptographic-algorithms
2023-06-03 13:10:46 +00:00
..
README.md Translated to French 2023-06-03 13:10:46 +00:00
unpacking-binaries.md Translated to French 2023-06-03 13:10:46 +00:00

Algorithmes Cryptographiques/De Compression

Algorithmes Cryptographiques/De Compression

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Identification des Algorithmes

Si vous tombez sur un code utilisant des décalages à droite et à gauche, des XOR et plusieurs opérations arithmétiques, il est très probable qu'il s'agisse de la mise en œuvre d'un algorithme cryptographique. Voici quelques façons d'identifier l'algorithme utilisé sans avoir besoin de renverser chaque étape.

Fonctions API

CryptDeriveKey

Si cette fonction est utilisée, vous pouvez trouver quel algorithme est utilisé en vérifiant la valeur du deuxième paramètre :

Consultez ici le tableau des algorithmes possibles et de leurs valeurs attribuées : https://docs.microsoft.com/en-us/windows/win32/seccrypto/alg-id

RtlCompressBuffer/RtlDecompressBuffer

Compresse et décompresse un tampon de données donné.

CryptAcquireContext

La fonction CryptAcquireContext est utilisée pour acquérir une poignée sur un conteneur de clé particulier dans un fournisseur de services cryptographiques (CSP) particulier. Cette poignée retournée est utilisée dans les appels aux fonctions CryptoAPI qui utilisent le CSP sélectionné.

CryptCreateHash

Initie le hachage d'un flux de données. Si cette fonction est utilisée, vous pouvez trouver quel algorithme est utilisé en vérifiant la valeur du deuxième paramètre :

Consultez ici le tableau des algorithmes possibles et de leurs valeurs attribuées : https://docs.microsoft.com/en-us/windows/win32/seccrypto/alg-id

Constantes de code

Parfois, il est très facile d'identifier un algorithme grâce au fait qu'il doit utiliser une valeur spéciale et unique.

Si vous recherchez la première constante dans Google, voici ce que vous obtenez :

Par conséquent, vous pouvez