Page cover

Volatility2 Installation Guide for Kali Linux (ARM64) 2025

Full walkthrough how to install Volatility2 on Kali Linux in 2025

Overview

This guide provides step-by-step instructions for installing Volatility2 with functional shellbags plugin on Kali Linux ARM64 architecture (Apple Silicon M2/M3 or other ARM-based systems).

Tested on:

  • Kali Linux ARM64 (2025.x+)

  • Python 2.7.18

  • Architecture: aarch64

Table of Contents

  1. Prerequisites

  2. Installation Steps

  3. Verification

  4. Usage Examples

  5. Troubleshooting

  6. Important Notes

Prerequisites

Required System Packages

Why These Packages?

  • python2 - Volatility2 requires Python 2.7 (deprecated but necessary)

  • python2-dev - Development headers for compiling Python modules

  • git - For cloning Volatility2 repository

  • build-essential - Compiler tools (gcc, make, etc.)

  • wget - For downloading pip installer

Installation Steps

Step 1: Install pip for Python 2.7

Since pip2 is no longer available in Kali's repositories, install it manually:

Step 2: Fix setuptools and Install Dependencies

The key to making shellbags work is installing the correct versions of dependencies:

⚠️ IMPORTANT: shellbags plugin REQUIRES construct==2.5.5. Newer versions (2.9+) are NOT compatible!

Step 3: Install Additional Dependencies

Note: Some packages like pycryptodome, yara-python, pillow, openpyxl, and ujson may fail on Python 2.7 ARM64. They are optional and not required for shellbags functionality.

Step 4: Clone and Install Volatility2

Verification

Test Basic Functionality

Expected output for shellbags:

Test with Memory Dump

Usage Examples

Basic Commands

Based on file victim.raw from THM Room Forensics

TryHackMe "Forensics" Room Cheatsheet

Creating Aliases (Optional)

Add to your ~/.zshrc or ~/.bashrc:

Troubleshooting

Problem: "No module named construct"

Solution:

Problem: "shellbags plugin not found"

Solution:

Problem: "AttributeError: 'module' object has no attribute..."

Cause: Wrong construct version (2.9+ instead of 2.5.5)

Solution:

Problem: "ImportError: No module named importlib"

Solution:

Problem: Icons appearing on desktop

Cause: Installation process may create .desktop files or logs

Solution:

Problem: Permission denied errors

Solution: Use sudo for system-wide installation:

Side Notes

About /tmp Directory

We use /tmp for temporary downloads (like get-pip.py) beacuse /tmp is cleaned on system reboot and keeps your home directory clean

It's best practice for installer files.

Python 2.7 Deprecation

⚠️ Warning: Python 2.7 reached end-of-life on January 1, 2020. It is no longer maintained.

Use Python 2.7 ONLY for Volatility2 - for new projects, use Volatility3 with Python 3

Volatility2 is still necessary for some legacy plugins like shellbags or to solve some older THM rooms or other CTF's competitions so keep it in your DFIR arsenal!

Security Considerations

  • Only analyze memory dumps from trusted sources

  • Memory dumps may contain sensitive data (passwords, keys)

  • Use isolated VM for malware analysis

  • Never run Volatility2 on production systems

Performance Tips

Additional Resources

Official Documentation

TryHackMe room:

Alternative Tools

  • Volatility3 - Modern version with Python 3 support

  • RegRipper - Registry analysis tool (can parse shellbags from exported hives)

  • ShellBagsExplorer - Eric Zimmerman's GUI tool for shellbags analysis (Windows only)

Changelog

  • v1.0 (2024) - Initial guide for Kali Linux ARM64

    • Python 2.7 installation via get-pip.py

    • construct 2.5.5 for shellbags compatibility

    • Tested on Apple Silicon (M2/M3) Kali Linux

Author: TryHard3r Last Updated: November 2025 Platform: Kali Linux ARM64 (aarch64)

Last updated