Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Example: vhd-forensic

Inputs

  • examples/inputs/vhd-forensic-samples/README.md
  • examples/inputs/vhd-forensic-samples/sample.vhd

Profile

# VHD Forensic Image Example Profile
# Demonstrates analysis of VHD (Virtual Hard Disk) forensic disk images

decode = ["base64"]

max-file-size = 104857600  # 100 MiB

tag = "vhd-forensic"

# Patterns to match in VHD images and extracted partitions
[[patterns]]
  name = "VHD Signature"
  pattern = "63:6F:6E:65:63:74:69:78"  # "conectix" at footer
  type = "bytes"

[[patterns]]
  name = "AWS Access Key"
  pattern = "AKIA[0-9A-Z]{16}"
  type = "regex"

[[patterns]]
  name = "AWS Secret Key"
  pattern = "(?i)aws.{0,20}secret.{0,20}['\"][0-9a-zA-Z/+=]{40}['\"]"
  type = "regex"

[[patterns]]
  name = "SSH Private Key"
  pattern = "-----BEGIN.*PRIVATE KEY-----"
  type = "regex"

[[patterns]]
  name = "Password in Config"
  pattern = "password\\s*=\\s*['\"]?[^'\"\\s]+"
  type = "regex"

[[patterns]]
  name = "Database Connection String"
  pattern = "jdbc:[a-zA-Z0-9]+://[^\\s]+password=[^\\s&;]+"
  type = "regex"

[[patterns]]
  name = "MBR Boot Signature"
  pattern = "55:AA"
  type = "bytes"

[[patterns]]
  name = "GPT Signature"
  pattern = "45:46:49:20:50:41:52:54"  # "EFI PART"
  type = "bytes"

[[patterns]]
  name = "NTFS Signature"
  pattern = "4E:54:46:53"  # "NTFS"
  type = "bytes"

[[patterns]]
  name = "Email Address"
  pattern = "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}"
  type = "regex"

Report outputs

Triage report (converted from triage_report.json)

total_files3
critical_count0
high_count0
medium_count0
low_count0
minimal_count3
must_investigate_count0
all_scoresNone
generated_at2026-01-31T14:40:44.798620233+00:00

top_scores

characteristics_scorefile_typefile_type_scoremust_investigatepathpattern_count_scorepattern_matchespattern_severity_scorereasonsrisk_levelscoresha256
0Other0False/sample.vhd558["5 suspicious patterns detected"]Minimal135678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4db
0Other0False/README.md523["2 suspicious patterns detected"]Minimal8727e2112f3aa742c2fbc8a7a0e4b7a629c6c5f09f29325a86515c3577b04c657
0Other0False/sample.vhd/sample.vhd:vhd:metadata000[]Minimal059becf4cab63377618afc1b735b04b25705334d6824c934c348575b833f162eb

CSV outputs

errors.csv

Empty CSV

files.csv

pathfile_namesha256file_createdfile_modifiedfile_accessedmime_types_from_file_extensionis_symbolic_linkis_extracted_fileis_decoded_fileis_deobfuscated_filetag
/README.mdREADME.md727e2112f3aa742c2fbc8a7a0e4b7a629c6c5f09f29325a86515c3577b04c6572026-01-31T14:35:39.975936764Z2026-01-31T14:35:39.976936747Z2026-01-31T14:36:08.737470505Z["application/x-genesis-rom"]0000
/sample.vhd/sample.vhd:vhd:metadatasample.vhd:vhd:metadata59becf4cab63377618afc1b735b04b25705334d6824c934c348575b833f162eb[]0100
/sample.vhdsample.vhd5678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4db2026-01-31T14:35:03.913534019Z2026-01-31T14:35:03.914534002Z2026-01-31T14:36:08.738470489Z["application/x-vhd"]0000

pattern_matches.csv

idsha256pattern_namematch_typematchlocationlength
1727e2112f3aa742c2fbc8a7a0e4b7a629c6c5f09f29325a86515c3577b04c657VHD Signaturebytesconectix4158
2727e2112f3aa742c2fbc8a7a0e4b7a629c6c5f09f29325a86515c3577b04c657VHD Signaturebytesconectix12338
35678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4dbVHD Signaturebytesconectix10485768
45678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4dbAWS Access KeyregexAKIAIOSFODNN7EXAMPLE2:1520
55678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4dbSSH Private Keyregex-----BEGIN RSA PRIVATE KEY-----5:031
65678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4dbPassword in Configregexpassword = super_secret_1233:027
75678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4dbEmail Addressregexuser@example.com4:016

signature_matches.csv

Empty CSV

unique_files.csv

sha256sha1md5file_sizemime_type_for_contentshannon_entropy
727e2112f3aa742c2fbc8a7a0e4b7a629c6c5f09f29325a86515c3577b04c65751db17240ab464138436782b8faab570198e00bc7179526643f27b072e53e5140edc5db32573text/plain4.98682022434222
59becf4cab63377618afc1b735b04b25705334d6824c934c348575b833f162eb81b99cffda0fef23a30ae18f75b2204aed85f1904dde8029b491ba34491e416d58205826838text/plain4.99978188275922
5678641cfe00dfe87174bec088a6ed724765f5477d5f3ee3b451f83f0deac4db1f9d2a442a6561d63276886076a435faddf0e6060cb25891268c7394b7f32ded41f9a2751049088application/octet-stream0.00398315440918742