Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Credential collectors #1695

Closed
10 tasks done
VakarisZ opened this issue Feb 4, 2022 · 0 comments
Closed
10 tasks done

Credential collectors #1695

VakarisZ opened this issue Feb 4, 2022 · 0 comments
Labels
Complexity: High Feature Issue that describes a new feature to be implemented. Impact: High Refactor

Comments

@VakarisZ
Copy link
Contributor

VakarisZ commented Feb 4, 2022

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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: High Feature Issue that describes a new feature to be implemented. Impact: High Refactor
Projects
None yet
Development

No branches or pull requests

3 participants