RuCore.NET

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

Так уж вышло, что русскоязычный сегмент Интернета никогда не пестрил материалами, посвященными цифровой криминалистике. Толковые практические публикации, посвященные криминалистике в рамках реагирования или расследования инцидентов, и вовсе — можно пересчитать по пальцам одной руки.

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



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



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

 



 

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



 

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

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

 

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

1

mmls -t dos X:RAM_Img_Forensic.E01

 

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

fls -o 1435648 X:RAM_Img_Forensic.E01

 

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

fls -r -m «/» -o 1435648 X:RAM_Img_Forensic.E01 > bodyfile.txt

 

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

mactime.pl -b bodyfile.txt -d > timeline.csv

 

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

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

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

 

 

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

 

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

 

 

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

NTUSER.DAT\SOFTWARE\Microsoft\UserData\UninstallTimes

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

NTUSER.DAT\SOFTWARE\Microsoft\InternetExplorer\TypedURLs

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

NTUSER.DAT\Software\Microsoft\Internet Explorer\IntelliForms

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

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

1

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

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

HKEY_CURRENT_USER\Software\Mcirosoft\Windows\CurrentVersion\Explorer\UserAssist

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

HKEY_LOCAL_MACHINE\System\ControlSet00x\Enum\USBSTOR

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

HKEY_LOCAL_MACHINE\Software\microsoft\WZCSVC\Parameters\Interface

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

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

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

netstat -a

 

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

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

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

// Список соединений TCP

netstat -at

// Список соединений UDP

netstat -au

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

netstat -n

 

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

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

 

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

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

 

Вот и дошла очередь до анализа логов (системных журналов). В работе будут участвовать FullEventLogView от уже известной команды разработчиков NirSoft, а также 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.

 

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

 

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

C:\Users\%USERNAME%\AppData\Roaming\Skype\

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

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

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

\Users\%Username%\AppData\Local\Microsoft\Windows\Notifications

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

C:\Users\Username\AppData\Local\Microsoft\Windows\Notifications

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

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

C:\Users[User]\AppData\Local\Packages\Microsoft.Windows.Cortana_xxxx\LocalState\ESEDatabase_CortanaCoreInstance\CortanaCoreDb

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

/mnt/sdcard/Android/data/com.microsoft.skydrive

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

C:\Users\<USERNAME>\AppData\Local\Microsoft\OneDrive\logs

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

 

Источник: http://www.spy-soft.net/



Поделись статьей с друзьями


31 просмотров



Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: