dissect.target.plugins.os.default._os¶
Module Contents¶
Classes¶
Base class for OS plugins. |
- class dissect.target.plugins.os.default._os.DefaultOSPlugin(target: dissect.target.target.Target)¶
Bases:
dissect.target.plugin.OSPluginBase 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
@classmethodor@export(...)annotation.- classmethod detect(target: dissect.target.target.Target) dissect.target.filesystem.Filesystem | None¶
Provide detection of this OSPlugin on a given filesystem.
- Parameters:
fs –
Filesystemto 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
Targetobject.sysvol – The filesystem that was detected in the
detect()function.
- Returns:
An instantiated version of the OSPlugin.
- hostname() str | None¶
Return the target’s hostname.
- Returns:
The hostname as string.
- ips() list[str]¶
Return the IP addresses configured in the target.
- Returns:
The IPs as list.
- version() str | None¶
Return the target’s OS version.
- Returns:
The OS version as string.
- users() collections.abc.Iterator[flow.record.Record]¶
Return the users available in the target.
- Returns:
A list of user records.
- misc_user_paths() collections.abc.Iterator[tuple[str, tuple[str, str] | None]]¶
Yields miscellaneous user paths and user keys.
Example
(“c:/Windows/ServiceProfiles/LocalService”, (“sid”, “S-1-5-19”))
- os() str¶
Return a slug of the target’s OS name.
- Returns:
A slug of the OS name, e.g. ‘windows’ or ‘linux’.
- architecture() str | None¶
Return a slug of the target’s OS architecture.
- Returns:
A slug of the OS architecture, e.g. ‘x86_32-unix’, ‘MIPS-linux’ or ‘AMD64-win32’, or ‘unknown’ if the architecture is unknown.