Forensic Framework Volatility

HtOnion

Red Team
06.11.2017
514
775
#1
Здравствуйте друзья!)
Я недавно познакомился с одним из фреймворков в компьютерной криминалистике "Volatility" и его гуи версией "VolUtility", теперь вот хочу и вас с ним тоже познакомить так сказать)
volatility.jpg

Данный фреймворк кросcплатформенный с открытым исходным кодом, написан на python. Имеет множество плагинов, позволяет писать свои, на официальном сайте фреймворка вроде как, даже проходил конкурс на написание лучшего плагина. Это инструмент командной строки, но имеется и web интерфейс, который устанавливается отдельно. Фреймворк предустановлен в Kali linux и BlackArch, кто нибудь интересовался им? вот только честно)))
Репозитории на Github
Для просмотра контента необходимо: Войти или зарегистрироваться
Для просмотра контента необходимо: Войти или зарегистрироваться
Там же на Github доступно довольно не плохое wiki, правда полностью на инглише как и сам инструмент)
Фреймворк позволяет исследовать данные в памяти Ram.
С помощью этого инструмента можно извлекать данные о запущенных процессах, списки открытых сетевых соединений и сокетов, библиотеки, модули ядра, какие были открыты файлы процессами.
32-bit Windows XP Service Pack 2 and 3
32-bit Windows 2003 Server Service Pack 0, 1, 2
32-bit Windows Vista Service Pack 0, 1, 2
32-bit Windows 2008 Server Service Pack 1, 2 (there is no SP0)
32-bit Windows 7 Service Pack 0, 1
32-bit Windows 8, 8.1, and 8.1 Update 1
32-bit Windows 10 (initial support)
64-bit Windows XP Service Pack 1 and 2 (there is no SP0)
64-bit Windows 2003 Server Service Pack 1 and 2 (there is no SP0)
64-bit Windows Vista Service Pack 0, 1, 2
64-bit Windows 2008 Server Service Pack 1 and 2 (there is no SP0)
64-bit Windows 2008 R2 Server Service Pack 0 and 1
64-bit Windows 7 Service Pack 0 and 1
64-bit Windows 8, 8.1, and 8.1 Update 1
64-bit Windows Server 2012 and 2012 R2
64-bit Windows 10 (including at least 10.0.14393)
64-bit Windows Server 2016 (including at least 10.0.14393.0)
32-bit Linux kernels 2.6.11 to 4.2.3
64-bit Linux kernels 2.6.11 to 4.2.3
32-bit 10.5.x Leopard (the only 64-bit 10.5 is Server, which isn't supported)
32-bit 10.6.x Snow Leopard
64-bit 10.6.x Snow Leopard
32-bit 10.7.x Lion
64-bit 10.7.x Lion
64-bit 10.8.x Mountain Lion (there is no 32-bit version)
64-bit 10.9.x Mavericks (there is no 32-bit version)
64-bit 10.10.x Yosemite (there is no 32-bit version)
64-bit 10.11.x El Capitan (there is no 32-bit version)
64-bit 10.12.x Sierra (there is no 32-bit version)
Для просмотра контента необходимо: Войти или зарегистрироваться

Теперь не много расскажу о плагинах. Все перечислять не буду, места не хватит))

  • imageinfo - данный плагин чаще всего используется для краткого описания образца памяти, идентификации операционной системы, пакета обновлений, архитектуры.
  • envars - имя сеанса, имя компьютера, имя пользователя
  • kdbgscan - в отличии от предыдущего плагина этот используется для более детального или даже более правильного анализа и определения
  • PsList - используется для вывода списка процессов в системе,имя процесса, идентификатор процесса, идентификатор родительского процесса, количество потоков, количество дескрипторов и дату / время, когда процесс запускается и завершается
  • dlllist - отображает загруженные DLL-файлы процесса
  • dlldump - извлекает DLL из памяти процесса и позволяет выгрузить его для анализа
  • cmdscan - это одна из самых мощных команд, используется для получения видимости действий злоумышленников в системе, независимо от того, открыли ли они cmd.exe через сеанс RDP или проксированный ввод / вывод в командную оболочку из сетевого бэкдора.
  • ProcDump - позволяет выгрузить исполняемый файл процесса
  • connections - просмотр TCP соединений на момент выгрузки памяти.Эта команда предназначена только для x86 и x64 для Windows XP и Windows 2003 Server.
  • hashdump - извлекает и дешифрует учетные данные кэшированного домена, хранящиеся в реестре
  • mbrparser - Сканирует и анализирует потенциальные записи главной загрузки (MBR).
