Skip to content

Credential collectors #1695

@VakarisZ

Description

@VakarisZ

Is your feature request related to a problem? Please describe.
System info collectors are being refactored into more specific components.

Describe the solution you'd like
Refactor monkey\infection_monkey\system_info\SSH_info_collector.py and C:\Users\vzilius\Desktop\infection_monkey\monkey\infection_monkey\system_info\windows_cred_collector into credential collectors component.

credential_collectors4 vpd

Resources

Refer to #1672 to see iterations of the design and reasons why this is being done. Also, @mssalvatore left a good snippet there:
image

Tasks

  • Create ICredentialComponent, Credentials, ICredentialCollector (0d) - @VakarisZ
  • Refactor MimikatzCollector to use the ICredentialCollector interface (SSH collector can be done first instead, but do only 1). Implement required credentials to extend ICredentialComponent (0d) - @VakarisZ
    • Add unit tests
  • Implement CredentialTelemetry, ??Serializer and CredentialSerializer?? objects. Make sure master sends serialized credential telemetries (0d) @mssalvatore
  • Refactor island to parse CredentialTelemetry the same way system info credential was parsed. (0.5d) - @VakarisZ
    • Ensure special characters are properly handled by mongo
      for cred in creds:
      # TODO: This should be handled by the island, not the agent. There is already similar
      # code in monkey_island/cc/models/report/report_dal.py.
      # Lets not use "." and "$" in keys, because it will confuse mongo.
      # Ideally we should refactor island not to use a dict and simply parse credential list.
      key = cred.username.replace(".", ",").replace("$", "")
  • Refactor SSHCollector to use the ICredentialCollector interface. Implement required credentials to extend ICredentialComponent (0d) @ilija-lazoroski
  • Resolve Send network info telemetry #1720 (0d)
  • Don't log sensitive credentials contents when telemetry is sent (0d)
  • Test UI manually (0.25d)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions