Поиск артефактов на компьютере в OS Windows

Форензика иконка

Сегодня продолжим заниматься Форензикой (компьютерной криминалистикой). На этот раз поговорим о форензике в Windows. Я расскажу о полезных инструментах, которые помогут вам найти и вытащить данные о работе пользователя в Windows.

Поиск артефактов на компьютере в OS Windows

В самом начале неплохо бы получить некоторую информацию о профиле пользователя. Сделаем мы это с помощью ForensicUserInfo. Утилита извлекает системную информацию о RID, сроке действия учетной записи и смене пароля; LM/NT-хеш; количество входов в системы, даты неудачных попыток; имеющиеся группы и путь к профилю пользователя.

Начнем с самого простого, а именно глянем список пользовательских и системных процессов. Самый быстрый способ — это запустить из CMD встроенную утилиту tasklist:

  • c:\>tasklist — вывод списка всех процессов в текущем окне;
  • c:\>tasklist /svc — вывод списка всех работающих сервисов в системе;
  • c:\>tasklist > c:\processes_list.txt — вывод данных о процессах (сервисах) в текстовый файл с именем processes_list.txt.
Результат выполнения команды tasklist
Результат выполнения команды tasklist
Результат выполнения команды tasklist с опцией сортировки по сервисам
Результат выполнения команды tasklist с опцией сортировки по сервисам

Еще один неплохой вариант — это любой альтернативный Task Manager, к примеру AnVir Task Manager или Process Explorer.

Вкладка «Процессы» в AnVir Task Manager
Вкладка «Процессы» в AnVir Task Manager
Вкладка «Сервисы» в AnVir Task Manager
Вкладка «Сервисы» в AnVir Task Manager
Просмотр автозагрузки в AnVir Task Manager
Просмотр автозагрузки в AnVir Task Manager

А теперь достанем из загашника несколько специально заточенных под форензику утилит, входящих в комплект под общим названием Sleuth Kit.

Для просмотра доступной информации о памяти набираем команду mmstat.

Вывод результатов работы утилиты mmstat
Вывод результатов работы утилиты mmstat

Мы знаем тип системного тома, и после исполнения команды mmls она позволит просмотреть неразмеченные области диска:

Вывод результатов работы утилиты mmls
Вывод результатов работы утилиты mmls

Далее мы можем использовать FileName Layer Tools, позволяющий просмотреть удаленные файлы и неразмеченные сегменты.

Вывод результатов работы утилиты fls
Вывод результатов работы утилиты fls

Что теперь? Создадим некий bodyfile — файл-заготовку с помощью все той же fls. Это позволит нам выстроить историю активности в системе (англ. timelines of file activity). Записываем полученные данные в файл bodyfile.txt.

Записываем полученные данные с помощью fls в файл bodyfile.txt
Записываем полученные данные с помощью fls в файл bodyfile.txt

После того как мы создали bodyfile.txt, мы можем запустить утилитку mactime и выстроить временную шкалу активности (удаления, создания, переименования) файлов в системе c экспортом в Excel-подобный вид:

Создаем диаграмму временной активности (timeline) c помощью mactime.pl
Создаем диаграмму временной активности (timeline) c помощью mactime.pl

Кстати, вот вам небольшая шпаргалка по используемым утилитам из пакета Sleuth Kit:

  • mmstat — информация о типе системных томов и таблице разделов диска;
  • mmls — информация о занятом месте, удаленных и allocated файлов;
  • fsstat — информация о ФС, включая серийный номер тома, ID, размер кластера, смещение от начала;
  • fls — поиск allocated и удаленных файлов в директории или всем диске;
  • mactime — создание таймлайна активности файловой системы из данных, полученных от fls.

Дальше попробуем найти удаленные файлы или то, что от них еще осталось. Одна из самых лучших утилит для этого — Autopsy из сборника Sleuth Kit.

Мастер запуска Autopsy
Мастер запуска Autopsy
Результаты поиска удаленных и allocated файлов в программе Autopsy
Результаты поиска удаленных и allocated файлов в программе Autopsy

