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, **kwargs)#

Bases: dissect.target.loader.Loader

Load NTUSER.DAT files.

static detect(path)#

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)#

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)#

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.

classmethod detect(target)#

Provide detection of this OSPlugin on a given filesystem.

Note: must be implemented as a classmethod.

Parameters:

fsFilesystem to detect the OS on.

Returns:

The root filesystem / sysvol when found.

classmethod create(target, sysvol)#

Initiate this OSPlugin with the given target and detected filesystem.

Note: must be implemented as a classmethod.

Parameters:
  • target – The Target object.

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

Returns:

An instantiated version of the OSPlugin.

hostname()#

Required OS function.

Implementations must be decorated with @export(property=True).

Returns:

The hostname as string.

ips()#

Required OS function.

Implementations must be decorated with @export(property=True).

Returns:

The IPs as list.

version()#

Required OS function.

Implementations must be decorated with @export(property=True).

Returns:

The OS version as string.

users()#

Required OS function.

Implementations must be decorated with @export.

Returns:

A list of user records.

os()#

Required OS function.

Implementations must be decorated with @export(property=True)

Returns:

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