A python script developed to process Windows memory images based on triage type.

Overview

Overview

A python script developed to process Windows memory images based on triage type.

Requirements

  • Python3
  • Bulk Extractor
  • Volatility2 with Community Plugins
  • Volatility3
  • Plaso
  • Yara

How to Use

Quick Triage

python3 winSuperMem.py -f memdump.mem -o output/ -tt 1

Full Triage

python3 winSuperMem.py -f memdump.mem -o output/ -tt 2

Comprehensive Triage

python3 winSuperMem.py -f memdump.mem -o output/ -tt 3

Installation

  1. Install Python 3
  2. Install Python 2
  3. pip3 install -r requirements.txt
  4. Install Volatility 3 Framework
  5. Install Volatility 2 Framework
  6. Download Volatility 2 Community Plugins
  7. Install Bulk Extractor
  8. Install Plaso
  9. Install Yara
  10. Install Strings

How to Read the Output

  • Output directory structure of comprehensive triage:
    • BEoutputdir - Bulk Extractor output
    • DumpedDllsOutput - Dumped DLLs loaded into processes
    • DumpedFilesOutput - Dumped files in memory
    • DumpedModules - Dumped loaded drivers
    • DumpedProcessOutput - Dumped running processes
    • DumpedRegistriy - Dumped loaded registry hives
    • EVTxtract - Extracted data with EVTxtract
    • IOCs.csv - Collected IPs identified in the output data set
    • Logging.log - Logging for the script
    • Plaso - Plaso master timeline
    • Strings - Unicode, Ascii, Big Endian strings output
    • Volatility2 - Volatility2 plugin output
    • Volatility3 - Volatility3 plugin output
    • Yara - Yara matches

Troubleshooting

There are a number of known bugs, which are outlined in this section.

  • Dumping files may not work on Windows images below Windows8. The offset supplied by the volatility3 filescan plugin is sometimes physical and not virtual. There is not a descriptor specifying which is returned either. The current script is expecting virtual only. You can fix this by changing the dumpfiles function from --virtaddr to --physaddr.