Неплохим вариантом будет еще пройтись NirSoft’овской утилитой ShadowCopyView и пошукать остатки файлов, сохранившихся в теневых копиях Windows.

Просмотр найденных теневых копий в программе ShadowCopyView
Просмотр найденных теневых копий в программе ShadowCopyView
Просмотр сохраненных слепков в директории /Temp и инфо по точке восстановления в окне утилиты ShadowCopyView
Просмотр сохраненных слепков в директории /Temp и инфо по точке восстановления в окне утилиты ShadowCopyView

Следующим шагом будет анализ системного реестра. В ход пойдут три инструмента Windows Registry analysis из пакета Magnet AXIOM, RegRipper и Registry Explorer.

Анализ куста NTUser в программе RegRipper 2.8
Анализ куста NTUser в программе RegRipper 2.8
Загрузка основного куста реестра в утилиту Registry Explorer
Загрузка основного куста реестра в утилиту Registry Explorer
Анализ значения ключей реестра с помощью Registry Explorer
Анализ значения ключей реестра с помощью Registry Explorer
Просмотр значений MRU в утилите Registry Explorer
Просмотр значений MRU в утилите Registry Explorer

Для того чтобы просмотреть удаленный софт, можно ковырнуть файл — базу данных NTUSER.DAT по пути в системной директории:

А также можно поднять сохраненные URL-адреса, если юзался старый добрый ослик IE:

И там же попробовать достать пароли, если пользователь настроил автосохранение введенных данных:

Интересные места реестра Windows

Список последних используемых файлов (Most Recent Used — MRU) находится по пути

Глобальные уникальные идентификаторы (ID), которые содержат в себе зашифрованные записи каждого объекта ОС, приложения (программы), исполняемого exe-файла, к которому пользователь обращался в системе, хранятся в ветке

Все когда-либо ранее подключавшиеся к компьютеру USB-устройства также отмечаются в ветке реестра

Беспроводные сети (Wi-Fi SSID), к которым компьютер когда-либо подключался, будут храниться в ветке

Для тех, кто хочет больше узнать об интересных местах Windows Registry, очень хорошо подойдет статья Forensic Analysis Of The Windows Registry.

Анализ сетевых подключений

Для просмотра сетевых подключений на скорую руку можно воспользоваться обычной командой шелла netstat:

Просмотр сетевых подключений командой netstat
Просмотр сетевых подключений командой netstat

Среди всего вывода нас больше всего интересуют следующие статусы:

  • CLOSED — соединение закрыто, сокет не используется;
  • LISTEN (LISTENING) — ожидает входящих соединений;
  • ESTABLISHED — соединение установлено (данные передаются).

И еще дополнительные опции вывода:

Список текущих соединений TCP
Список текущих соединений TCP

Список всех открытых входящих портов
Список всех открытых входящих портов

Аналогичный вывод можно посмотреть и в графическом режиме, используя крохотную утилиту TCPViewer.

Просмотр сетевых коннектов в программе TCPViewer
Просмотр сетевых коннектов в программе TCPViewer

Еще одна специальная тулза — NetworkMiner. Помимо фич, которые имеются у описанных выше программ, в NetworkMiner есть опции извлечения файлов из протоколов FTP, TFTP, HTTP, POP3, IMAP, экстракт сертификатов X.509 certificates из SSL-сессий, декапсуляция GRE, 802.1Q, PPPoE, VXLAN, определения геолокации по IP, экспорт результатов в CSV, Excel, XML, CASE, JSON-LD.

Данные по TCP/IP-стеку, предоставленные программой NetworkMiner
Данные по TCP/IP-стеку, предоставленные программой NetworkMiner

Анализ корзины Windows

Не секрет, что часть данных, побывавших в корзине, все еще можно просмотреть, даже если файлы были удалены (в терминологии Windows, «корзина очищена»). Использовать будем большой пак под названием EnCase Forensic.

Интерфейс программы EnCase Forensic
Интерфейс программы EnCase Forensic

