Skip to content

Autopsy

Autopsy is een Open Source Digital Forensics platform met vele ingebouwde tools die je kunt gebruiken om je onderzoek uit te voeren.

Autopsy Docs:
De Autopsy documentatie.

Autopsy: The Digital Forensics Toolkit, Libby, K., 2023:
Uitleg van de key features van Autopsy en hoe ze je onderzoek kunnen ondersteunen.

Autopsy | TryHackMe - Walkthrough, jcm3, 2024:
Praktische walkthrough van de Autopsy tool a.d.h.v. een TryHackMe box; je hoeft geen kennis van de box de hebben om deze walkthrough te kunnen volgen.

Ghidra

Ghidra is een open source toolkit voor het Reverse Engineeren van software, ontwikkeld door de Amerikaanse NSA.

Introduction to Ghidra | Student Guide with Notes, Grumpycoder.net:
Online Course over het gebruik van Ghidra. Uitgebreid maar niet makkelijk doorzoekbaar.

How to use Ghidra to Reverse Engineer Malware, Fox, N, 2023:
Korte praktische introductie tot het gebruik van Ghidra.

Ghidra Cheat Sheet, NSA, 2024:
Korte cheat sheet voor de Ghidra tool. Onthoud vooral F1 voor de help pages.

Scalpel

Scalpel is een tool die bestanden kan herstellen uit schijf-sectoren die als ongebruikt gemarkeerd staan (m.a.w. “verwijderde” bestanden).

Scalpel Docs:
De Scalpel man page.

File Carving Techniques Using Scalpel, Sunny N. M., Benjamin J., 2021:
Overzicht van de mogelijkheden en beperkingen van Scalpel en hoe je de tool het best in kunt zetten.

Volatility

Volatility is een uitgebreide tool voor het analyseren van memory dumps, met zowel een command-line als GUI-versie beschikbaar.

Configure the volatility3 profile:
Instructies voor hoe je volatility3 configureert om dumps voor de juiste versie van linux kunnen lezen.

How to Use Volatility, Fox, N., 2023:
Korte introductie tot de Volatility tool en hoe je deze kunt gebruiken.

Memory Forensics Using Volatility Workbench, Chandel R., 2020:
Demonstratie en korte omschrijving van alle tools in de Volatility Workbench.

Memory Forensics Cheat Sheet, Pearson A., 2021:
Korte Cheat Sheet voor Volatility, inclusief vergelijking van 2 en 3 tool-names.

Wireshark

Wireshark is een tool voor het monitoren en inspecteren van netwerkverkeer, zowel live als achteraf a.d.h.v. eerder gemaakte network captures.

Wireshark User Guide, Sharpe R., Warnicke E., Lamping U., 2024:
De Wirehark handleiding. Er is ook een pdf-versie beschikbaar.

Filters

Wireshark (en het onderliggende tcpdump) maken gebruik van filters om de netwerkstromen overzichtelijker te maken. Er bestaan twee verschillende vormen van filters: Capture Filters, en Display Filters. Capture Filters gebruik je wanneer je alleen een subset van al het verkeer wil meten en opslaan, en gebruik je bij het configureren van Wireshark/tcpdump

Wireshark Display Filter Guide:
Display Filters gebruik je om, zoals de naam impliceert,

What Is Wireshark And How To Use It, CompTIA, 2020:
Korte tutorial die je door de verschillende interfaces en capabiliteiten van Wireshark neemt

Tekstsecties

Hieronder volgen tekstuele tutorials waar in de bovenstaande secties naar verwezen worden.

Configure the volatility3 profile

Volatility3 needs to be configured with the correct profile in order to be able to read the content of the memory dump; particularly this requires providing it with a symbol table for that particular version of Linux. This can be done with the following steps:

Use the banners tool to find the version of the target OS, and note the major version (e.g. “Bionic”, “Focal”, “Jammy”, “Noble”, etc.), and the version number.

./vol.py -f <file.mem> banners.Banners

You should get an output that looks like this:

0x4158cd1a      Linux version 5.4.0-generic (build@lcy02-amd64-100) (x_86-linux-gnu-gcc-13 (Ubuntu-...
Note version of the Linux kernel (here 5.4.0) and identify the name of the major Ubuntu release that uses that kernel (e.g. “Bionic”, “Focal”, “Jammy”, “Noble”, etc.).

Download dwarf2json

git clone https://github.com/volatilityfoundation/dwarf2json.git
cd dwarf2json/
go build

Build the right linux kernel. Replace <name> with the name of Ubuntu release.

echo "deb [trusted=yes] http://ddebs.ubuntu.com <name> main restricted universe multiverse
deb [trusted=yes] http://ddebs.ubuntu.com <name>-updates main restricted universe multiverse
deb [trusted=yes] http://ddebs.ubuntu.com <name>-proposed main restricted universe multiverse" | \
tee -a /etc/apt/sources.list.d/ddebs.list
apt install ubuntu-dbgsym-keyring
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F2EDC64DC5AEE1F6B9C621F0C8CAB6595FDFF622
apt-get update

Install the debug kernel; replace <version> with the kernel version number.

apt install linux-image-<version>-generic-dbgsym

Check if the debug kernel is installed:

ls -lh /usr/lib/debug/boot

With the correct debug kernel installed you can now generate the symbol table for volatility:

./dwarf2json linux --elf /usr/lib/debug/boot/<kernel_name> > <version>.json

Move the symbol table to the right folder

mv <version>.json <volatility_directory>/volatility3/symbols/<version>/json

Test if volatility works:

./vol.py -f <filename.mem> linux.pslist.pslist