dissect.target.loaders.profile

Module Contents

Classes

ProfileLoader

Load NTUSER.DAT files.

ProfileOSPlugin

Base class for OS plugins.

class dissect.target.loaders.profile.ProfileLoader(path: pathlib.Path, *, parsed_path: urllib.parse.ParseResult | None = None, resolve: bool = True, **kwargs)

Bases: dissect.target.loader.Loader

Load NTUSER.DAT files.

static detect(path: pathlib.Path) bool

Detects wether this Loader class can load this specific path.

Parameters:

path – The target path to check.

Returns:

True if the path can be loaded by a Loader instance. False otherwise.

map(target: dissect.target.target.Target) None

Maps the loaded path into a Target.

Parameters:

target – The target that we’re mapping into.

class dissect.target.loaders.profile.ProfileOSPlugin(target: dissect.target.target.Target)

Bases: dissect.target.plugin.OSPlugin

Base class for OS plugins.

This provides a base class for certain common functions of OS’s, which each OS plugin has to implement separately.

For example, it provides an interface for retrieving the hostname and users of a target.

All derived classes MUST implement ALL the classmethods and exported methods with the same @classmethod or @export(...) annotation.

classmethod detect(target: dissect.target.target.Target) bool

Provide detection of this OSPlugin on a given filesystem.

Parameters:

fsFilesystem to detect the OS on.

Returns:

The root filesystem / sysvol when found.

classmethod create(target: dissect.target.target.Target, sysvol: dissect.target.filesystem.Filesystem) typing_extensions.Self

Initiate this OSPlugin with the given target and detected filesystem.

Parameters:
  • target – The Target object.

  • sysvol – The filesystem that was detected in the detect() function.

Returns:

An instantiated version of the OSPlugin.

hostname() str

Return the target’s hostname.

Returns:

The hostname as string.

ips() list

Return the IP addresses configured in the target.

Returns:

The IPs as list.

version() None

Return the target’s OS version.

Returns:

The OS version as string.

users() collections.abc.Iterator[dissect.target.helpers.record.WindowsUserRecord]

Return the users available in the target.

Returns:

A list of user records.

os() str

Return a slug of the target’s OS name.

Returns:

A slug of the OS name, e.g. ‘windows’ or ‘linux’.