Comments
  • Error with Volatility2

    Error with Volatility2

    Hi,

    When i run the script, i have the following error with Volatility 2:

    ERROR: Cant find KDGB for Volatility2 caused by error in regex
    

    Here is my command with the options:

    $ python3 winSuperMem.py -f cridex.vmem -o output -p WinXPSP2x86 -tt 3
    

    Thanks for this great tool.

    opened by belveruski 5
  • ERROR: Cant Find File /path/to/yara/Yarafile.txt

    ERROR: Cant Find File /path/to/yara/Yarafile.txt

    Hello guys , first of all thank you for this awesome tool. attaching a problem occurred while using the software , will be happy to some help thank you

    user_wsl@DESKTOP-U2H1XR3:/mnt/c/Users/user/Desktop/SuperMem-main/SuperMem-main$ sudo python3 winSuperMem.py -f Triage-Memory.mem -o 1234/ -tt 3 INFO: ************************** INFO: File Name: /mnt/c/Users/user/Desktop/SuperMem-main/SuperMem-main/Triage-Memory.mem INFO: Output Directory: /mnt/c/Users/user/Desktop/SuperMem-main/SuperMem-main/1234 INFO: Triage Type: ComprehensiveTriage INFO: Command: winSuperMem.py -f Triage-Memory.mem -o 1234/ -tt 3 INFO: ************************** INFO: Setting up symbols for Volatility3 with windows.info.Info INFO: Locating profile, DTB, and KDGB for Volatility2

    INFO: Started Volatility3 plugin windows.pstree.PsTree INFO: Started Volatility3 plugin windows.cmdline.CmdLine INFO: Started Volatility3 plugin windows.callbacks.Callbacks INFO: Started Volatility3 plugin windows.svcscan.SvcScan INFO: Started Volatility3 plugin windows.registry.userassist.UserAssist INFO: Finished Volatility3 plugin windows.callbacks.Callbacks in 0 seconds INFO: Started Volatility3 plugin windows.pslist.PsList INFO: Started Volatility3 plugin windows.envars.Envars INFO: Started Volatility3 plugin windows.handles.Handles INFO: Finished Volatility3 plugin windows.svcscan.SvcScan in 0 seconds INFO: Started Volatility3 plugin windows.registry.hivelist.HiveList INFO: Started Volatility3 plugin windows.malfind.Malfind INFO: Finished Volatility3 plugin windows.pstree.PsTree in 0 seconds INFO: Started Volatility3 plugin windows.ssdt.SSDT INFO: Finished Volatility3 plugin windows.cmdline.CmdLine in 0 seconds INFO: Started Volatility3 plugin windows.registry.hivescan.HiveScan INFO: Finished Volatility3 plugin windows.registry.userassist.UserAssist in 0 seconds INFO: Started Volatility3 plugin windows.modscan.ModScan INFO: Finished Volatility3 plugin windows.registry.hivelist.HiveList in 0 seconds INFO: Started Volatility3 plugin windows.mutantscan.MutantScan INFO: Finished Volatility3 plugin windows.envars.Envars in 0 seconds INFO: Started Volatility3 plugin windows.psscan.PsScan INFO: Started Volatility3 plugin windows.modules.Modules INFO: Finished Volatility3 plugin windows.registry.hivescan.HiveScan in 0 seconds INFO: Started Volatility3 plugin windows.driverscan.DriverScan INFO: Started Volatility3 plugin windows.getservicesids.GetServiceSIDs INFO: Finished Volatility3 plugin windows.malfind.Malfind in 0 seconds INFO: Started Volatility3 plugin windows.symlinkscan.SymlinkScan INFO: Started Volatility3 plugin windows.dlllist.DllList INFO: Finished Volatility3 plugin windows.ssdt.SSDT in 0 seconds INFO: Started Volatility3 plugin windows.driverirp.DriverIrp INFO: Finished Volatility3 plugin windows.modules.Modules in 0 seconds INFO: Started Volatility3 plugin windows.netscan.NetScan INFO: Finished Volatility3 plugin windows.psscan.PsScan in 0 seconds INFO: Started Volatility3 plugin windows.filescan.FileScan INFO: Finished Volatility3 plugin windows.driverscan.DriverScan in 0 seconds INFO: Started Volatility3 plugin windows.poolscanner.PoolScanner INFO: Finished Volatility3 plugin windows.netscan.NetScan in 0 seconds INFO: Started Bulk Extractor INFO: Finished Volatility3 plugin windows.modscan.ModScan in 0 seconds INFO: Started Strings unicode INFO: Finished Volatility3 plugin windows.filescan.FileScan in 0 seconds INFO: Started Strings ascii INFO: Finished Volatility3 plugin windows.dlllist.DllList in 0 seconds INFO: Started Strings big endian INFO: Finished Bulk Extractor in 0 seconds INFO: Started Volatility2 plugin amcache INFO: Finished Volatility3 plugin windows.driverirp.DriverIrp in 0 seconds INFO: Started Volatility2 plugin getsids INFO: Finished Volatility3 plugin windows.handles.Handles in 0 seconds INFO: Started Volatility2 plugin clipboard INFO: Finished Volatility3 plugin windows.poolscanner.PoolScanner in 0 seconds INFO: Started Volatility2 plugin cmdscan INFO: Finished Volatility3 plugin windows.mutantscan.MutantScan in 0 seconds INFO: Started Volatility2 plugin consoles INFO: Started Volatility3 plugin windows.getsids.GetSIDs INFO: Finished Volatility3 plugin windows.symlinkscan.SymlinkScan in 0 seconds INFO: Started Volatility2 plugin ldrmodules INFO: Finished Volatility3 plugin windows.pslist.PsList in 0 seconds INFO: Started Volatility2 plugin mftparser INFO: Finished Volatility3 plugin windows.getservicesids.GetServiceSIDs in 0 seconds INFO: Started Volatility2 plugin psxview INFO: Finished Volatility3 plugin windows.getsids.GetSIDs in 0 seconds INFO: Started Volatility2 plugin shellbags INFO: Finished Volatility2 plugin cmdscan in 60 seconds INFO: Started Volatility2 plugin shutdowntime INFO: Finished Volatility2 plugin consoles in 64 seconds INFO: Started Volatility2 plugin indx INFO: Finished Volatility2 plugin indx in 8 seconds INFO: Started Volatility2 plugin logfile INFO: Finished Volatility2 plugin logfile in 6 seconds INFO: Started Volatility2 plugin prefetchparser INFO: Finished Volatility2 plugin prefetchparser in 7 seconds INFO: Started Volatility2 plugin schtasks INFO: Finished Volatility2 plugin schtasks in 7 seconds INFO: Started Volatility2 plugin sessions INFO: Finished Volatility2 plugin sessions in 9 seconds INFO: Started Volatility2 plugin shimcachemem INFO: Finished Volatility2 plugin shimcachemem in 6 seconds INFO: Started Volatility2 plugin shimcache INFO: Finished Volatility2 plugin psxview in 125 seconds INFO: Started Volatility2 plugin sockets INFO: Finished Volatility2 plugin shutdowntime in 75 seconds INFO: Started Volatility2 plugin sockscan INFO: Finished Volatility2 plugin sockets in 11 seconds INFO: Started Volatility2 plugin threads INFO: Finished Volatility2 plugin sockscan in 10 seconds INFO: Started Volatility2 plugin usnjrnl INFO: Finished Volatility2 plugin usnjrnl in 7 seconds INFO: Started Volatility2 plugin autoruns INFO: Finished Volatility2 plugin amcache in 156 seconds INFO: Started Volatility2 plugin connections INFO: Finished Volatility2 plugin getsids in 161 seconds INFO: Started Volatility2 plugin connscan INFO: Finished Volatility2 plugin autoruns in 9 seconds INFO: Started Volatility2 plugin hollowfind INFO: Finished Volatility2 plugin connections in 10 seconds INFO: Started Volatility2 plugin malthfind INFO: Finished Volatility2 plugin connscan in 10 seconds INFO: Started Volatility2 plugin timeliner INFO: Finished Volatility2 plugin hollowfind in 10 seconds INFO: Started Volatility2 plugin apihooks INFO: Finished Volatility2 plugin malthfind in 10 seconds INFO: Started Volatility2 plugin messagehooks INFO: Finished Volatility2 plugin clipboard in 177 seconds INFO: Started EVTXTRACT INFO: Finished Volatility2 plugin shimcache in 75 seconds INFO: Started Dumping Registry INFO: Finished Dumping Registry in 0 seconds INFO: Started Dumping DLLs INFO: Finished Dumping DLLs in 0 seconds INFO: Started Dumping Processes INFO: Finished Dumping Processes in 0 seconds INFO: Started Dumping Modules INFO: Finished Dumping Modules in 0 seconds INFO: Finished Volatility2 plugin threads in 99 seconds INFO: Finished Volatility2 plugin mftparser in 266 seconds INFO: Finished EVTXTRACT in 90 seconds INFO: Finished Volatility2 plugin ldrmodules in 320 seconds INFO: Finished Strings ascii in 343 seconds INFO: Finished Volatility2 plugin messagehooks in 168 seconds INFO: Finished Strings unicode in 355 seconds INFO: Finished Strings big endian in 362 seconds INFO: Finished Volatility2 plugin shellbags in 502 seconds INFO: Finished Volatility2 plugin timeliner in 445 seconds INFO: Finished Volatility2 plugin apihooks in 610 seconds Pre-Processing Complete: 100%|█████████████████████████████████████████████████████| 63/63 [13:06<00:00, 12.48s/Command] Dumping Files Complete: : 0Command [00:00, ?Command/s] INFO: Collecting Network IOCs INFO: Running Plaso ERROR: Cant Find File /path/to/yara/Yarafile.txt INFO: Finished all processing in 14 minutes

    opened by Y8765 2
  • Created a docker container around this

    Created a docker container around this

    I just created a docker container around this tool. It is only a dirty version. Needs optimalization ( env variables, unnecessary files removed, etc). Need testing as well, but so far seems working

    https://github.com/takov751/SuperMem-docker

    Any question, just write here or on the repo. It's not something I will actively maintain, just a wrapping.

    opened by takov751 2
  • fix: minor changes to the readme file

    fix: minor changes to the readme file

    convert the how to use sections to H2 convert the how to use instructions to be code blocks change the case of How to Use to title case reorder the change in the options to read to and from

    Awesome project! 🔥

    opened by mrxinu 0
  • Add shebang to winSuperMem.py

    Add shebang to winSuperMem.py

    Running ./winSuperMem.py hits import as the first non-comment line. Without a shebang, this will often run the ImageMagick import tool thinking that winSuperMem.py is a shell script, causing the script to apparently stall execution. Adding the sheban~~d~~g will fix this.

    opened by joswr1ght 0
