Один из клиентов нашей компании потерял доступ к своей системе из-за неизвестной ошибки. Предположительно, он является очень популярным активистом по защите «окружающей среды».
В рамках расследования он сообщил нам, что его основные приложения — это браузеры, менеджеры паролей и т. д. Мы надеемся, что вы сможете изучить этот дамп памяти и найти его важные данные, чтобы вернуть их нам.
Примечание: это задание состоит из 3 флагов.
Стадия 1
Сначала нам нужно определить операционную систему образа памяти.
$ volatility -f MemoryDump_Lab2.raw imageinfo

Затем давайте проверим список процессов.
$ volatility -f MemoryDump_Lab2.raw --profile Win7SP1x64 pslist

Мы видим интересные процессы, такие как chrome и KeePass, но сначала давайте вернемся к описанию, обратим внимание на кавычечное словосочетание «окружающая среда». Я думаю, это намек на переменные среды, поэтому давайте сначала пойдем этим путем.
$ volatility -f MemoryDump_Lab2.raw --profile Win7SP1x64 envars
........
320 csrss.exe 0x0000000000481320 NEW_TMP C:\Windows\ZmxhZ3t3M2xjMG0zX1QwXyRUNGczXyFfT2ZfTDRCXzJ9
........
424 wininit.exe 0x000000000030a600 NEW_TMP C:\Windows\ZmxhZ3t3M2xjMG0zX1QwXyRUNGczXyFfT2ZfTDRCXzJ9
........
812 svchost.exe 0x0000000000221320 NEW_TMP C:\Windows\ZmxhZ3t3M2xjMG0zX1QwXyRUNGczXyFfT2ZfTDRCXzJ9
........
Мы видим переменную среды NEW_TMP в каждом процессе со значением, которое похоже на Base64. Давайте декодируем это.
$ echo ZmxhZ3t3M2xjMG0zX1QwXyRUNGczXyFfT2ZfTDRCXzJ9 | base64 -d
flag{w3lc0m3_T0_$T4g3_!_Of_L4B_2}
Отлично, первая стадия готова.
Флаг 1:
flag{w3lc0m3_T0_$T4g3_!_Of_L4B_2}
Стадия 2
Далее давайте проверим процесс KeePass, похоже, что это менеджер паролей. После небольших исследований, я узнал, что KeePass хранит пароли в базе данных с расширением «.kdbx» и просматривает их с помощью главного пароля. Давайте проверим, есть ли эта база данных в памяти.
$ volatility -f MemoryDump_Lab2.raw --profile Win7SP1x64 filescan | grep ".kdbx"
Volatility Foundation Volatility Framework 2.6.1
0x000000003fb112a0 16 0 R--r-- \Device\HarddiskVolume2\Users\SmartNet\Secrets\Hidden.kdbx
И вот она, теперь давайте выгрузим ее.
$ volatility -f MemoryDump_Lab2.raw --profile Win7SP1x64 dumpfiles -Q 0x000000003fb112a0 -D lab2_output/
Volatility Foundation Volatility Framework 2.6.1
DataSectionObject 0x3fb112a0 None \Device\HarddiskVolume2\Users\SmartNet\Secrets\Hidden.kdbx
Осталось только получить мастер-пароль, пробуем просканировать файлы на наличие любого пароля, например «password».
$ volatility -f MemoryDump_Lab2.raw --profile Win7SP1x64 filescan | grep -i "password"
Volatility Foundation Volatility Framework 2.6.1
.........
0x000000003fce1c70 1 0 R--r-d \Device\HarddiskVolume2\Users\Alissa Simpson\Pictures\Password.png
.........
Нашли изображение с именем Password! Кажется интересным, давайте выгрузим его.
$ volatility -f MemoryDump_Lab2.raw --profile Win7SP1x64 dumpfiles -Q 0x000000003fce1c70 -D lab2_output/
Volatility Foundation Volatility Framework 2.6.1
DataSectionObject 0x3fce1c70 None \Device\HarddiskVolume2\Users\Alissa Simpson\Pictures\Password.png

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


flag{w0w_th1s_1s_Th3SeC0nD_ST4g3!!}
Теперь вернемся к процессу chrome, первым делом нужно проверить историю браузера. Этот репозиторий на github имеет необходимый плагин: Volatility-Plugins
volatility --plugins=plugins/ -f MemoryDump_Lab2.raw --profile Win7SP1x64 chromehistory > chromehistory.txt

У нас есть ссылка на Mega, имя папки в Mega — MemLabs_Lab2_Stage3, и там только один zip-файл с именем Important.zip (защищенный паролем).
Пытаясь распаковать его с помощью unzip, получим ошибку, поэтому пользуемся 7z.

Давайте получим пароль.
$ echo -n flag{w3ll_3rd_stage_was_easy} | sha1sum
6045dd90029719a039fd2d2ebcca718439dd100a
После распаковки файла, получаем картинку с флагом.

flag{oK_So_Now_St4g3_3_is_DoNE!!}
