Как установить волатильность в kali linux

Обновлено: 04.07.2024

В области ИТ-безопасности анализ памяти или оперативной памяти (ОЗУ) помогает выявить вредоносные или незаконные действия в системе. RedLine — бесплатный инструмент для анализа энергозависимой памяти, предоставляемый Mandiant (компания FireEye). Однако хорошо известным инструментом безопасности с открытым исходным кодом для анализа энергозависимой памяти является волатильность. Он поддерживает анализ оперативной памяти для обеих 32/64-битных систем. Он также поддерживает анализ систем Linux, Windows, Mac и Android. Фреймворк Volatility состоит из инструментов с открытым исходным кодом и реализован на языке сценариев Python. Его можно легко использовать в операционных системах Windows и Linux. Он может анализировать необработанные дампы, аварийные дампы, дампы VMware (vmem), дампы виртуальных ящиков и многие другие. Методы извлечения выполняются полностью независимо от исследуемой системы и дают полное представление о состоянии системы во время выполнения.

Установка инструмента волатильности

Инструмент анализа памяти уже установлен в SIFT (SANS Investigative Forensic Toolkit) и многих других дистрибутивах безопасности Linux.

sift-volatility

Однако инструмент изменчивости можно установить на Ubuntu 16.04 с помощью следующей команды.

Следующие пакеты являются зависимостями инструмента Volatility, которые будут установлены автоматически с помощью команды apt-get.

установка волатильности

На следующем снимке показана успешная установка платформы изменчивости на платформе Ubuntu.

волатильность рабочая

Анализ дампа памяти с помощью Volatility

В этой статье будет проведен подробный криминалистический анализ дампа памяти (файл vmem). В криминалистических расследованиях аналитик часто обнаруживает несколько вредоносных программ в файле образа жесткого диска. Поэтому в таких случаях анализ памяти становится очень важным, поскольку в системе взлома может быть запущена вредоносная программа или вредоносное ПО.

Анализ волатильности

Подробности файла vmem показаны на следующем рисунке. Параметр imageinfo предоставляет возможные профили (информацию об операционной системе и пакете обновлений) о файле памяти.

imageinfo

Как показано в приведенном выше выводе, предлагаются три профиля с разными пакетами обновлений. На приведенном выше рисунке также показано, что пакет обновления равен 1 . Поэтому файл образа будет анализироваться с профилем Win2003SP1x86. Список запущенных процессов в файле памяти перечисляется с помощью параметра pslist. Параметр Pslist используется для отображения статуса процесса, списка информации о процессах, запущенных в памяти.

pslist

Связывание процесса с помощью параметра pstree показано на следующем снимке. Pstree отображает запущенные процессы в виде дерева, а корнем дерева является либо pid, либо init, если pid не указан.

pstree

Выделены два процесса iexplorer.exe и tango.exe. О выводе видно, что процесс tango.exe является дочерним процессом cmd.exe, который не распространен в ОС Windows. Другой вредоносный процесс iexplorer.exe с pid 1220 не существует. Поэтому согласно нашему анализу оба процесса кажутся вредоносными.

На следующем шаге параметр connscan используется для сканирования всех сетевых соединений жертвы с другими хостами. На следующем рисунке показано все сетевое соединение жертвы (10.10.5.69) с удаленным хостом (10.10.5.199).

connscan

Команда Volatility запускается с параметром подключения, который показывает следующий вывод.

connections

Эта информация очень важна для дальнейшего анализа, поскольку она показывает, что компьютер-жертва установил сеанс только с удаленным IP-адресом (10.10.5.199). В приведенном выше выводе также показаны идентификаторы процессов установленных сеансов. Далее мы будем анализировать только вышеперечисленные процессы.

Прежде чем использовать плагин malfind (который используется для обнаружения вредоносных dll в процессе) для найденных выше pid, проверьте, какая программа или служба запущена для вышеуказанных процессов. На следующем рисунке показана выделенная программа или служба в сравнении с подозреваемыми pid.

pslist определенный pid

Следующий снимок показывает выходные данные подключаемого модуля malfind, который запускается для pid iexplorer.exe, а дамп сохраняется в каталоге iexplorer.