Вот и дошла очередь до анализа логов (системных журналов). В работе будут участвовать FullEventLogView от уже известной команды разработчиков NirSoft, а также Magnet AXIOM for computers.

Главное окно утилиты FullEventLogView для просмотра логов Windows
Главное окно утилиты FullEventLogView для просмотра логов Windows
Просмотр системных логов в Magnet AXIOM for computers
Просмотр системных логов в Magnet AXIOM for computers

Итак, какие события нас будут интересовать в первую очередь:

  • Account Logon — вход в систему под определенной учетной записью;
  • Account Mgmt — изменение учетной записи (перемещение в группу, переименование, назначение прав и так далее);
  • Logon Events — вход в учетную запись / выход из нее;
  • Directory Service — присоединение объектов из Active Directory;
  • Object Access — аудит доступа к какому-либо объекту ОС;
  • Policy Change— изменение политики безопасности;
  • Privilege Use — выполнение каких-либо команд от имени администратора или другого привилегированного пользователя;
  • Process Tracking — трекинг событий, связанных с системными процессами;
  • System Events — загрузка и завершение работы ОС (в том числе сбои).

Более подробный список событий безопасности с принадлежащими им ID можно глянуть на страничке проекта GitHub.

Следующий шаг — это LNK file analysis, или поиск ярлыков на программы, которые были установлены, запущены или позднее удалены в какой-то момент. В работе будем использовать уже знакомый нам пак EnCase Forensic.

LNK file analysis в Magnet AXIOM for computers
LNK file analysis в Magnet AXIOM for computers

Ну и в завершение всех процедур мы еще на всякий случай просканим встроенные в систему пользовательские App’ы — Skype, OneDrive и Edge, вдруг найдем там что-нибудь интересное. Для браузера Edge заюзаем уже известный нам Belkasoft Evidence Center. Той же программой кое-какие данные мы попытаемся извлечь из файла подкачки Pagefile.sys.

Окно выбора объектов поиска в Belkasoft Evidence Center 2018
Окно выбора объектов поиска в Belkasoft Evidence Center 2018

Напоследок ко всему перечисленному добавим Skype. Кстати, для скайпа профиль с полезной для нас информацией хранится в директории

хотя не помешало бы поискать папку с именем Skype по всему винту, поскольку мессенджер мог быть установлен кастомно или запущен как portable-версия.

Наша тулза Belkasoft Evidence Center извлекает данные из указанного файла профиля, в том числе SQLite-листы, неразмеченную область диска, синхронизированные файлы из чатов, данные из pagefile.sys и hiberfil.sys. Есть и еще одна замечательная утилита — SkypeLogView от все тех же ребят из NirSoft.

Результаты вывода данных из локального профиля Skype утилитой SkypeLogView
Результаты вывода данных из локального профиля Skype утилитой SkypeLogView

Несмотря на то что это может показаться детской забавой, в Windows-системах можно извлечь даже историю оповещений из системного трея. Информация о нотификации хранится в директории

Имя базы данных, содержащей историю нотификации, может меняться на каждой машине и зависит от каких-то внутренних параметров (расширение файла не обязательно будет именно .db). Чтобы ее открыть, понадобится SQLite manager. Запустив SQLite, нужно найти файлы .db в

и, просто добавив в менеджер, получить окно встроенного вьювера.

Аналогичная тема с голосовым помощником Cortana: у нее тоже есть база данных, хранящая историю, и располагается она по пути

Несколько слов об OneDrive. Если была включена опция синхронизации (например, с Android-смартфоном), то часть файлов можно найти в гаджете по пути

Если речь идет про десктопную версию, то логи загрузки/выгрузки, синхронизации и подобных событий можно посмотреть в текстовых документах по пути

На этом все. Теперь вы знаете, как найти следы работы в Windows.

Еще по теме: Дистрибутивы для криминалистического анализа

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся аналитикой компьютерных угроз. Анонсы новых статей в Телеграме.

Добавить комментарий

  1. -

    ShadowDefender и пусть обыщутся… 29 09 2024

    Ответить