pwncat.facts.windows module

Windows-specific facts which are used in multiple places throughout the framework.

class pwncat.facts.windows.WindowsGroup(source: str, name: str, gid: str, description: str, principal_source: str, members: List[str], domain: Optional[str] = None)

Bases: pwncat.facts.Group

Windows-specific group. This augments the Group class.

Parameters
  • source (str) – the generating module

  • name (str) – the group name

  • gid (str) – the group SID

  • description (str) – description for this group

  • principal_source (str) – honestly, again, I have no clue

  • members (List[str]) – list of SIDs for group members

class pwncat.facts.windows.WindowsUser(source: str, name: str, uid: str, account_expires: Optional[datetime.datetime], description: str, enabled: bool, full_name: str, password_changeable_date: Optional[datetime.datetime], password_expires: Optional[datetime.datetime], user_may_change_password: bool, password_required: bool, password_last_set: Optional[datetime.datetime], last_logon: Optional[datetime.datetime], principal_source: str, password: Optional[str] = None, hash: Optional[str] = None, well_known: bool = False)

Bases: pwncat.facts.User

Windows-specific user data. This augments the User class.

Parameters
  • source (str) – the generating module

  • name (str) – the name of the user

  • uid (str) – the user identifier

  • account_expires (Optional[datetime]) – the date/time when the account expires

  • description (str) – description for this account

  • enabled (bool) – whether this account is enabled

  • full_name (str) – the full name of the user

  • password_changeable_date (Optional[datetime]) – the date/time when the password is changeable

  • password_expires (Optional[datetime]) – the date/time when the password expires

  • user_may_change_password (bool) – whether the user can change their own password

  • password_required (bool) – whether the password is required for login

  • password_last_set (Optional[datetime]) – when the password was last changed

  • last_logon (Optional[datetime]) – the last time the user logged in

  • principal_source (str) – honestly, I’m not sure

  • password (Optional[str] = None) – the user’s password if known

  • hash (Optional[str] = None) – the user’s password hash if known