malfind_specific_pid

Используя следующую команду на дампе, мы нашли dll в процессе, который показан на рисунке 29.

dll с вредоносным

Общий вывод вирусов по сравнению с приведенным выше файлом дампа показывает, что iexplorer.exe является вредоносной программой и она выполнялась на скомпрометированной системе. Это также показывает, что в системе существует вредоносная программа злоумышленника для постоянного доступа.

virustotal

Опять те же действия выполняются для второго процесса ( tango.exe ) и также сканируются на вирусы. На следующем снимке показан вышеописанный полный процесс.

tango

Выполните следующую команду для файлов дампа танго.

tango dump

На следующем рисунке показан вывод общего количества вирусов по отношению к дампам процесса tango.exe.

virustotal_tango_dll

Анализ непостоянства показывает, что во время создания динамического дампа в системе работала вредоносная программа. Это также гарантирует, что инсайдер взломал систему и установил бэкдор и трояны.

Заключение

В этой статье подробно рассматривается структура волатильности — инструмент анализа памяти с открытым исходным кодом. Он в основном используется для обнаружения и глубокого анализа вредоносных программ, работающих в скомпрометированной системе. Он уже доступен во многих дистрибутивах безопасности Linux.

Теги ярлык приложений и инструментов; $list = get_page_by_title('related', 'OBJECT', 'wp_show_posts'); wpsp_display($list->ID, 'tax_term="' . $cat_slug . '"' );*/ ?>

Вы можете получить исходный код, загрузив стабильную версию или клонировав ее с github. Чтобы сделать последнее, введите:

При этом будет создана папка volatility, содержащая исходный код, из которой вы сможете запустить каталог Volatility.

Если вы используете автономный исполняемый файл для Windows, Linux или Mac, установка не требуется — просто запустите его из командной строки. Никаких зависимостей не требуется, поскольку они уже упакованы внутри исполняемого файла.

Если вы используете исполняемый файл Pyinstaller (только для Windows), дважды щелкните и следуйте инструкциям по установке (которые в основном состоят из нажатия несколько раз Далее, а затем Готово). У вас уже должен быть работающий Python 2.7. Также см. ниже библиотеки зависимостей.

Если вы загрузили архив исходного кода в формате zip или tar (Windows, Linux, OSX), существует два способа «установить» код:

Распакуйте архив и запустите setup.py . Это позаботится о копировании файлов в нужные места на вашем диске. Запуск setup.py необходим только в том случае, если вы хотите получить доступ к пространству имен Volatility из других скриптов Python, например, если вы планируете импортировать Volatility как библиотеку. Плюсы: простота использования в качестве библиотеки. Минусы: сложнее обновить или удалить.

Распакуйте архив в любую папку по вашему выбору. Если вы хотите использовать Volatility, просто введите python /path/to/directory/vol.py. Это более чистый метод, поскольку никакие файлы никогда не перемещаются за пределы выбранного вами каталога, что упрощает обновление до новых версий после их выпуска. Кроме того, вы можете легко установить несколько версий Volatility одновременно, просто разместив их в отдельных каталогах (например, /home/me/vol2.0 и /home/me/vol2.1). Плюсы: чистый, легко запускать несколько версий, легко обновлять или удалять. Минусы: сложнее использовать в качестве библиотеки.

Этот раздел не относится к автономному исполняемому файлу Windows, поскольку зависимые библиотеки уже включены в исполняемый файл.Также обратите внимание, что большая часть основных функций Volatility будет работать без каких-либо дополнительных зависимостей. Вам нужно будет устанавливать пакеты только в том случае, если вы планируете использовать определенные плагины, которые используют эти пакеты (см. рекомендуемые зависимости), или если вы хотите улучшить свой опыт (см. дополнительные зависимости). Примечание. Для Linux вам может потребоваться установить несколько других пакетов/библиотек в качестве предварительных условий для следующих рекомендуемых пакетов (пример: apt-get install pcregrep libpcre++-dev python-dev -y )

