• Stars
    star
    332
  • Rank 126,957 (Top 3 %)
  • Language
    C#
  • Created about 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Volumiser

Introduction

Volumiser is a command line tool and interactive console GUI for listing, browsing and extracting files from common virtual machine hard disk image formats.

The tool was written to combat a regular problem where massive 100G+ disk images are often hard to work with or exfiltrate when performing red team operations. Whilst the tool was created for offensive operations, the tool also has benefits outside of it's original intended purpose.

Volumiser Interactive GUI

Volumiser would not be possible without the brilliant DiscUtils project that does most of the heavy lifting parsing volumes and file systems within the virtual disks. Whilst the EBS volume support is a feature added as part of volumiser, this also leverages this excellent library to add this particular disk image format.

Volumiser supports the following disk image formats:

  • Amazon EBS Snapshots
  • Direct Raw Disk (a la NinjaCopy)
  • VHDX
  • VMDK
  • VHD
  • VHDX

along with the following file systems:

  • NTFS
  • FAT
  • ext3
  • ext4

Usage

Interactive Mode

Interactive mode is started by supplying the --image argument followed by a local file or EBS snapshot id

EBS Snapshot Example

EBS snapshot can be loaded via the custom EBS protocol which levereges the EBS direct API for seeking and reading sectors from an EBS volume. By default the AWS CLI credentials file is used for authentication, various AWS options can also be specified using the --awsprofile, --awskey, --awssecret and --awsregion arguments

Volumiser.exe --image "ebs://snap-12345675c8173707d"

Direct Raw Disk Example

Providing you have administrator rights, local raw disk volumes can be accessed via the \\.\PhysicalDriveX image specifier or \\.\C:. When using the PhysicalDrive method, this will parse all volumes contained on the entire disk. In situations where a volume is encrypted with BitLocker, you can switch to the drive letter method, this will access the single volume exposed by the drive letter which will automatically be decrypted by Windows when the volume sectors are read.

Reading all the volumes present on the first physical drive attached to the host

Volumiser.exe --image "\\.\PhysicalDrive0"

Reading the single volume attached to the drive letter C: (use this method for BitLocker'd volumes)

Volumiser.exe --image "\\.\C:"

Local Image File Example

Disk images accessible via the file system can also be specified, including files from network shares

Volumiser.exe --image "c:\Virtual Machines\Domain Controller.vhdx"

C2 Mode

In the event that the interactive console cannot be used, Volumiser supports listing volumes and file systems directly via the --command and --path arguments.

Listing Volumes

Volumes contained within a disk image can be listed using the volumes command

Volumiser.exe --image "c:\Virtual Machines\Domain Controller.vhdx" --command volumes
[+] Opened disk image, Size: 127GB
        Volume ID: VLG{2d02912f-a98f-4074-aaee-c3444d01b43a}, Size: 100 MB, Type: Microsoft FAT
        Volume ID: VLG{22956ef6-5b59-41f7-8751-8331c6183062}, Size: 16 MB, Type: Unknown
        Volume ID: VLG{166c0197-909e-419d-a431-2d9b9df4d1fe}, Size: 129376 MB, Type: Microsoft NTFS
        Volume ID: VLG{bdd5d39c-a214-4ac2-a6b9-2477fe02ffc1}, Size: 553 MB, Type: Microsoft NTFS

Listing File System

Once the volumes have been discovered, the file system for each volume can be listed

Volumiser.exe --image "c:\Virtual Machines\Domain Controller.vhdx" --command ls --path "VLG{166c0197-909e-419d-a431-2d9b9df4d1fe}:\Windows"
[+] Opened disk image, Size: 127GB
[+] Opened volume with ID VLG{166c0197-909e-419d-a431-2d9b9df4d1fe}
17/10/2022 18:51:29  DIR             appcompat
17/10/2022 19:52:06  DIR             apppatch
17/10/2022 18:59:17  DIR             AppReadiness
17/10/2022 19:53:57  DIR             assembly
14/05/2022 09:26:58  DIR             bcastdvr
14/05/2022 09:42:31  DIR             Boot
14/05/2022 09:26:54  DIR             Branding
14/05/2022 11:35:21  DIR             BrowserCor
...

"Downloading" Files

Files can be "downloaded" to your local machine using the download command

Volumiser.exe --image "c:\Virtual Machines\Domain Controller.vhdx" --command download --path "VLG{166c0197-909e-419d-a431-2d9b9df4d1fe}:\Windows\system32\config\SYSTEM"
[+] Opened disk image, Size: 127GB
[+] Opened volume with ID VLG{166c0197-909e-419d-a431-2d9b9df4d1fe}
[+] Opened file with path \Windows\System32\config\SYSTEM for with size: 12058624

More Repositories

1

SweetPotato

Local Service to SYSTEM privilege escalation from Windows 7 to Windows 10 / Server 2019
C#
1,598
star
2

SharpBlock

A method of bypassing EDR's active projection DLL's by preventing entry point exection
C#
1,114
star
3

BeaconEye

Hunts out CobaltStrike beacons and logs operator command output
C#
879
star
4

ThreadlessInject

Threadless Process Injection using remote function hooking.
C#
718
star
5

BOF.NET

A .NET Runtime for Cobalt Strike's Beacon Object Files
C
668
star
6

lsarelayx

NTLM relaying for Windows made easy
C++
536
star
7

okta-terrify

Okta Verify and Okta FastPass Abuse Tool
C#
286
star
8

MirrorDump

Another LSASS dumping tool that uses a dynamically compiled LSA plugin to grab an lsass handle and API hooking for capturing the dump in memory
C#
259
star
9

MinHook.NET

A C# port of the MinHook API hooking library
C#
204
star
10

goreflect

Reflective DLL loading of your favorite Golang program
C
164
star
11

SylantStrike

Simple EDR implementation to demonstrate bypass
C
155
star
12

gssapi-abuse

A tool for enumerating potential hosts that are open to GSSAPI abuse within Active Directory networks
Python
137
star
13

DGPOEdit

Disconnected GPO Editor - A Group Policy Manager launcher to allow editing of domain GPOs from non-domain joined machines
C#
135
star
14

Shwmae

C#
124
star
15

PIVert

C#
103
star
16

dnMerge

A lightweight .NET assembly dependency merger that uses dnLib and 7zip's LZMA SDK for compressing dependant assemblies.
C#
96
star
17

PinSwipe

Smart Card PIN swiping DLL
C
74
star
18

gookies

A Chrome cookie dumping utility
Go
46
star
19

PwnyForm

C#
42
star
20

ProvisionAppx

C#
36
star
21

bittrex4j

Java library for accessing the Bittrex Web API's and Web Sockets
Java
32
star
22

PoC

Exploit PoC for CVE's and non CVE's alike
Python
22
star
23

Jboss-Wilfly-Hashes-to-Hashcat

Converts JBoss/Wildfly management users properties file to hashcat format compatible with mode 20
Python
12
star
24

VulnHub

VulnHub Walkthroughs
Python
4
star
25

MediaPortal-AsteriskCid

C#
1
star