Ques/Help/Req Уроки форензики. Большой гид по артефактам Windows

XakeR

Member
Регистрация
13.05.2006
Сообщения
1 912
Реакции
0
Баллы
16
Местоположение
Ukraine
Сегодня мы поговорим об основных артефактах Windows, которые помогают исследователю обнаружить вектор компрометации, признаки бокового перемещения по сети и закрепления в системе, а также разберем тонкости работы с инструментами для анализа этих артефактов.

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

Я буду использовать следующие средства:

  1. R-Studio — утилита для восстановления данных.
  2. FTK Imager — инструмент для анализа и получения образов диска.
  3. Утилиты NirSoft для Windows.
  4. Утилиты Eric Zimmerman для анализа артефактов Windows.



Получаем побитовую копию диска​


Получить дамп диска просто: загружаемся с Live-образа Kali Linux в режиме Forensics и используем утилиту dd. Либо можно вытащить диск из системника, подключить к аппаратному блокиратору и снять образ с помощью инструментов R-Studio, FTK Imager, Encase или им подобных. Иногда достаточно на живой системе запустить портабельные утилиты и получить образ диска либо использовать сборщики Kape или FastIR Collector, которые соберут артефакты в автоматическом режиме.

В R-Studio получение образа будет выглядеть так. Запускаем утилиту, выбираем диск и переходим на вкладку «Создать образ».

Создание образа диска

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



Монтируем образ​


Первым делом монтируем образ диска. Для этого хороша утилита Mount Image Pro, либо можешь глянуть FTK Imager.

Монтирование в FTK

Нажимаем на значок Image Mounting, указываем путь к файлу образа, в Mount Method выбираем монтирование на запись.

Монтирование образа

Далее нажимаем Mount, и диск появится в файловой системе.

Теперь можно исследовать файлы в ручном режиме. Лучше всего воспользоваться утилитой R-Studio, которая позволяет сканировать диск на предмет удаленных файлов, а также сортировать все файлы по датам создания либо по расширению.

Содержимое R-Studio

Сканируем файловую систему​


Прежде чем анализировать артефакты, полезно проверить, нет ли в файловой системе подозрительных файлов. Сканировать можно утилитой Loki Scanner, которая умеет определять многие индикаторы компрометации. Она ищет по именам файлов, хеш‑суммам, а в случае надобности в ход идут и правила Yara.

.loki.exe -p D: -l log

Баннер Loki Scanner

Еще можно воспользоваться портабельными антивирусными утилитами. Например:

  • KVRT — средство Kaspersky для поиска вредоносных файлов;
  • CureIt — аналог, созданный в Dr.Web;
  • Spyre — сканер индикаторов компрометации по правилам Yara.

Этот этап помогает исследователю обнаружить подозрительные файлы, от которых можно оттолкнуться при расследовании инцидента и искать пути проникновения в систему.



Получаем основную информацию о системе​


Перед началом исследования нужно собрать первичную информацию о системе. Для этого восстановим ветки реестра SOFTWARE и SYSTEM, чтобы получить из них следующие ключи:

  • SYSTEM: ControlSet001ControlTimeZoneInformation — информация об установленной временной зоне;
  • SYSTEM: ControlSet001ControlComputerNameComputerName — имена компьютера;
  • SYSTEM: ControlSet001ServicesTcpipParametersInterfaces — информация об идентификаторах сетевых интерфейсов, в которых указываются сетевые настройки, а в ключе ControlSet001ServicesTcpipParameters можно обнаружить имя домена;
  • SOFTWARE: MicrosoftWindows NTCurrentVersion — информация об операционной системе: версия, сборка и другое;
  • SOFTWARE: MicrosoftWindowsCurrentVersionUninstall — список установленных программ;
  • SAM: SAMDomainsAccountUsers — информация о локальных пользователях системы.

Чтобы автоматизировать процесс, добрые люди уже написали полезный скриптик на Python — python-registry. В каталоге samples ты найдешь скрипт system_info.py, который анализирует перечисленные ключи. Нужно будет только немного его подредактировать: добавить код, который перед каждым доступом к ключу будет считывать выгруженные тобой ветки.



Ищем закрепление в системе​


Если при сканировании файловой системы не удалось обнаружить вредоносный файл, то имеет смысл начинать исследование с поиска мест закрепления вредоноса в системе.

