Blog
Recuperando credenciais de administrador no Weblogic
Dica para quem esqueceu as credenciais de acesso ao Weblogic.
[root@wls ~]# export USERDOMAIN_HOME=/u01/Oracle/Middleware/Oracle_Home/user_projects/domains/app_domain [root@wls ~]# cd $USERDOMAIN_HOME/servers/AdminServer/security/ [root@wls security]# cat boot.properties # Generated by Configuration Wizard on Mon Jun 27 07:42:49 BRT 2016 username={AES}zoDTpzXJwBoWCPwqbTuoBhQiR8bIneBw1nnumM2XkAU= password={AES}MRuZtj19v4RBzFCb4gX5IM+qItLDVAaP1IC13WvTitA=
Carregue as as variáveis de ambiente do domínio:
[root@wls security]# . $USERDOMAIN_HOME/bin/setDomainEnv.sh
Crie um arquivo chamado recoverpassword.java, por exemplo, contendo o seguinte comando:
[root@wls app_domain]# cat recoverpassword.java public class recoverpassword { public static void main(String[] args) { System.out.println( new weblogic.security.internal.encryption.ClearOrEncryptedService( weblogic.security.internal.SerializedSystemIni.getEncryptionService(args[0] )).decrypt(args[1])); } }
Chame a classe java criada passando a string criptografada do arquivo boot.properties como parâmetro:
[root@wls app_domain]# java -cp $CLASSPATH:. recoverpassword $DOMAIN_HOME {AES}zoDTpzXJwBoWCPwqbTuoBhQiR8bIneBw1nnumM2XkAU= weblogic [root@wls app_domain]# java -cp $CLASSPATH:. recoverpassword $DOMAIN_HOME {AES}MRuZtj19v4RBzFCb4gX5IM+qItLDVAaP1IC13WvTitA= Passw0rd
A saída do comando trará em texto simples o nome de usuário e senha do administrador do Weblogic.
Mesmo que existam vários ambientes com as mesmas credenciais, o retorno do arquivo boot.properties pode conter textos criptografados diferentes, pois ao criptografar e descriptografar o weblogic usa a chave cifrada armazenada no arquivo "security/SerializedSystemIni.dat". Portanto, sendo a chave de cifra diferente, é possível obter um texto criptografado diferente até para a mesma entrada.