Post

[WebLogic] 웹로직 콘솔 패스워드 복호화

웹로직 내 암호화된 내용 복호화 방법


암호화된 웹로직 콘솔 패스워드 혹은 DB 패스워드를 다시 복호화 할 수 있다.

boot.properties 파일에 콘솔 패드워드가 암호화 되어있는데, py 파일을 이용하여 복호화 할 수 있다.


복호화하는데 필요한 파일은 다음과 같다.

[desc.py]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import os
import weblogic.security.internal.SerializedSystemIni
import weblogic.security.internal.encryption.ClearOrEncryptedService
def decrypt(domainHomeName, encryptedPwd):
      domainHomeAbsolutePath = os.path.abspath(domainHomeName)
      encryptionService = weblogic.security.internal.SerializedSystemIni.getEncryptionService(domainHomeAbsolutePath)
      ces = weblogic.security.internal.encryption.ClearOrEncryptedService(encryptionService)
      clear = ces.decrypt(encryptedPwd)
      print "Decrypted Password:" + clear
try:
  if len(sys.argv) == 3:
      decrypt(sys.argv[1], sys.argv[2])
  else:
      print "INVALID ARGUMENTS"
      print "Usage: java weblogic.WLST decryptPassword.py <DOMAIN_HOME> <ENCRYPTED_WORD>"
except:
      print "Unexpected error: ", sys.exc_info()[0]
dumpStack()


웹로직 12cR2 버전에서 다음과 같이 명령어를 실행하였다.

1
${WLS_HOME}/oracle_common/common/bin/wlst.sh ~/desc.py ${DOMAIN_HOME} {AES}LKnneBV/b6sxZettMZqj7LjKhPuAQYugp6nGkFSToV4\=

명령어: wlst.sh desc.py 도메인홈경로 암호화된비밀번호


그럼 아래와 같이 암호화된 패스워드의 평문을 확인할 수 있다.

1
2
3
4
5
6
7
Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Decrypted Password:weblogicadm1


This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.