Owner
CrowdStrike
CrowdStrike
Islam - This is a simple python script.In this script I have written all the suras of Al Quran. As a result, by using this script, you can know the number of any sura at the moment.

Introduction: If you want to know sura number of al quran by just typing the name of sura than you can use this script. Usage in termux: $ pkg install

Fazle Rabbi 1 Jan 2, 2022
This is a a CSMA/CA simulator written in Python based on simulator of the same type

This is a a CSMA/CA simulator written in Python based on simulator of the same type found the link https://github.com/StevenSLXie/CSMA-Simulator with

M. Ismail 4 Nov 22, 2022
Async-first dependency injection library based on python type hints

Dependency Depression Async-first dependency injection library based on python type hints Quickstart First let's create a class we would be injecting:

Doctor 8 Oct 10, 2022
A type based dependency injection framework for Python 3.9+

Alluka A type based dependency injection framework for Python 3.9+. Installation You can install Alluka from PyPI using the following command in any P

Lucina 16 Dec 15, 2022
WhyNotWin11 - Detection Script to help identify why your PC isn't Windows 11 Release Ready

WhyNotWin11 - Detection Script to help identify why your PC isn't Windows 11 Release Ready

Robert C. Maehl 5.9k Dec 31, 2022
The ldapconsole script allows you to perform custom LDAP requests to a Windows domain

