.. | ||
README.md | ||
unpacking-binaries.md |
Algoritmos Criptográficos/De Compressão
Algoritmos Criptográficos/De Compressão
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de segurança cibernética? Você quer ver sua empresa anunciada no HackTricks? ou você quer ter acesso à última versão do PEASS ou baixar o HackTricks em PDF? Confira os PLANOS DE ASSINATURA!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e para o repositório hacktricks-cloud.
Identificando Algoritmos
Se você encontrar um código usando deslocamentos de bits, XORs e várias operações aritméticas, é altamente possível que seja a implementação de um algoritmo criptográfico. Aqui serão mostradas algumas maneiras de identificar o algoritmo que está sendo usado sem precisar reverter cada etapa.
Funções de API
CryptDeriveKey
Se esta função for usada, você pode descobrir qual algoritmo está sendo usado verificando o valor do segundo parâmetro:
Confira aqui a tabela de algoritmos possíveis e seus valores atribuídos: https://docs.microsoft.com/en-us/windows/win32/seccrypto/alg-id
RtlCompressBuffer/RtlDecompressBuffer
Comprime e descomprime um buffer de dados fornecido.
CryptAcquireContext
A função CryptAcquireContext é usada para adquirir um identificador para um contêiner de chave específico dentro de um provedor de serviços criptográficos (CSP) específico. Este identificador retornado é usado em chamadas para funções CryptoAPI que usam o CSP selecionado.
CryptCreateHash
Inicia o hashing de um fluxo de dados. Se esta função for usada, você pode descobrir qual algoritmo está sendo usado verificando o valor do segundo parâmetro:
Confira aqui a tabela de algoritmos possíveis e seus valores atribuídos: https://docs.microsoft.com/en-us/windows/win32/seccrypto/alg-id
Constantes de Código
Às vezes, é muito fácil identificar um algoritmo graças ao fato de que ele precisa usar um valor especial e único.
Se você pesquisar a primeira constante no Google, é isso que você obtém:
Portanto, você pode assumir que a função descompilada é um calculador sha256