Для наиболее полной поддержки подключаемых модулей необходимо установить следующие библиотеки. Если вы не установите эти библиотеки, вы можете увидеть предупреждающее сообщение, чтобы привлечь ваше внимание, но все подключаемые модули, которые не зависят от отсутствующих библиотек, по-прежнему будут работать правильно.

  • Distorm3 — мощная библиотека дизассемблера для x86/AMD64
    • Зависимые плагины
      • апихуки
      • обратные вызовы
      • не сканировать
      • kdbgscan, pslist, модули и т. д. для компьютеров с Windows 8/2012
      • команда дизассемблирования в volshell, linux_volshell и mac_volshell
      • Зависимые плагины
        • yarascan, linux_yarascan, mac_yarascan
        • Зависимые плагины
          • лсадамп
          • хеш-дамп
          • Зависимые плагины
            • скриншоты
            • Зависимые плагины
              • Любой подключаемый модуль, преобразованный в унифицированный формат (с параметром --output=xlsx)
              • Зависимые плагины: все, что использует --output=html

              Следующие библиотеки являются необязательными. Если они установлены, Volatility найдет и использует их; в противном случае будет выбран соответствующий альтернативный метод.

              Вы должны увидеть файл memdump.mem размером примерно 500 МБ, как показано ниже. Если вы этого не сделаете, вам может потребоваться повторить предыдущий проект, чтобы снова создать образ в памяти.


              Начальная волатильность


              Справка по волатильности длинная и запутанная.

              К счастью, SANS сделал удобную одностраничную шпаргалку, которая намного удобнее. Часть, которая важна для нас, показана ниже:


              Основное использование волатильности

              Информация об изображении

              Здесь отображается основная информация об образе, например операционная система компьютера, на котором был создан образ, и время создания образа, как показано ниже:


              Volatility необходимо знать, какая операционная система была создана, чтобы правильно интерпретировать образ памяти. Профиль по умолчанию — WinXPSP2x86, но мы использовали Win2008SP1x86, поэтому нам придется включать эту информацию во все будущие командные строки изменчивости.

              Запущенные процессы

              Здесь показаны процессы, которые выполнялись на компьютере во время создания образа RAM, как показано ниже:


              • Смещение: расположение процесса в оперативной памяти в шестнадцатеричном формате.
              • Имя: имя процесса, которое будет отображаться в диспетчере задач.
              • PID: идентификатор процесса.
              • PPID : идентификатор родительского процесса, то есть процесса, запустившего этот процесс. В приведенном выше примере процесс «Система» — это процесс 4, который является родителем процесса «smss.exe».

              Сетевые подключения


              Услуги


              Получение дампа памяти Windows Server 2008

              Размер файла составляет 130 398 701 байт, а его хэш MD5 — 364fed484bcdd1a1f81a3538a4b1cd9a.

              Чтобы разархивировать файл .7z в Kali, используйте "7z x filename"

              Ключи реестра

              На компьютере с Kali Linux в окне терминала с рабочим каталогом в каталоге, содержащем дамп памяти Windows Server 2008, выполните следующую команду:


              Изучите выходные данные и найдите два адреса, обведенных зеленым цветом выше: виртуальные адреса кустов SAM и SYSTEM. Вместе эти два куста содержат достаточно информации для извлечения хэшей паролей Windows.

              Хеши паролей

              Обратите внимание, что два найденных выше шестнадцатеричных адреса используются в следующем формате:

              Когда вы правильно введете команду, вы увидите имена учетных записей и хешированные пароли, как показано ниже.

              Windows хранит два хэша для каждого пароля, разделенных двоеточиями. Первый — крайне небезопасный, устаревший хэш, использующий алгоритм LANMAN.Операционные системы Windows, начиная с Vista, больше не используют хэши LANMAN, поэтому они заполняются фиктивным значением, начинающимся с «aad».

              Второй хеш — это более новый хэш NTLM, который намного лучше, чем хэши LANMAN, но по-прежнему крайне небезопасен и его гораздо легче взломать, чем хэши Linux или Mac OS X.


              5.1 Запись вашего успеха (5 баллов)

              Найдите хэш NT для «студенческой» учетной записи, которая частично отредактирована на изображении выше. Он начинается с e19c.

              Используйте форму ниже, чтобы записать свой результат в Canvas.

              Если у вас нет учетной записи Canvas, см. инструкции здесь.

              Вставьте хэш. С правой стороны введите CAPTCHA и нажмите кнопку "Взломать хэши".

              Хеш должен взломаться, раскрывая открытый текстовый пароль, как показано ниже.


              5.2: Запись вашего успеха (5 баллов)

              Если у вас нет учетной записи Canvas, см. инструкции здесь.

              Консольные команды

              На компьютере с Kali Linux в окне терминала с рабочим каталогом в каталоге, содержащем дамп памяти Windows Server 2008, выполните следующую команду:

              Здесь показаны консольные команды, недавно выполненные на компьютере с Windows, начиная с процесса "csrss", как показано ниже:


              Найдите показанную ниже команду "net user", которая пыталась установить пароль для учетной записи "waldo", что нарушило требование сложности.

              Пароль отредактирован на изображении ниже.


              5.3: Запись вашего успеха (5 баллов)

              Если у вас нет учетной записи Canvas, см. инструкции здесь.

              Источники


              Обзор

              Volatility Workbench — это графический пользовательский интерфейс (GUI) для инструмента Volatility. Volatility — это инструмент командной строки для анализа памяти и судебной экспертизы для извлечения артефактов из дампов памяти. Volatility Workbench является бесплатным, с открытым исходным кодом и работает в Windows. Он предоставляет ряд преимуществ по сравнению с версией командной строки, в том числе

              • Нет необходимости запоминать параметры командной строки.
              • Хранение списка платформ и процессов с дампом памяти в файле .CFG. Когда образ памяти перезагружается, это экономит много времени и избавляет от необходимости каждый раз получать список процессов.
              • Простое копирование и вставка.
              • Упрощенная печать бумажных копий (щелкните правой кнопкой мыши).
              • Упрощено сохранение полученной информации в файл на диске.
              • Раскрывающийся список доступных команд и краткое описание того, что делает команда.
              • Отметка времени выполненных команд.
              • Автоматическая загрузка первого файла дампа, найденного в текущей папке.
              • Поддержка анализа дампов памяти Mac и Linux.

              Скачать

              Текущая версия Volatility Workbench — v3.0.1002

              Эта сборка основана на Volatility 3 Framework версии 1.1.0-beta.1. Исходный код Volatility 3 Framework был загружен с github 31 июля 2020 г. и скомпилирован с использованием Pyinstaller версии 3.6

              Сборник дополнительных профилей для версии 2.1

              Примечание. Выберите и добавьте в папку «profiles» только те профили, которые вам нужны (включены в загрузку Volatility Workbench). Перегрузка профилей может замедлить процесс анализа.

              Примеры дампов памяти

              Инструкции по установке

              Загрузите ZIP-файл выше. Разархивируйте его, затем дважды щелкните исполняемый файл Volatility Workbench (VolatilityWorkbench.exe). Для удобства также включена копия инструмента командной строки Volatility.

              Инструкции по анализу дампов Mac/Linux, отсутствующих в раскрывающемся меню графического интерфейса Volatilty Workbench, см. в файле profile-list.txt в папке профилей.

              Если вам нужен инструмент для сбора дампа памяти с работающей машины, рассмотрите возможность использования OSForensics, так как он записывает файл конфигурации (CFG) вместе с файлом дампа, ускоряя процесс анализа в Volatility.

              Исходный код включен в zip-архив выше.

              Требования

              Windows 10 или Windows 7

              Версия Volatility для командной строки медленная и однопоточная, а дампы памяти большие. Следовательно, быстрый процессор и твердотельный накопитель могут помочь.

              Спецификация файла конфигурации

              Volatility Workbench считывает и записывает файл конфигурации (.CFG), который содержит метаданные о файле дампа памяти.

              Спецификации файла конфигурации дампа Volatility можно найти здесь.

              Лицензирование

              Volatility Workbench выпущен под той же лицензией, что и сам Volatility.

              Известные проблемы

              Бета-версия Volatility 3 предназначена для того, чтобы дать раннее представление о будущем направлении Volatility, а также дать возможность испытать новую структуру. Первый полный выпуск запланирован на август 2020 года. Дополнительную информацию об известных проблемах в текущей бета-версии см. на этой странице.

              Читайте также: