O código fornecido por Giulio não é útil, aqui está um script Python que realmente funciona. Requer PyCrypto (python-crypto). Presume que a chave secreta do Plesk esteja armazenada em /etc/psa/private/secret_key
. Basta executá-lo e passar senhas criptografadas como argumentos:
./deplesk.py '$AES-128-CBC$T82uDt6NSdytfhjQaOIKGg==$CMJ6FIdAD8zJ0PgwQ3DosA=='
Script:
#!/usr/bin/env python
import sys
import base64
from Crypto.Cipher import AES
key = open('/etc/psa/private/secret_key', 'rb').read()
for pw in sys.argv[1:]:
lead, typ, iv, ct = pw.split('$')
iv = base64.b64decode(iv)
ct = base64.b64decode(ct)
assert typ == 'AES-128-CBC'
plain = AES.new(key, mode=AES.MODE_CBC, IV=iv).decrypt(ct).rstrip(b'./deplesk.py '$AES-128-CBC$T82uDt6NSdytfhjQaOIKGg==$CMJ6FIdAD8zJ0PgwQ3DosA=='
')
print(plain.decode('utf8'))