Содержание статьи
Наша задача — выявить причины взлома сервиса, развернутого на Oracle WebLogic Server, и научиться извлекать основные артефакты из образа оперативной памяти Windows.
По сценарию устройство мониторинга сетевой безопасности зафиксировало подозрительный трафик, исходящий от одного из веб‑серверов организации. Мы должны проанализировать образ памяти сервера и восстановить картину взлома информационного ресурса.
Используемые утилиты
- Volatility Framework 2.6.1 — инструмент, реализованный на Python версии 2 и предназначенный для извлечения артефактов из образов энергозависимой памяти.
- Volatility 3 — обновленный инструмент для извлечения артефактов, разработанный на Python 3.
Загрузим файл архива с артефактами, извлечем из него файл memory.
(SHA256:5b3b1e1c92ddb1c128eca0fa8c917c16c275ad4c95b19915a288a745f9960f39) и приступим к исследованию.
Исследование образа памяти
При работе с этим образом мы будем пользоваться фреймворком Volatility версий 2 и 3. Их основное различие описано в документации. Удобство работы с третьей версией заключается в том, что она не использует профили операционной системы, а умеет определять их на лету, с помощью таблиц символов Windows. Но большинство плагинов разработано для второй версии.
Получим профиль операционной системы для работы с утилитой Volatility 2.
python2.7 vol.py -f c63-bsidesjeddah-mem/memory.mem imageinfo
Профиль операционной системы — Win2016x64_14393
.
Прежде чем мы приступим к анализу артефактов, необходимо понять, с какой системой мы работаем. Для этого получим версию операционной системы, имя компьютера, а также сетевой адрес. Пробежимся по ключам реестра с использованием плагина printkey.
python2.7 vol.py -f c63-bsidesjeddah-mem/memory.mem --profile=Win2016x64_14393 printkey -K "ControlSet001\Control\ComputerName\ComputerName"
Имя компьютера — WIN-8QOTRH7EMHC
.
python2.7 vol.py -f c63-bsidesjeddah-mem/memory.mem --profile=Win2016x64_14393 printkey -o 0xffff808fe7e41000 -K "ControlSet001\Services\Tcpip\Parameters\Interfaces"
Мы получили список идентификаторов сетевых интерфейсов. Проверим каждый из них.
python2.7 vol.py -f c63-bsidesjeddah-mem/memory.mem --profile=Win2016x64_14393 printkey -o 0xffff808fe7e41000 -K "ControlSet001\Services\Tcpip\Parameters\Interfaces\{792f6020-c342-4520-922a-542fbfccc4b6}"
Сетевой адрес компьютера — 192.
, IP-адрес выдается DHCP-сервером 192.
.
Теперь получим информацию о версии операционной системы.
python2.7 vol.py -f c63-bsidesjeddah-mem/memory.mem --profile=Win2016x64_14393 printkey -K "Microsoft\Windows NT\CurrentVersion"
Версия операционной системы — Windows Server 2016 Standard Evaluation.
Получим время, которое было зафиксировано в момент снятия образа оперативной памяти. Для этого воспользуемся плагином windows.
утилиты Volatility 3.
python3 vol.py -f c63-bsidesjeddah-mem/memory.mem windows.info
Системное время — 2021-08-06
.
Далее попытаемся восстановить действия пользователя в системе. Проанализируем историю браузера, в данном случае Internet Explorer. Для этого воспользуемся плагином iehistory.
python2.7 vol.py -f c63-bsidesjeddah-mem/memory.mem --profile=Win2016x64_14393 iehistory > c63-bsidesjeddah-mem/iehistory.txt
Нам удалось выяснить, что 6 августа 2021 года пользователь Administrator
посетил страницу news.
.
Теперь приступим к поиску вредоносной активности. Для этого нам необходимо проанализировать процессы, сетевой трафик, команды запуска исполняемых файлов, а также исследовать строки процессов.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»