ldapconsole The ldapconsole script allows you to perform custom LDAP requests to a Windows domain. Features Authenticate with password Authenticate wi

Podalirius 38 Dec 9, 2022
Rofi script to minimize / unminimize multiple windows in qtile

Qminimize Rofi script to minimize / unminimize multiple windows in qtile Additional requirements : EWMH module fuzzywuzzy module How to use it : - Clo

null 9 Sep 18, 2022
vFuzzer is a tool developed for fuzzing buffer overflows, For now, It can be used for fuzzing plain vanilla stack based buffer overflows

vFuzzer vFuzzer is a tool developed for fuzzing buffer overflows, For now, It can be used for fuzzing plain vanilla stack based buffer overflows, The

Vedant Bhalgama 5 Nov 12, 2022
Developed a website to analyze and generate report of students based on the curriculum that represents student’s academic performance.

Developed a website to analyze and generate report of students based on the curriculum that represents student’s academic performance. We have developed the system such that, it will automatically parse data onto the database from excel file, which will in return reduce time consumption of analysis of data.

VIJETA CHAVHAN 3 Nov 8, 2022
Force you (or your user) annotate Python function type hints.

Must-typing Force you (or your user) annotate function type hints. Notice: It's more like a joke, use it carefully. If you call must_typing in your mo

Konge 13 Feb 19, 2022
Automatic and platform-independent unpacker for Windows binaries based on emulation

_ _ __ _ __ _ | | | | / / (_) \ \ | | | | | |_ __ | | _ | | _ __ __ _ ___| | _____ _ __

null 514 Dec 21, 2022
A calculator developed in Python.

Calculadora Uma simples calculadora... ( + − × ÷ ) ?? Situação do projeto: Projeto finalizado ✔️ ?? Tecnologias: Python Tkinter (GUI) ⚙️ Pré-requisito

Arthur V.B.S. 1 Jan 27, 2022
x-tools is a collection of tools developed in Python

x-tools X-tools is a collection of tools developed in Python Commands\

null 5 Jan 24, 2022
Python script to preprocess images of all Pokémon to finetune ruDALL-E

ai-generated-pokemon-rudalle Python script to preprocess images of all Pokémon (the "official artwork" of each Pokémon via PokéAPI) into a format such

Max Woolf 132 Dec 11, 2022
python's memory-saving dictionary data structure

ConstDict python代替的Dict数据结构 若字典不会增加字段,只读/原字段修改 使用ConstDict可节省内存 Dict()内存主要消耗的地方: 1、Dict扩容机制,预留内存空间 2、Dict也是一个对象,内部会动态维护__dict__,增加slot类属性可以节省内容 节省内存大小

Grenter 1 Nov 3, 2021
Library for Memory Trace Statistics in Python

Memory Search Library for Memory Trace Statistics in Python The library uses tracemalloc as a core module, which is why it is only available for Pytho

Memory Search 1 Dec 20, 2021
Module for remote in-memory Python package/module loading through HTTP/S

httpimport Python's missing feature! The feature has been suggested in Python Mailing List Remote, in-memory Python package/module importing through H

John Torakis 220 Dec 17, 2022
Holographic Declarative Memory for Python ACT-R

HDM This is the repository for the Holographic Declarative Memory (HDM) module for Python ACT-R. This repository contains: documentation: a paper, con

Carleton Cognitive Modeling Lab 1 Jan 17, 2022
A fast Python in-process signal/event dispatching system.

Blinker Blinker provides a fast dispatching system that allows any number of interested parties to subscribe to events, or "signals". Signal receivers

jason kirtland 1.4k Dec 31, 2022