Как расшифровать пароли Plesk на Windows

Plesk использует симметричное шифрование для многих паролей в своей внутренней базе MySQL называющейся “psa”. В Интернете опубликовано несколько скриптов для их расшифровки, но ни одного для Windows. До сегодняшнего дня.

Симметрично зашифрованные пароли можно найти в следующих таблицах базы данных psa:

  • accounts (столбец password)
  • databaseservers (столбец admin_password)
  • dsn (столбец cstring)
  • longtaskparams (запись oldBackupkey – это параметр для backup-encrypt-task (из таблицы longtasks))
  • misc (столбец aps_password)
  • servicenodeconfiguration (столбец value для секции MailGate / password)
  • smb_users (столбец password)

Симметрично зашифрованные пароли выглядят так: “$AES-128-CBC$ABNK35ZcqnbTYT4Q3mbaEA$HmGDWmtym6K3+kJ8uBoJOg”.
Они начинаются с “$AES-128-CBC$”. Далее между вторым и третьим знаком доллара расположен вектор инициализации AES. После него и до конца строки идут собственно зашифрованные данные.

В Linux симметричный ключ, использующийся Plesk’ом для шифрования таких паролей, находится в файле /etc/psa/private/secret_key. В Windows, разработчики положили его в реестр: HKLM:\SOFTWARE\WOW6432Node\PLESK\PSA Config\Config\sym_key\sym_key

Для извлечения зашифрованного пароля из базы данных просто скопируйте его поле из таблицы с помощью любого инструмента для работы с MySQL, который вам нравится.

Note

О том как подключиться к базе “psa” читайте здесь и также вот это.

Скопированный пароль передайте в параметр -EncryptedString скрипта, который расположен ниже. Обратите внимание, что по умолчанию скрипт будет работать только на том же сервере, где установлен Plesk из базы которого вы скопировали пароль. Если вы хотите расшифровывать пароли на отдельной машине, извлеките из реестра симметричный ключ и передайте его в параметр -SymmetricKey.

Дополнительная информация по теме:

https://gist.github.com/gnanet/99f5e284c0f71032498625368ba67659
https://www.besuchet.net/2016/06/plesk-11-encrypted-hashed-password-authentication-php-on-psa-database/
https://mor-pah.net/2014/03/05/decrypt-plesk-11-passwords/
https://codeforcontent.com/blog/using-aes-in-powershell/

Leave a Reply

Your email address will not be published. Required fields are marked *