Skip to main content

CDFS

Supported formats​

ISO9660, UDF

Description​

This backend extracts files and metadata from popular CD, DVD, and similar images.

info

Available in Contextal Platform 1.0 and later.

Features​

ISO9660 support​

Canonical (typically .iso) and raw (.raw, .img, .bin, .nrg) formats with or without a custom header are supported. The header presence and the raw sector size are autodetected; Joliet extensions are supported.

UDF support​

All valid block sizes are supported and automatically detected.

Symbols​

Object​

  • UDF → the image contains an UDF file system
  • ISO9660 → the image contains an ISO9660 (or simply ISO) file system
  • LIMITS_REACHED → limits triggered while processing the image

Children​

  • CORRUPTED → this child object is arranged in illegals ways or it's partially out of reach
  • TRUNCATED → the actual length of the data is lesser than the one declared/expected
  • TOOBIG → this child object was not extracted as it exceeds the limits

Example Metadata​

"org": "ctx",
"object_id": "b087012cc7a352a538312351d3c22bb1098c5b64107c8dca18645320e58fd92f",
"object_type": "CDFS",
"object_subtype": null,
"recursion_level": 1,
"size": 1155072,
"hashes": {
"md5": "23693d7b4009938f30bce15b1c23c5f4",
"sha512": "bf2c141b44feb028506b4225f8fae9df3a3f48773396df60317b3b99d37c352998209d7ab3d0988c152ecfb6e633d07f74f2f40199d5c10c6daf3dae6939d275",
"sha1": "c0a12e0293a2414de94bb4b079920e8558af9f3c",
"sha256": "b087012cc7a352a538312351d3c22bb1098c5b64107c8dca18645320e58fd92f"
},
"ctime": 1726169806.977861,
"ok": {
"symbols": [
"ISO9660"
],
"object_metadata": {
"_backend_version": "1.0.0",
"iso9660": {
"bad_chains": false,
"bootable": false,
"has_loops": false,
"num_vols": 1,
"offset": 0,
"partitioned": false,
"sector_size": 2048,
"volumes": [
{
"abstract_file": "",
"application": "OSCDIMG 2.56 (01/01/2005 TM)",
"bibliographic_file": "",
"block_size": 2048,
"copyright_file": "",
"creation_dt": "<INVALID>",
"desc_type": "Primary",
"effective_dt": "",
"expiration_dt": "",
"flags": 0,
"fs_ver": 1,
"id": "CD_ROM",
"joliet": false,
"modification_dt": "",
"preparer": "MICROSOFT CORPORATION, ONE MICROSOFT WAY, REDMOND WA 98052, (425) 882-8080",
"publisher": "MICROSOFT CORPORATION",
"seq": 1,
"set": "CD_ROM",
"set_size": 1,
"space_size": 564,
"system": "",
"version": 1
}
]
}
},
"children": [
{
"org": "ctx",
"object_id": "81bed342f8aca6f1ae4ba461471f0e99604bff7a2e3a41f02cb3b564af9330ad",
"object_type": "LNK",
"object_subtype": null,
"recursion_level": 2,
"size": 991,
"hashes": {
"sha256": "81bed342f8aca6f1ae4ba461471f0e99604bff7a2e3a41f02cb3b564af9330ad",
"sha512": "21c44025737baba604bc49930a0a2bb6fcdc4511f66b95e9a279ccdbff8138e64ad9277c570a05467cb3a64bbd10c140f3d2bca244d1f5ccbe24f9f9bf7c0a51",
"sha1": "094a633a336009e8331a8e3751dc227b0cac59c0",
"md5": "d70f9c0e3035bfe0db5624568e56c44e"
},
"ctime": 1726169806.977861,
"relation_metadata": {
"interleaved": false,
"iso_vol": 0,
"name": "/Socialize.lnk",
"ord": 0,
"t": "2021-06-10 21:15:41.0 -08:00:00"
},
[...]

Example Queries​

object_type == "CDFS"
&& size < 3145728
&& @match_object_meta($iso9660.volumes[0].publisher iregex("microsoft"))
  • This query matches a CDFS object, which is smaller than 3MB and contains a microsoft substring (case insensitive) in the publisher field.
object_type == "CDFS"
&& @count_children() < 20
&& @has_child(object_type == "LNK")
&& @has_child(object_type == "PE" && @has_symbol("ISSUES"))
  • This matches a CDFS, from which less than 20 children objects were extracted, and one of them was a LNK object, and one was a PE object, in which potentially suspicious issues were detected.

Configuration Options​

  • max_processed_size → maximum size of the input object that will be processed (default: 262144000)
  • max_children → maximum number of children objects to create (default: 100)
  • max_child_output_size → maximum size of a single output children object (default: 41943040)