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

Implement exploitation in Puppet #1605

Closed
29 tasks done
mssalvatore opened this issue Nov 16, 2021 · 0 comments
Closed
29 tasks done

Implement exploitation in Puppet #1605

mssalvatore opened this issue Nov 16, 2021 · 0 comments

Comments

@mssalvatore
Copy link
Collaborator

mssalvatore commented Nov 16, 2021

Implement the exploit_host() function of the concrete Puppet. Modify the Master to pass the appropriate options to the exploiters (i.e. propagation credentials). The smb exploit may require additional options.

Note
There's currently a bug where MSSQL exploiter can fail to propagate and prevent other exploiters from running. We can most likely resolve this by having each exploiter return two booleans, one to indicate whether or not the victim is vulnerable and another to indicate whether or not propagation was successful. This would also let us simplify the exploiters config, which now have a true/false field to indicate whether or not an exploiter is capable of propagating.

Tasks

  • Modify config to remove boolean "propagator" field from config (0d) @ilija-lazoroski
  • Add a periodic check (between hosts and/or between exploiters) to get updated credentials from the Island (0d) @mssalvatore
  • Pass other WormConfig settings as options (0d) @ilija-lazoroski
  • Copy commonly used functions on WormConfig to a utils/tools module and add tests (0d) @mssalvatore
    • get_exploit_user_password_or_hash_product()
    • get_exploit_user_ssh_key_pairs()
    • get_exploit_user_password_pairs()
  • Modify ExploitResultData (0d) @shreyamalviya
    • Add OS
    • Add exploit_successful
    • Add propagation_successful
    • Modify mock_puppet
  • Remove skip_if_exploit_file_exists option from config (0d) @shreyamalviya
  • SSH (0d) @ilija-lazoroski
    • Don't modify VictimHost object
    • Change attempt logging and remove credential hashes from log statements
    • Return ExploitResultData
    • Call new get_exploit_user*() functions instead of self._config.*()
    • Accept ITelemetryMessenger in __init__() and use it to send telemetries
  • Hadoop (0d) @shreyamalviya
    • Remove code that sets architecture from web_rce.py
    • Return ExploitResultData
    • Accept ITelemetryMessenger in __init__() and use it to send telemetries
    • Wrap StrutsHadoop with wrapper and load into the puppet in monkey.py
  • Remove dependency on Plugin from HostExploiter (0d) @mssalvatore
  • Implement exploit_host() in Puppet (0d) @mssalvatore
    • Add a wrapper around Exploiters that accepts the necessary parameters for exploitation and object construction (VictimHost, Telemetry messenger, options)
mssalvatore added a commit that referenced this issue Feb 23, 2022
mssalvatore added a commit that referenced this issue Feb 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant