
Чтение локальных куки-файлов Chrome без root и без расшифровки
Этот инструмент выводит cookie Chrome пользователя. Для этого не нужен пароль пользователя или права root. отлично отлично отлично отлично.
Если вы не тот человек, который регулярно получает возможность выполнять код на чужих компьютерах, вам, вероятно, это не интересно.
Для лёгкого #этичного #взлома, направьте вашу сессию meterpreter по адресу https://github.com/rapid7/metasploit-framework/blob/9616a9f79de0b22bfd142f12affd74cecbbd4413/documentation/modules/post/multi/gather/chrome_cookies.md
Читайте полные подробности на https://mango.pdf.zone/stealing-chrome-cookies-without-a-password
Требуется Python 3.6+ для локального запуска, но скомпилированный бинарник работает где угодно.
pip3 install -r requirements.txt
Для локального запуска:
python cookie_crimes.py
Это выведет ваши cookie Chrome в формате JSON для профиля по умолчанию. Они уже в правильном формате для загрузки в расширение Chrome EditThisCookie.
Для компиляции в единый бинарник:
make
Обратите внимание, что созданный бинарник будет для той ОС, на которой вы выполняете make. Здесь нет никакой модной кросскомпиляции. Вам придётся собирать его на той же ОС, на которой вы его запускаете.
По разным причинам запуск Chrome с флагом --headless время от времени позволял читать cookie из обычного ("headful") Chrome, по мере внесения изменений в Chrome. Серьёзно, каждый день происходит так много коммитов, что стало трудно утверждать, что "Chrome не имеет этой функции". Из-за этого метод headless иногда не работает на macOS.
Вместо этого можно запустить:
./cookie_crimes_macos.sh
Формат cookie Chrome хранит домены с точкой в начале (например, .google.com), поэтому для импорта всех cookie в Chrome через расширение EditThisCookie нужно удалить точки в начале. Это можно сделать с помощью следующего корпоративного и совершенно ненужного bash-скрипта:
cat cookies.json | ./format_for_editthiscookie.sh
На macOS удалённая отладка включается путём быстрого завершения и перезапуска Chrome, с подключением удалённой отладки к новому сеансу Chrome с флагом --restore-last-session (точно так же, как при нажатии "восстановить вкладки" в Chrome). Недостатком является то, что окно Chrome выглядит так, будто оно упало примерно на 0,5 секунды (оно и упало, лол) и перезагружает все вкладки. Но, эй, пользователь, вероятно, просто подумает, что Chrome упал и восстановился сам.
Особая благодарность @IAmMandatory за то, что поделился этим трюком <3>
cookie_crimes_macos.sh также загрузит, выполнит и удалит бинарник websocat для выполнения запроса через websocket.
Слушайте, я знаю, что это не Chrome, но выслушайте. Поскольку Edge основан на Chromium, тот же трюк работает. Вот статья в блоге от @wunderwuzzi23 со всеми подробностями.
Если вы хотите извлечь cookie Chrome для профиля, отличного от Default, просто отредактируйте переменную PROFILE в cookie_crimes.py. Здесь используются хитрые трюки с записью в /tmp, чтобы обмануть Chrome и заставить его прочитать cookie за нас.
user-data-dirHeadless Chrome (окно не отображается) может указывать user-data-dir. Этот каталог содержит cookie, историю, настройки и т.д. Создавая новый экземпляр headless Chrome и указывая user-data-dir тот же, что и у жертвы, ваш headless Chrome будет аутентифицироваться как жертва.
Отсюда мы просто используем обычную (но крайне запрещённую и недокументированную) функцию Chrome: протокол удалённой отладки. Именно так инструменты разработчика Chrome общаются с Chrome. После того как ваш headless Chrome (с включённой удалённой отладкой) запущен, этот код просто выполняет команды удалённой отладки для вывода cookie пользователя для всех сайтов в открытом виде.
В этот момент вы можете полностью управлять Chrome, совершая любые действия, доступные пользователю.
пожалуйста, не совершайте с этим преступлений