Supported Targets¶
Dissect supports a large range of formats. From various disk images, volume systems, file systems and operating systems, to tarballs and proprietary backup formats, and everything combined! This page aims to provide you with an overview of what you can expect Dissect to be able to handle!
Loaders¶
Loaders provide a way to interact with a “target” by combining and accessing source data into usable parts. This creates a virtual representation of the original system.
See also
For a deeper dive into how loaders work, see loaders.
In most cases, Dissect selects the appropriate loader automatically based on the file you target.
It does this by looking at things like the file type, folder structure or special configurations files.
If needed, you can choose the loader yourself by using -L <loader type> option or by using the URI-style notation <loader type>://.
target-query -f func /path/to/target.ab
target-query -f func -L ab /path/to/target
target-query -f func ab:///path/to/target
Important
Just because it does not have a loader, does not mean Dissect cannot open it! In those cases, Dissect falls back to a “raw loader”, which allows it to be opened as any of the supported containers or even supported filesystems. Whether a target is supported as a loader, a container or a filesystem depends on implementation details for that specific format.
Description |
Format |
API |
|---|---|---|
Android backup |
|
|
Acquire |
ZIP or tar with Acquire structure |
|
AccessData AD1 |
|
|
Carbon Black Live Response endpoint |
|
|
Cellebrite UFED export |
|
|
Docker and OCI container images |
tar file with Docker or OCI image structure |
|
Local directory |
Common OS structure ( |
|
Microsoft Hyper-V virtual machine configuration |
|
|
iTunes backup |
Directory with iTunes backup structure |
|
KAPE |
Directory or |
|
Libvirt XML configuration |
|
|
Local system (automatically load all drives such as |
|
|
MQTT broker |
|
|
Netscaler Techsupport Collector |
tar with Netscaler Techsupport structure |
|
Open Virtual Appliance (OVA) |
|
|
Podman OCI overlay |
Directory with Podman overlay structure |
|
Docker overlay2 |
Directory with Docker overlay2 structure |
|
Open Virtualization Format (OVF) |
|
|
Proxmox virtual machine configuration |
|
|
Parallels virtual machine directory |
|
|
Parallels virtual machine configuration |
|
|
Single raw binary file |
Default fallback for unknown files |
|
Multiple raw binary files |
Paths with |
|
Remote Dissect agent |
|
|
Remote SMB server |
|
|
Tanium |
Directory with Tanium structure |
|
(Compressed) tar |
|
|
Unix-like Artifacts Collector (UAC) |
Directory, ZIP or tar with UAC structure |
|
UTM virtual machine |
|
|
Oracle VirtualBox virtual machine |
|
|
Veeam Backup (VBK) |
|
|
Rapid7 Velociraptor |
Directory or ZIP with Velociraptor structure |
|
Proxmox Virtual Machine Archive (VMA) |
|
|
VMware Fusion virtual machine |
|
|
VMware virtual machine configuration |
|
|
Citrix Hypervisor backup (XVA) |
|
|
ZIP |
|
Containers¶
Containers let Dissect interact with a disk-like structure in a consistent way. These can be virtual machine files, forensic containers or a hard disk itself.
See also
For a deeper understanding on how containers work, see containers.
Dissect can select the appropriate container automatically based on either the file extension or file magic.
For example, the QCOW2 container gets selected if the file extension is .qcow2 or if the first bytes of the file are b"QFI\xfb".
Description |
Format |
API |
|---|---|---|
Apple Sparse Image Format |
|
|
FTK Expert Witness Disk Image Format (EWF) |
|
|
Fortinet firmware |
|
|
Parallels HDD virtual disk |
|
|
Parallels HDS sparse virtual disk |
|
|
QEMU QCOW2 |
|
|
VirtualBox VDI virtual disk |
|
|
Hyper-V VHD virtual disk |
|
|
Hyper-V VHDX virtual disk |
|
|
VMware virtual disk |
|
Partition Schemes and Volume Systems¶
Dissect supports most common partition schemes. Nested partitions are supported as well.
Description |
API |
|---|---|
Apple Partition Map (APM) |
|
BSD Disklabel |
|
GUID Partition Table (GPT) |
|
Master Boot Record (MBR) |
Besides these standard partition schemes, Dissect supports disks in RAID configurations or disks with logical volumes that span multiple disks.
See also
For more details, see volumes.
Description |
API |
|---|---|
DDF (Disk Data Format) RAID, common in Dell RAID controllers |
|
LVM2 |
|
Linux MD RAID |
|
VMFS LVM |
Dissect also has decryption capability for some well known systems.
This functionality can be accessed with a keychain file (specified with -K) with multiple passphrases or a keychain value (-Kv) in most Dissect tools.
Filesystems¶
In Dissect, filesystems go beyond traditional disk-based structures. If it behaves like a filesystem, Dissect can likely treat it as one. This includes both standard filesystems and formats that resemble filesystem behavior.
There might be some overlap with loaders and containers, as some formats can function in multiple roles, or need implementation in different areas to work correctly.
See also
For more details, see Filesystems.
Description |
API |
|---|---|
AccessData AD1 |
|
Apple File System (APFS) |
|
Linux Btrfs |
|
CPIO archive |
|
Linux cramfs |
|
exFAT |
|
Linux EXT2, EXT3, EXT4 |
|
FAT12, FAT16, FAT32 |
|
BSD Fast Filesystem (FFS) |
|
Linux Journaling Flash Filesystem (JFFS) |
|
Network File Share (NFS) |
|
Microsoft NTFS |
|
QNX4 and QNX6 |
|
Linux SquashFS |
|
Veeam Backup (VBK) |
|
VMware (VMFS) |
|
VMware vmtar |
|
Linux XFS |
Operating Systems¶
Dissect tries to automatically figure out what operating system is available on the target, based on known file locations and structures. Once the operating system is known, it enables you to get more accurate information from the system, for example, the user or network configuration.
Description |
API |
|---|---|
Windows |
|
Generic Unix |
|
BSD |
|
Citrix |
|
FreeBSD |
|
OpenBSD |
|
Generic Darwin |
|
iOS |
|
macOS |
|
ESXi |
|
Generic Linux |
|
Android |
|
FortiOS |
|
OpenSUSE |
|
RedHat |
|
Debian |
|
Proxmox |
|
VyOS |
Child Targets¶
Dissect supports identifying, listing and querying child targets. These are targets within other targets, such as virtual machines or containers. Dissect finds these by looking inside configuration files on a target. It can do this recursively, and look for child targets inside the child targets for even more child targets.
See also
For more details, see Child targets.
Description |
API |
|---|---|
Colima containers |
|
Docker containers |
|
ESXi virtual machines |
|
Hyper-V virtual machines |
|
Lima containers and virtual machines |
|
Parallels virtual machines |
|
Podman containers |
|
Proxmox virtual machines |
|
QEMU virtual machines |
|
Oracle VirtualBox virtual machines |
|
Virtuozzo containers |
|
VMware Workstation virtual machines |
|
Windows Subsystem for Linux 2 (WSL2) instances |