Достаточно)) Описания всех функций и плагинов есть в вики)

Установка и использование
С консольной версией все просто. Так как она предустановена у многих то просто вводим
volatility -h
и смотрим справку по нашей тулзе

Теперь по гуи интерфейсу, для его работоспособности нужны docker и mangodb.
Код:
sudo apt-get install python-dev python-pip git libimage-exiftool-perl mongodb docker docker-containerd
git clone https://github.com/kevthehermit/VolUtility.git
cd VolUtility
sudo pip install -r requirements.txt4
service mongodb start
sudo docker-containerd run -d -p 27017:27017 --name vol-mongo mongo
python manage.py -h
python manage.py runserver
Выделение_014.png
И все) идем в браузер по адресу 127.0.0.1:8000 Начинаем ковырять, изучать, пытаться анализировать)

И напоследок простенькая задачка, если интересно конечно) по ссылке ниже в архиве лежит dump памяти, постарайтесь из него вытащить имя компьютера) Информации из этой темы вполне хватит)
Для просмотра контента необходимо: Войти или зарегистрироваться
Выделение_016.png
Для просмотра контента необходимо: Войти или зарегистрироваться
Всё) Всем спс)
 
20.02.2018
6
6
#2
Спасибо за статью!)
Но мы хотим таски, больше тру тасков, форензику в массы
 

sinner67

Grey Team
24.03.2017
196
246
#10
сделать решение нескольких задач, или сделать наподобие так же как в этой?
мое мнение, чем больше практических задач тем лучше усвоится материал.

---- Добавлено позже ----

Кстати по поводу решения этой задачи. Superbia написал, что у него решение занело 2 команды.
Мое в 3.
1) volatility -f ch2.dmp imageinfo
2) volatility -f ch2.dmp --profile=Win7SP1x86 hivelist
3) volatility -f ch2.dmp --profile=Win7SP0x86 printkey -o 0x8b21c008 -K 'ControlSet001\Control\ComputerName\ComputerName'
Как в 2 команды найти имя хоста?
 
Последнее редактирование:
20.02.2018
6
6
#11
imageinfo, и grep по envars

Я за разноплановые задачи, по 2-3 на тулзу/метод. Но более приближенные к реальности, чем обычные CTF таски по этой теме

Надеюсь не сильно много прошу)
 

sinner67

Grey Team
24.03.2017
196
246
#12
imageinfo, и grep по envars

Я за разноплановые задачи, по 2-3 на тулзу/метод. Но более приближенные к реальности, чем обычные CTF таски по этой теме

Надеюсь не сильно много прошу)
типа вот так?
volatility -f ch2.dmp --profile=Win7SP1x86 envars | grep COMPUTERNAME
 
Симпатии: Понравилось HtOnion

HtOnion

Red Team
06.11.2017
514
775
#13
типа вот так?
volatility -f ch2.dmp --profile=Win7SP1x86 envars | grep COMPUTERNAME
Да)))
imageinfo, и grep по envars

Я за разноплановые задачи, по 2-3 на тулзу/метод. Но более приближенные к реальности, чем обычные CTF таски по этой теме

Надеюсь не сильно много прошу)
Я постараюсь подумать
 

Magnit

Active member
07.03.2018
36
3
#14
Наверное я один фартовый при этой команде:
sudo docker-containerd run -d -p 27017:27017 --name vol-mongo mongo

Получаю такой ответ:
WARN[0000] containerd: low RLIMIT_NOFILE changing to max current=1024 max=4096
и мигающий курсор снизу по гуглу совсем разноплановые ответы, но у народа выдает кучу текста, а у меня только эту ошибку.
Подскажите ответ на эту беду?
 

HtOnion

Red Team
06.11.2017
514
775
#15
Наверное я один фартовый при этой команде:
sudo docker-containerd run -d -p 27017:27017 --name vol-mongo mongo

Получаю такой ответ:
WARN[0000] containerd: low RLIMIT_NOFILE changing to max current=1024 max=4096
и мигающий курсор снизу по гуглу совсем разноплановые ответы, но у народа выдает кучу текста, а у меня только эту ошибку.
Подскажите ответ на эту беду?
У Вас нет ошибки, все работает, в другой вкладке в консоле из папки VolUtility запустите сервер
python manage.py runserver
И все, браузер 127.0.0.1:8000
 

Вложения