Volatility3 вылетает на Kali

Volatility3 вылетает на Kali

Я пытаюсь использовать volatility3 для проверки образа Linux, который я создал с помощью LiME, я запускаю следующую команду с ошибками. (Я скачал файл символов linux.zip из репозитория volatility и также поместил его в /volatility/symbols)

Также попытался создать свой собственный файл json, используя

./dwarf2json linux --system-map /boot/System.map-5.9.0-kali1-amd64 > kali.json

Помогите пожалуйста. Спасибо.

python3 vol.py -vvvvvvv -f /Linux64.mem linux.pslist.PsList                                                                                                                                1 ⨯
Volatility 3 Framework 2.0.0
INFO     root        : Volatility plugins path: ['/home/user/apps/volatility3/volatility/plugins', '/home/user/apps/volatility3/volatility/framework/plugins']
INFO     root        : Volatility symbols path: ['/home/user/apps/volatility3/volatility/symbols', '/home/user/apps/volatility3/volatility/framework/symbols']
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/plugins, /home/user/apps/volatility3/volatility/framework/plugins
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/automagic
Level 7  root        : Cache directory used: /home/user/.cache/volatility3
INFO     volatility.framework.automagic: Detected a linux category plugin
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
INFO     volatility.framework.automagic: Running automagic: ConstructionMagic
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
Level 9  volatility.framework.configuration.requirements: IndexError - No configuration provided: plugins.PsList.primary
Level 9  volatility.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.PsList.vmlinux
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
Level 9  volatility.framework.configuration.requirements: IndexError - No configuration provided: plugins.PsList.primary
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
Level 9  volatility.framework.automagic.construct_layers: Failed on requirement: plugins.PsList.primary
Level 9  volatility.framework.configuration.requirements: IndexError - No configuration provided: plugins.PsList.primary
Level 9  volatility.framework.automagic.construct_layers: Failed on requirement: plugins.PsList
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
Level 9  volatility.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.PsList.vmlinux
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
Level 9  volatility.framework.automagic.construct_layers: Failed on requirement: plugins.PsList.vmlinux
Level 9  volatility.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.PsList.vmlinux
Level 9  volatility.framework.automagic.construct_layers: Failed on requirement: plugins.PsList
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
Level 6  volatility.framework.automagic.construct_layers: Construction Exception occurred: Unexpected config value found: None
INFO     volatility.framework.automagic: Running automagic: LinuxBannerCache
Level 6  volatility.framework.symbols.intermed: Searching for symbols in /home/user/apps/volatility3/volatility/symbols, /home/user/apps/volatility3/volatility/framework/symbols
INFO     volatility.framework.automagic.symbol_cache: Building linux caches...
Level 7  volatility.framework.layers.resources: Available URL handlers: HTTPErrorProcessor, HTTPDefaultErrorHandler, HTTPRedirectHandler, ProxyHandler, HTTPBasicAuthHandler, ProxyBasicAuthHandler, HTTPDigestAuthHandler, ProxyDigestAuthHandler, AbstractHTTPHandler, HTTPHandler, HTTPSHandler, HTTPCookieProcessor, UnknownHandler, FileHandler, FTPHandler, CacheFTPHandler, DataHandler, JarHandler
INFO     volatility.framework.automagic: Running automagic: LayerStacker
Level 6  volatility.framework: Importing from the following paths: /home/user/apps/volatility3/volatility/framework/layers
Level 9  volatility.framework.configuration.requirements: IndexError - No configuration provided: plugins.PsList.primary
Level 9  volatility.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.PsList.vmlinux
Level 8  volatility.framework.automagic.stacker: Attempting to stack using QemuStacker
Level 8  volatility.framework.automagic.stacker: Attempting to stack using Elf64Stacker
Level 6  volatility.framework.layers.elf: Exception: Bad magic 0x4c694d45 at file offset 0x0
Level 8  volatility.framework.automagic.stacker: Attempting to stack using LimeStacker
Level 8  volatility.framework.automagic.stacker: Stacked LimeLayer using LimeStacker
Level 8  volatility.framework.automagic.stacker: Attempting to stack using QemuStacker
Level 8  volatility.framework.automagic.stacker: Attempting to stack using Elf64Stacker
Level 6  volatility.framework.layers.elf: Exception: Offset 0x0 does not exist within the base layer
Level 8  volatility.framework.automagic.stacker: Attempting to stack using WindowsCrashDumpStacker
Level 8  volatility.framework.automagic.stacker: Attempting to stack using VmwareStacker
Level 8  volatility.framework.automagic.stacker: Attempting to stack using LinuxIntelStacker
DEBUG    volatility.framework.automagic.linux: No suitable linux banner could be matched
Level 9  volatility.framework.configuration.requirements: IndexError - No configuration provided: plugins.PsList.primary
Level 9  volatility.framework.configuration.requirements: TypeError - Layer is not the required Architecture: LimeLayer
Level 9  volatility.framework.configuration.requirements: TypeError - Layer is not the required Architecture: FileLayer
DEBUG    volatility.framework.automagic.stacker: Stacked layers: ['LimeLayer', 'FileLayer']
INFO     volatility.framework.automagic: Running automagic: LinuxSymbolFinder
Level 9  volatility.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.PsList.vmlinux
Level 9  volatility.framework.configuration.requirements: IndexError - No configuration provided: plugins.PsList.primary
Level 9  volatility.framework.configuration.requirements: Symbol table requirement not yet fulfilled: plugins.PsList.vmlinux

Unsatisfied requirement plugins.PsList.primary: Memory layer for the kernel
Unsatisfied requirement plugins.PsList.vmlinux: Linux kernel symbols

A symbol table requirement was not fulfilled.  Please verify that:
        You have the correct symbol file for the requirement
        The symbol file is under the correct directory or zip file
        The symbol file is named appropriately or contains the correct banner


A translation layer requirement was not fulfilled.  Please verify that:
        A file was provided to create this layer (by -f, --single-location or by config)
        The file exists and is readable
        The necessary symbols are present and identified by volatility
Unable to validate the plugin requirements: ['plugins.PsList.primary', 'plugins.PsList.vmlinux']

решение1

После долгих поисков мне удалось найти кое-что, что помогло мне решить проблему, указанную выше. Советы по успешному запуску volatility3 на Ubuntu или Kali:

  • Загрузите правильные символы отладки ядра (sudo apt install linux-image-xxxx-dbg) (обычно они находятся в /usr/lib/debug/boot/vmlinux-xxx (файл elf)
  • Загрузите и используйте dwarf2json из репозитория Volatility github
  • Преобразуйте System.map-xxx (находится в /usr/lib/debug/boot) и vmlinux (как указано выше) в файл json с помощью команды dwarf2json linux --elf vmlinux-xxx --system-map System.map-xxx | xz -c > output.json.xz
  • Поместите файл output.json.xz в каталоги volatility3/volatility/symbols, volatility3/volatility/symbols/linux и volatility3/volatility/framework/symbols.
  • выполните команду python3.x vol.py -f /linux.image linux.pslist.PsList (плагин)
  • Если не удалось, попробуйте vol.py --clear-cache
  • рассмотрите возможность использования avml (двоичный файл захвата памяти Microsoft, доступный для Linux) для получения образа памяти
  • Наконец, *Убедитесь, что все зависимости для волатильности соблюдены (pycrypto, yara и т. д.)
  • Примечание: дампы памяти Windows прекрасно работают сразу после установки.

Вышеуказанное должно решить большинство проблем с volatility3, протестировано на Ubuntu (Focal Fossa) и Kali-2020.4

Связанный контент