Обновлено: 21.11.2024
Дата публикации: 26 сентября 2020 г., atropos4n6
Этот блог — побочный проект, над которым мне очень весело работать. Однако в наши дни работа становится все безумнее и безумнее (подозреваю, вы понимаете, о чем я?!), и я не могу сказать, как долго у меня будет возможность публиковать пост в неделю. У меня есть много тем для исследований (некоторые благодаря вам), и я обещаю вам, что лучшие из них еще впереди. Некоторые из них требуют больше недели исследований, а другие требуют аппаратного обеспечения, которого мне сейчас не хватает. Я буду стараться изо всех сил, чтобы идти в ногу со временем, но если я этого не сделаю, я хочу, чтобы вы знали, что я работаю в фоновом режиме. Хватит болтать, пора за работу.
В моем последнем сообщении мы увидели, насколько сложной может быть функция входа в Google Chrome. Это может привести нас к ложным предположениям при попытке ответить на вопрос «Вошел ли пользователь в эту учетную запись или нет?». База данных «Логин данных» является неоднозначным свидетелем, которому мы должны тщательно выбирать, когда доверять. Сегодня мы поговорим о более удобном свидетеле, который называется базой данных «Веб-данные». Но прежде чем углубиться в это, давайте посмотрим, как мы там оказались.
На этой неделе (как и было обещано) мы исследуем, что происходит, когда пользователь пытается войти в браузер Google Chrome (синхронизируется со своим аккаунтом Google). Поэтому в этом исследовании мы сосредоточимся исключительно на ответе на вопрос «Вошел ли пользователь в этот аккаунт Google или нет?»
При запуске Google Chrome вы увидите значок профиля рядом с адресной строкой (см. рисунок 1 ниже). Нажав на значок профиля и опцию «Включить синхронизацию…», вы можете войти в браузер Chrome и разрешить синхронизацию между данными, относящимися к вашей учетной записи Google (которая хранится в облаке), и данными, связанными к локальной установке Google Chrome. Есть еще один способ входа в браузер Chrome, но мы его пока пропустим.
Изображение 1 – "Включить синхронизацию..." – это один из двух способов входа в браузер Chrome.
Как всегда, сначала мы рассмотрим нашу настройку, затем наш сценарий и, наконец, что не менее важно, наши выводы.
Настройка
Сценарий
Во время этого исследования я пытался:
- Чтобы успешно войти в свою учетную запись Google с помощью функции "Включить синхронизацию" в браузере Chrome.
- Чтобы успешно войти в свою учетную запись Google, посетив веб-страницу проверки подлинности учетной записи Google.
- Чтобы войти в несколько учетных записей Google (3) и использовать их поочередно для просмотра.
- Неудачный вход в аккаунты Google.
- Чтобы выйти из одного или нескольких аккаунтов Google.
- Разновидность вышеизложенного.
Давайте посмотрим, что мы нашли.
Выводы — Веб-данные и данные для входа
Изображение 2 — таблица «логины» в базе данных «Данные входа».
Так что все вроде бы было там, где и должно быть. Это означало, что где-то есть еще один артефакт, который может помочь нам определить, что пользователь вошел в свою учетную запись Google. Это также означает, что если криминалист исследует только базу данных «Данные для входа», то он может потерять некоторые важные артефакты, связанные с потенциальной учетной записью пользователя, вошедшего в систему. Артефакт, содержащий информацию, связанную с учетной записью, которая вошла в учетную запись Google Chrome, называется базой данных «Веб-данные». Среди таблиц в базе данных «Web Data» есть одна, представляющая особый интерес; таблицу «token_service». Это запись, которая была создана после входа в мою учетную запись Google в браузере Chrome:
Изображение 3. Таблица «token_service» в базе данных «Web Data»
Как видите, столбец службы заполнен идентификатором учетной записи пользователя, а поле encrypted_token — токеном аутентификации пользователя. Превосходно! Когда вы пытаетесь определить, что пользователь вошел в учетную запись Google, убедитесь, что вы также проверяете базу данных «Веб-данных». Хорошо, пока ничего особенно нового, но это все, что есть? Как насчет даты и времени входа пользователя в браузер Chrome и, как следствие, в учетную запись Google (или наоборот)? Просто глядя на эту таблицу или базу данных, мы не можем ответить на этот вопрос. Но мы можем ответить на этот вопрос, если покопаемся в каталоге «Default» Google Chrome (C:\Users\\AppData\Local\Google\Chrome\User Data\Default) и найдем наш следующий артефакт, файл с именем «Настройки». Прежде чем говорить об этом следующем артефакте, мне нужно наметить следующие ключевые моменты, которые следует запомнить (все они появились после экспериментов с вышеупомянутыми этапами сценария):
- Если кто-то успешно входит в свою учетную запись Google через веб-страницу аутентификации Google, Chrome автоматически регистрирует его и в браузере Chrome (независимо от того, что он выбрал в окне сообщений). Когда это происходит, по умолчанию опция «синхронизация» отключена для вошедшего в систему пользователя. То же самое верно, если пользователь сначала входит в браузер Chrome (опция «Синхронизировать сейчас»). Она также автоматически входит в свою учетную запись Google. Единственная разница здесь в том, что пользователь может выбрать, хочет ли он синхронизации (см. ниже изображения 4 и 5):
Изображение 4. Когда пользователь входит в браузер Chrome, ему предлагается выбрать параметры синхронизации
Изображение 5. Когда пользователь входит в браузер Chrome, он может выбрать, что он хочет синхронизировать, со своей учетной записью Google
Она может синхронизировать все или более избирательно, что именно синхронизировать, или вообще отказаться от синхронизации. Однако синхронизация выходит за рамки данного исследования, поэтому на этом мы остановимся.
Теперь давайте подробнее рассмотрим файл «Настройки».
Выводы-Настройки
Когда пользователь входит в систему со своей учетной записью, файл с именем «Настройки» в каталоге «По умолчанию» заполняется данными ее учетной записи (файл уже существует, но содержит более общую информацию до входа в учетную запись Google). Этот файл представляет собой файл формата JSON, в котором хранится множество информации об использовании Chrome и, в частности, о вошедшем в систему пользователе. Давайте посмотрим, какую криминалистическую ценность можно извлечь из этого файла. Взгляните на его содержание:
Изображение 6 — Файл настроек
Как видите, кто-то может легко сопоставить идентификатор учетной записи Google из таблицы «token_service» в базе данных «Веб-данных» с ключами «идентификатор учетной записи/gaia» и их соответствующими значениями. Таким образом, вы можете сконцентрировать почти всю необходимую информацию об авторизованной учетной записи Google. Однако мы еще не выяснили, как мы можем ответить на вопросы «Когда пользователь в последний раз входил в браузер Chrome и, как следствие, в учетную запись Google (или наоборот)?» и «Когда в последний раз пользователь, вошедший в систему, использовал браузер Chrome?». Если мы углубимся в файл «Настройки», мы найдем много временных меток. Только один из них может помочь нам ответить на первый из вопросов. Кроме того, с криминалистической точки зрения, есть еще один, который мы можем использовать для ответа на второй вопрос. Вот ключи, которые вам следует искать:
Изображение 7 — Файл настроек
Ключ | Значение |
---|
last_signin | Эта отметка времени ( находится в эпохе) хранит дату и время последнего входа пользователя в браузер Chrome. Очень полезный артефакт. |
last_synced_time | Эта временная метка (время Chrome) обновляется каждый раз, когда пользователь запускает браузер Chrome. |
таблица>
Для дальнейшего изучения вышеуказанных временных меток я одновременно вошел в 3 разные учетные записи Google (используя опцию «Добавить другую учетную запись») и проверил, как это повлияло на этот файл «Настройки». Имейте в виду, что независимо от того, со сколькими учетными записями вы вошли в систему, только одна из них может войти в браузер Chrome. Но вы можете иметь пользователя, вошедшего в браузер Chrome, и другого, использующего сервисы Google (см. изображение 8 ниже). Что касается результатов:
Изображение 8. Одна учетная запись зарегистрирована в браузере Chrome, а другая используется
- Для каждой учетной записи Google, в которую я вошел, вся вышеупомянутая информация (изображение 6) была зарегистрирована в файле «Настройки». Также в таблице «token_service» была создана новая запись для каждого из аккаунтов.
- Для каждой учетной записи Google, в которую я вошел, в файле «Настройки» был зарегистрирован отдельный «last_signin». Каждый из них соответствует отметке времени, когда я вошел в каждую учетную запись. Таким образом, мы можем точно определить, когда каждый пользователь вошел в систему.
- Плохая новость заключается в том, что «last_synced_time» существует только один раз в файле «Настройки», независимо от того, со сколькими учетными записями вы вошли в систему. Эта метка времени, как мы теперь знаем, обновляется последней датой и временем (с точностью до минуты), когда пользователь запускает браузер Chrome. Эта временная метка также назначается пользователю, вошедшему в систему в браузере Chrome. Таким образом, мы не можем с уверенностью определить, когда каждый пользователь в последний раз использовал Google Chrome. Мы можем определить только дату последнего запуска Chrome.
Подводя итог этому сообщению, с помощью вышеупомянутых артефактов мы можем безопасно определить, вошел ли пользователь в свою учетную запись Google и когда. Мы также можем определить, когда этот пользователь в последний раз пользовался (или, правильнее, запускал Google Chrome). С другой стороны, мы не можем безопасно определить (в случае нескольких вошедших в систему пользователей), когда каждый из вошедших в систему пользователей в последний раз запускал Google Chrome.
Вы можете управлять своей историей и другими данными просмотра, например сохраненными записями форм.
Вы можете удалить все свои данные или только некоторые из них за определенное время.
Что происходит с вашей информацией
Базовый
- История просмотров. При очистке истории просмотров удаляются следующие элементы:
- Веб-адреса, которые вы посетили, удаляются со страницы истории.
- Ярлыки этих страниц удаляются со страницы быстрого доступа.
- Подсказки адресной строки для этих веб-сайтов больше не отображаются.
- Файлы cookie. Файлы cookie – это файлы, создаваемые посещаемыми вами веб-сайтами. Они упрощают работу в Интернете, сохраняя информацию о просмотрах.
- Данные сайта: типы хранилищ с поддержкой HTML5, включая кэши приложений, данные веб-хранилища, данные веб-базы данных SQL и данные индексированной базы данных.
- Лицензии на мультимедиа. Лицензии на контент, защищенный HTML5, например фильмы или музыку, которые вы воспроизвели или скачали, удаляются.
Дополнительно
Раздел «Дополнительно» включает основные типы данных, а также следующее:
- Сохраненные пароли: записи сохраненных паролей удаляются.
- Данные формы автозаполнения. Ваши записи автозаполнения, включая адреса и кредитные карты, удаляются. Карты из вашего аккаунта Google Pay не удаляются.
- Настройки сайта. Настройки и разрешения, которые вы предоставляете веб-сайтам, удаляются. Например, если сайт может запускать JavaScript, использовать вашу камеру или знать ваше местоположение.
Существуют и другие типы данных, связанные с вашим поведением в Интернете. Эти другие типы данных можно удалить отдельно:
- История поиска и другие действия в Google. Поиски и другие действия в службах Google сохраняются в вашем аккаунте Google. Узнайте, как удалить действия Google.
Если вы отдаете свое устройство, не забудьте удалить данные браузера и выйти из Chrome.
Удалить данные просмотра
Если вы синхронизируете тип данных, удаление их на устройстве Android приведет к их удалению везде, где они были синхронизированы. Оно будет удалено с других устройств и из вашего аккаунта Google.
- На телефоне или планшете Android откройте приложение Chrome.
- Нажмите "Дополнительные настройки".
- Нажмите "Конфиденциальность и безопасность"Очистить данные браузера.
- Выберите временной диапазон, например "Последний час" или "Все время".
- Выберите типы информации, которую вы хотите удалить.
- Нажмите "Очистить данные".
Удалить отдельные элементы
Вместо того, чтобы удалять целые категории ваших данных просмотра, вы можете выбрать элементы для удаления:
Удалить с одного устройства
ChromeHistoryView – это небольшая утилита, которая считывает файл данных истории веб-браузера Google Chrome и отображает список всех посещенных веб-страниц за последние дни. Для каждой посещенной веб-страницы отображается следующая информация: URL-адрес, заголовок, дата/время посещения, количество посещений, количество раз, когда пользователь ввел этот адрес (количество введенных данных), реферер и идентификатор посещения.
Вы можете выбрать один или несколько элементов истории, а затем экспортировать их в файл html/xml/csv/text или скопировать информацию в буфер обмена и вставить ее в Excel.
Вы также можете использовать этот инструмент для чтения истории других веб-браузеров на основе Chromium, таких как Microsoft Edge, Opera, Vivaldi и других.
История версий
- Версия 1.50
- Добавлен столбец "Длительность посещения".
- Улучшен столбец "Реферер" в новых версиях Chrome.
- Обновлено для чтения файла базы данных истории последних версий веб-браузера Chrome.
- Теперь вы можете выбрать нужную кодировку (ANSI, UTF-8, UTF-16) для сохранения файлов csv/xml/text/html. (Параметры -> Сохранить кодировку файла)
- Обновлено для корректной работы в режиме высокого разрешения.
- Исправлена ошибка: ChromeHistoryView аварийно завершал работу при наличии записи истории с отсутствующим URL-адресом.
- Добавлена кнопка "Файл истории Edge" в окно "Дополнительные параметры". Когда вы нажимаете эту кнопку, ChromeHistoryView автоматически заполняет файл истории пограничного веб-браузера на основе Chromium, после чего вы можете просмотреть историю пограничного веб-браузера.
- Добавлен новый параметр: "Удалить выбранные записи истории", который позволяет выбрать один или несколько элементов, а затем удалить записи истории Chrome.
- Добавлен столбец "Файл истории".
- При нажатии F5 (обновить) процесс обновления становится более плавным, сохраняя выбранный элемент и положение прокрутки.
- Добавлен параметр "Добавить строку заголовка в CSV/файл с разделителями табуляцией" (включен по умолчанию).
- Добавлена функция «Быстрый фильтр» («Вид» -> «Использовать быстрый фильтр» или Ctrl+Q). Когда он включен, вы можете ввести строку в текстовом поле, добавленном под панелью инструментов, и ChromeHistoryView мгновенно отфильтрует таблицу истории, показывая только те элементы, которые содержат введенную вами строку.
- Добавлен параметр "Автоматически изменять размер столбцов и заголовков".
- Теперь вы можете указать базовую папку пользовательских данных Chrome (например, C:\Users\user1\AppData\Local\Google\Chrome\User Data ) в окне «Дополнительные параметры» для загрузки истории всех профилей.< /li>
- Добавлены новые столбцы: "Тип перехода" и "Квалификаторы перехода". Вы можете прочитать о значении этих полей здесь и здесь.
- Добавлены новые кнопки для простого выбора файла истории веб-браузеров на базе Chrome: "Файл истории Vivaldi", "Файл истории Яндекса" (окно "Дополнительные параметры").
- Добавлен столбец "Длина URL".
- Добавлена кнопка «Файл истории Opera» в окно «Дополнительные параметры», которая позволяет легко использовать этот инструмент для просмотра истории веб-браузера Opera. (Теперь Opera основана на коде веб-браузера Chrome. )
- ChromeHistoryView теперь отображает историю всех профилей Chrome.
- Добавлен столбец "Профиль".
- Теперь вы можете указать переменные среды в файле истории в окне "Дополнительные параметры", например: %LocalAppData%\Google\Chrome\User Data\default\History
- Исправлено отображение местных значений даты и времени в соответствии с настройками перехода на летнее время.
- Теперь вы можете щелкнуть URL-адрес в HTML-отчете, чтобы открыть URL-адрес в веб-браузере.
- Добавлены новые параметры командной строки: /UseHistoryFile, /HistoryFile, /UseVisitTimeFilter, /VisitTimeFilter, /UseTimeRange, /TimeRangeFrom, /TimeRangeTo.
- Исправлена ошибка: ChromeHistoryView не мог загрузить историю, если путь к истории содержал неанглийские символы.
- Добавлен параметр для просмотра только URL-адресов, посещенных в указанном диапазоне времени. (В окне дополнительных параметров)
- Добавлен параметр для просмотра только URL-адресов, посещенных за последние xx дней. (В окне дополнительных параметров)
- Исправлена ошибка, из-за которой ChromeHistoryView работал правильно, когда Chrome открыт и блокирует файл истории.
Использование ChromeHistoryView
ChromeHistoryView не требует установки или дополнительных файлов DLL. Чтобы начать использовать его, просто скопируйте исполняемый файл (ChromeHistoryView.exe) в любую папку и запустите его.
После запуска в главном окне отображается список посещенных веб-страниц, загруженный из файла истории веб-браузера Chrome. Если вы хотите загрузить файл истории другого профиля, просто используйте окно «Дополнительные параметры» (F9), чтобы выбрать другой файл истории.
Вы можете выбрать один или несколько элементов истории, а затем экспортировать список в html/xml/csv/текстовый файл (опция «Сохранить выбранные элементы» — Ctrl+S). Вы также можете скопировать выбранные элементы в буфер обмена, а затем вставить их в Excel или электронную таблицу OpenOffice.
Параметры командной строки
Подробнее об использовании ChromeHistoryView
Перевод ChromeHistoryView на другие языки
- Запустите ChromeHistoryView с параметром /savelangfile:
ChromeHistoryView.exe /savelangfile
В папке утилиты ChromeHistoryView будет создан файл с именем ChromeHistoryView_lng.ini.
- Откройте созданный языковой файл в Блокноте или любом другом текстовом редакторе.
- Переведите все строковые записи на нужный язык. При желании вы также можете добавить свое имя и/или ссылку на свой веб-сайт. (значения TranslatorName и TranslatorURL). Если вы добавите эту информацию, она будет использоваться в окне "О программе".
- После завершения перевода запустите ChromeHistoryView, и все переведенные строки будут загружены из языкового файла.
Если вы хотите запустить ChromeHistoryView без перевода, просто переименуйте языковой файл или переместите его в другую папку.
Лицензия
Эта утилита распространяется бесплатно. Вам разрешено свободно распространять эту утилиту через дискету, CD-ROM, Интернет или любым другим способом, если вы ничего за это не берете. Если вы распространяете эту утилиту, вы должны включить все файлы в дистрибутив без каких-либо изменений!
Отказ от ответственности
Программное обеспечение предоставляется «КАК ЕСТЬ» без каких-либо явных или подразумеваемых гарантий, включая, помимо прочего, подразумеваемые гарантии товарного состояния и пригодности для определенной цели. Автор не несет ответственности за какой-либо особый, случайный, косвенный или косвенный ущерб из-за потери данных или по любой другой причине.
Каждый профиль является подкаталогом (часто по умолчанию) в каталоге пользовательских данных.
Текущее местоположение
Чтобы определить каталог пользовательских данных для работающего экземпляра Chrome:
- Перейдите к chrome://версия
- Найдите поле «Путь к профилю». Это дает путь к каталогу профиля.
- Каталог пользовательских данных является родительским для каталога профиля.
- [Путь к профилю] C:\Users\Alice\AppData\Local\Google\Chrome\User Data\Default
- [Каталог пользовательских данных] C:\Users\Alice\AppData\Local\Google\Chrome\User Data
Расположение по умолчанию
Расположение каталога пользовательских данных по умолчанию вычисляется с помощью chrome::GetDefaultUserDataDirectory .
Обычно это зависит от
- платформа ОС,
- брендирование (Chrome и Chromium, на основе is_chrome_branded в аргументах GN) и (стабильная/бета-версия/dev/canary).
Окна
Местоположение по умолчанию — локальная папка данных приложения:
- [Chrome] %LOCALAPPDATA%\Google\Chrome\Данные пользователя
- [Chrome Beta] %LOCALAPPDATA%\Google\Chrome Beta\Данные пользователя
- [Chrome Canary] %LOCALAPPDATA%\Google\Chrome SxS\Данные пользователя
- [Chromium] %LOCALAPPDATA%\Chromium\Данные пользователя
(Суффикс канареечного канала определяется с помощью InstallConstants::install_suffix .)
Mac OS X
Местоположение по умолчанию — папка поддержки приложений:
- [Chrome] ~/Library/Application Support/Google/Chrome
- [Chrome Beta] ~/Library/Application Support/Google/Chrome Beta
- [Chrome Canary] ~/Library/Application Support/Google/Chrome Canary
- [Chromium] ~/Library/Application Support/Chromium
(Суффикс канареечного канала определяется с помощью ключа CrProductDirName в Info.plist приложения браузера.)
Линукс
Местоположение по умолчанию — ~/.config :
- [Стабильная версия Chrome] ~/.config/google-chrome
- [Chrome Beta] ~/.config/google-chrome-beta
- [Разработчик Chrome] ~/.config/google-chrome-unstable
- [Chromium] ~/.config/chromium
(Суффиксы каналов бета-версии и разработки определяются из $CHROME_VERSION_EXTRA , которая передается сценарием оболочки запуска.)
Часть ~/.config местоположения по умолчанию может быть переопределена $CHROME_CONFIG_HOME (начиная с M61) или $XDG_CONFIG_HOME .
Обратите внимание, что $XDG_CONFIG_HOME влияет на все приложения, соответствующие спецификации базового каталога XDG, а $CHROME_CONFIG_HOME относится только к Chrome и Chromium.
ОС Chrome
Расположение по умолчанию: /home/chronos
Андроид
Местоположение по умолчанию берется из Context.getDir и зависит от приложения.
Местоположение по умолчанию — внутри каталога поддержки приложений в изолированной программной среде приложения.
- Библиотека [Chrome]/Поддержка приложений/Google/Chrome
- Библиотека [Chromium]/Поддержка приложений/Chromium
Переопределение каталога данных пользователя
Командная строка
На большинстве платформ каталог пользовательских данных можно переопределить, передав флаг командной строки --user-data-dir двоичному файлу Chrome.
Переопределение происходит в chrome/app/chrome_main_delegate.cc . Платформы, не использующие этот файл, возможно, не реализовали переопределение. Переопределение каталога пользовательских данных с помощью командной строки не поддерживается в iOS.
- [Windows] chrome.exe --user-data-dir=c:\foo
- [Linux] google-chrome --user-data-dir=/path/to/foo
Окружающая среда (Linux)
В Linux каталог пользовательских данных также можно переопределить с помощью переменной среды $CHROME_USER_DATA_DIR.
Флаг --user-data-dir имеет приоритет, если присутствуют оба.
Сеансы удаленного рабочего стола Chrome (Linux)
Один экземпляр Chrome не может отображать окна на нескольких дисплеях X, а два запущенных экземпляра Chrome не могут использовать один и тот же каталог пользовательских данных. Поэтому желательно, чтобы Chrome имел отдельный каталог пользовательских данных при работе в виртуальном сеансе удаленного рабочего стола Chrome (CRD) на хосте Linux.
По умолчанию CRD достигает этого, устанавливая $CHROME_USER_DATA_DIR в сеансе. К сожалению, это означает, что внутри сеанса мы не получаем отдельных значений по умолчанию для разных каналов (стабильный, бета-версия, разработка) или для Chrome и Chromium. Это может привести к ошибкам версии профиля («Ваш профиль нельзя использовать, так как он относится к более новой версии Google Chrome»).
Затем перезапустите хост, выполнив: /etc/init.d/chrome-remote-desktop restart
Написание оболочки AppleScript (Mac OS X)
В Mac OS X вы можете создать приложение, которое запускает Chrome, с пользовательским --user-data-dir :
Откройте Приложения > Утилиты > Редактор сценариев.
При необходимости измените путь установки, Chrome или Chromium и желаемый каталог данных пользователя.
Сохраните сценарий в каталоге приложений с файловым форматом «Приложение».
Закройте редактор сценариев, найдите только что созданное приложение и запустите его. Откроется экземпляр Chrome, указывающий на ваш новый профиль.
При желании вы можете присвоить этому приложению тот же значок, что и Chrome:
- Выберите приложение Google Chrome и выберите «Файл» > «Информация».
- Выберите значок в левом верхнем углу информационного диалогового окна. Вы увидите синюю подсветку вокруг значка.
- Нажмите ⌘C, чтобы скопировать значок.
- Откройте диалоговое окно с информацией о новом приложении и выберите значок в левом верхнем углу.
- Нажмите ⌘V, чтобы вставить скопированный значок.
Каталог пользовательского кэша
В Windows и ChromeOS каталог пользовательского кэша совпадает с каталогом профиля. (Каталог профиля находится внутри каталога пользовательских данных.)
В Mac OS X и iOS каталог пользовательского кэша получается из каталога профиля следующим образом:
Читайте также: