
Plugin do Burp para descriptografar tráfego criptografado com AES em tempo real
Plugin Burpsuite para descriptografar tráfego criptografado com AES em tempo real
NOTA: Atualmente suporta criptografia/descriptografia AES/CBC/PKCS5Padding && AES/ECB/PKCS5Padding.
$ git clone https://github.com/Ebryx/AES-Killer/
$ cd AES-Killer
$ ./gradlew clean build
AES_Killer-Parameters.java: Digamos que a aplicação esteja impondo criptografia em alguns parâmetros da solicitação e esses parâmetros mudarão a cada vez em relação ao endpoint/solicitação, então tudo que você precisa fazer é o seguinte
- Adicione endpoints adicionando this.endpoints.add("abc"); na função registerExtenderCallbacks
- Adicione parâmetros que serão criptografados em `String[][] parameters`
- Adicione o restante do parâmetro em grant_type ou faça uma entrada em branco
e deixe o código fazer a mágica para você.
AES_Killer_v3.0.java: Esta variante é genérica e pode lidar com qualquer tipo de formato de solicitação, i.e., GET, POST(Form, JSON) com parâmetros alternativos em diferentes endpoints
- Clone o projeto e substitua o BurpExtender.java pelo código AES_Killer_v3.0.java - Modifique os endpoints e parâmetros de cada tipo de solicitação na ordem mostrada abaixo - Atualize os parâmetros SecretKey e IV e outros métodos necessários - Construa o projeto e está pronto para usar
AES_Killer_v4.0.java: Esta variante é para criptografia de múltiplos níveis onde a aplicação está criptografando alguns parâmetros da solicitação com uma chave e posteriormente criptografando todo o corpo da solicitação com outra chave
- Clone o projeto e substitua o BurpExtender.java pelo código AES_Killer_v4.0.java - Modifique os endpoints e parâmetros conforme mostrado abaixo - Atualize as Chaves Secretas e outros métodos necessários - Construa o projeto e adicione o arquivo jar ao seu extensor
NOTA: Estas variantes não funcionarão diretamente para você devido à natureza da sua solicitação, então pode ser necessário um pequeno ajuste.
Baixe o arquivo jar de Release e adicione no burpsuite
Secret KeyInitialize VectorStart AES Killer
Uma vez que iniciamos o AES Killer, ele assume o controle do IHttpListener.processHttpMessage do Burp, que é responsável por lidar com todo o tráfego de saída e entrada, e o AES Killer faz o seguinte
ProcessHttpMessage criptografa a solicitaçãoProcessHttpMessage descriptografa a resposta primeiro antes de mostrá-la para nósEntão, estaremos recebendo apenas a Resposta de Texto Simples e podemos brincar com a solicitação de Texto Simples.
Também podemos criptografar e descriptografar strings manualmente usando o AES Killer. Vamos pegar uma string criptografada da solicitação TYROd49FWJjYBfv02oiUzwRQgxWMWiw4W3oCqvNf8h3bnb7X0bobypFzMt797CYU e descriptografá-la usando o AES Killer. Da mesma forma, podemos realizar a criptografia também.
Baixe o App Demo de aqui