Содержание статьи
В библиотеке журналирования Java Log4j (версия 2) был обнаружен эксплоит 0-day, который приводит к удаленному выполнению кода через регистрацию определенной строки. Эта уязвимость получила название Log4Shell и идентификатор CVE-2021-44228. Библиотека Log4j используется во многих продуктах, точное количество и перечень которых установить невозможно. В этой лабораторной работе мы научимся обнаруживать эксплуатацию уязвимости Log4Shell и исследовать артефакты, которые свидетельствуют о ее использовании.
По сценарию злоумышленники взломали веб‑сервер и получили полный контроль над ним. Специалисты по реагированию на инциденты сделали побитовую копию системного диска скомпрометированной машины на базе операционной системы Windows. Загрузим файл образа и начнем его исследование.
По результатам решения кейса необходимо ответить на ряд вопросов, но я покажу сам процесс решения и не буду подсвечивать ответы. Ты можешь повторить все самостоятельно, чтобы лучше разобраться и закрепить материал.
План исследования
Проанализируем следующие артефакты операционной системы Windows:
- Файлы реестра
SAM
,SOFTWARE
,SYSTEM
, которые расположены в каталогеC:\
.Windows\ System32\ config - Файлы логов операционной системы. Они находятся в каталоге
C:\
.Windows\ System32\ winevt\ Logs - Файлы логов продукта VMware vCenter Server.
- User Registry Hives — файл
NTUSER.
, содержащий информацию, связанную с действием пользователя. ФайлыDAT NTUSER.
хранятся в каталогеDAT %userprofile%
. - MFT (главная таблица файлов) — системный файл, содержащий метаданные объекта файловой системы. Этот файл расположен в корне каждого раздела NTFS, выгрузить его можно с помощью FTK Imager или R-Studio.
Расследование разделим на несколько этапов:
- Получение информации об объекте исследования.
- Поиск точки входа в систему. На этом этапе выясним, как злоумышленник скомпрометировал систему и какие вредоносные файлы использовал.
- Поиск способа закрепления. Выясним, как злоумышленники обеспечили себе постоянный доступ к системе.
Используемые утилиты:
- Утилиты EricZimmerman: Registry Explorer, MFTECmd.
- Утилиты NirSoft: FullEventLogView.
- R-Studio — утилита для восстановления данных с диска.
- Jadx — утилита для создания исходного кода Java из файлов Android Dex и Apk.
- DIE — программа для определения типов файлов.
- FTK Imager — инструмент для анализа и получения образов диска.
Получение информации об объекте исследования
Файл образа диска DetectLog4Shell.
записан в формате Expert Witness Format (EWF) и содержит побитовую копию данных. Сделать цифровую копию диска в этом формате можно с помощью утилиты EnCase. Примонтируем исследуемый диск в Windows и извлечем из него артефакты, необходимые для расследования инцидента.
Откроем утилиту FTK Imager и примонтируем образ диска. Для этого переходим на вкладку File → Image Mounting. В поле Image File выбираем образ Webserver.
и вводим настройки, указанные ниже.

Нажимаем Mount. Исследуемый образ должен примонтироваться, и мы увидим следующую информацию.

Мы не можем получить доступ к системным файлам, поскольку нам не хватает для этого разрешений. Воспользуемся утилитой R-Studio и выгрузим файлы реестра SYSTEM
, SAM
, SOFTWARE
, расположенные в каталоге %WINDOWS%/
.
Мы получим информацию из куста реестра SYSTEM
. Загрузим ее в утилиту Registry Explorer, нажмем File → Load hive, затем выберем исследуемый файл. Информация о временной зоне хранится в ключе TimeZoneKeyName
, расположенном в ветви ControlSet001\
.

Временные метки во временной зоне — Pacific
. Имя компьютера хранится в ключе Windows\
.

Информация об IP-адресе машины расположена в ключе ControlSet001\
, где {
— идентификатор адаптера. Документация об этом ключе реестра есть на сайте Microsoft.

Флаг EnabledDHCP
означает, что сетевой адрес выдается сервером DHCP 192.
. IP-адрес хоста — 192.
.
В ключе ControlSet001\
хранится информация о доменном имени компьютера.

Доменное имя компьютера — cyberdefenders.
. Проанализируем ветку реестра SOFTWARE
, чтобы получить информацию об операционной системе. Загрузим эту ветку реестра в утилиту Reg Explorer. В ключе Microsoft\
содержится версия операционной системы и текущий номер сборки.

Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»