Для этого предназначена утилита Autoruns. Запускай, открывай вкладку File → Analyze Offline System и выбирай путь к системному диску (который мы примонтировали раньше). Также нужно задать путь до конкретного пользователя.

Утилита показывает множество основных путей закрепления, но при анализе примонтированного образа легко пропустить многие моменты. Давай пройдемся по основным путям закрепления вредоноса в системе и инструментам, которые помогут собрать дополнительные сведения.

Системные кусты реестра хранятся в каталоге C:WindowsSystem32config, пользовательские NTUSER.DAT — в каталоге C:Users<User>AppData.



WMI (Windows Management Instrumentation) — набор инструментов, предназначенных для управления системами Windows. WMI популярен среди злоумышленников, поскольку позволяет выполнять разведку в сети, обнаруживать антивирусы и виртуальные машины, выполнять произвольный код, сохранять свое присутствие в системе, а также перемещаться по корпоративной сети.

В определениях WMI действия называются потребителями (Consumers), а события — фильтрами (Filters). Существует также третий компонент, который связывает их вместе, — привязка (Binding). Злоумышленник создает три класса:

  • __EventFilter — некий фильтр действий в системе, к примеру вход пользователя или создание процесса;
  • __EventConsumer — действие, которое выполняет злоумышленник, к примеру запуск полезной нагрузки;
  • __FilterToConsumerBinding — объект, который связывает эти два класса.

Чтобы закрепиться этим методом, злоумышленники используют утилиту, которая умеет взаимодействовать с WMI (wmic.exe). Чтобы понять, происходило ли что‑то такое, нам нужно проанализировать следующий файл:

C:WindowsSystem32wbemRepositoryOBJECTS.DATA

Наша цель — найти классы __FilterToConsumerBinding, а затем по имени __EventConsumer найти все действия. Сделать это можно в любом двоичном редакторе. Вбивай в поиске класс связывания фильтра и действия — __FilterToConsumerBinding. Есть и готовый инструмент, который сделает всю работу за тебя, он называется PyWMIPersistenceFinder.py. Я уже показывал, как с его помощью обнаруживать закрепление, когда разбирал лабораторию CyberCorpCase 1.



Чтобы задетектить эту технику закрепления, нам с тобой нужно проанализировать кусты реестра SOFTWARE и NTUSER.DAT.

В кусте SOFTWARE смотрим следующие ключи, отвечающие за присутствие в ОС от имени системы или админа:

  • MicrosoftWindowsCurrentVersionRun;
  • MicrosoftWindowsCurrentVersionRunOnce;
  • MicrosoftWindowsCurrentVersionRunServices;
  • MicrosoftWindowsCurrentVersionRunServicesOnce;
  • MicrosoftWindows NTCurrentVersionWinlogonUserinit;
  • MicrosoftWindows NTCurrentVersionWinlogonShell;
  • MicrosoftWindowsCurrentVersionExplorerShell Folders.

Не забываем глянуть те же ключи в кусте реестра NTUSER.DAT:SOFTWARE — чтобы понять, не было ли закрепления с правами пользователя.

Копаться в реестре я рекомендую с помощью RegistryExplorer. Обрати внимание на путь к исполняемому файлу и на временные метки ключа реестра.

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

C:Users<User>AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Вредоносы, лежащие в такой папке, будут стартовать автоматически и приниматься пакостить сразу после загрузки. Также обращай внимание на файлы .lnk, в них иногда прячутся команды PowerShell или CMD.



За автоматическое выполнение скриптов при входе в систему отвечает куст реестра NTUSER.DAT, точнее, ключ EnvironmentUserInitMprLogonScript, где перечисляются исполняемые файлы. К примеру, APT-группа XDSpy записывала сюда адрес вредоносного файла, сохраненного в AppDataLocalTemp.

Закрепление вредоносного исполняемого файла

Злоумышленники могут использовать неправильные разрешения на ключи реестра той или иной службы, чтобы выполнять полезные нагрузки.

Присоединяйся к сообществу «Xakep.ru»!​


Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

-60%

1 год​


9990 рублей 4000 р.


[TD]

1 месяц​


920 р.
[/TD]

Я уже участник «Xakep.ru»
 
198 238Темы
635 210Сообщения
3 618 425Пользователи
Pandar96Новый пользователь
Верх