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

circle-info

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

circle-info

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