Расшифровка пароля Windows EC2 в Python - PullRequest
0 голосов
/ 24 марта 2020

Я хотел бы запустить экземпляр Windows EC2 и программно получить пароль администратора, используя Python. Я знаю, что это можно сделать с помощью CLI, как это, но я бы предпочел расшифровать локально, чтобы избежать отправки моего личного ключа через inte rnet.

aws ec2 get-password-data --instance-id i-0d4d8273cadcae0a0 --priv-launch-key .ssh/elliott2.pem

После прочтения документов Cryptodome я попытался вот так :

import boto3
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP

ec2 = boto3.resource('ec2', 'us-west-2')
i = ec2.Instance('i-028dee2acb533fc59')

encrypted_str = i.password_data()['PasswordData']
with open('mykey.pem') as fp:
  key = RSA.importKey(fp.read())

cipher = PKCS1_OAEP.new(key)
print(cipher.decrypt(enc_str))

Это не с ошибкой:

Traceback (most recent call last):
  File "test.py", line 14, in <module>
    print(cipher.decrypt(encrypted_str))
  File "/Users/elliott/Library/Python/3.8/lib/python/site-packages/Crypto/Cipher/PKCS1_OAEP.py", line 167, in decrypt
    raise ValueError("Ciphertext with incorrect length.")
ValueError: Ciphertext with incorrect length.

Я думаю, cipherkey должно быть точно 256 байт. Но данные пароля длиннее, поэтому я не уверен, что делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...