-
Notifications
You must be signed in to change notification settings - Fork 807
Closed
Labels
Complexity: LowFeatureIssue that describes a new feature to be implemented.Issue that describes a new feature to be implemented.Impact: Mediumsp/5
Milestone
Description
Description
Metamorphic/Polymorphic malware modifies itself to evade detection. As a result, no two copies of the malware share the same hash. Infection Monkey could emulate this property if each copy of the agent had random bytes appended to it.
On startup, if the agent's configuration includes a boolean to enable/disable this behavior, the agent can apply a decorator to its AgentBinaryRepository
that would append a random number of bytes to the end of the agent.
While this won't actually make the agent metamorphic, it would emulate the property that each agent would have a unique hash. More advanced techniques/features should be added in the future. Take this into account when planning tasks.
Tasks
- Add a new section to AgentConfiguration for polymorphism (0d) - @shreyamalviya
- New sub-configuration with a single boolean option
- Update the configuration UI schema to support the new configuration option (0d) - @shreyamalviya
- Documentation (0d) - @shreyamalviya
- Fix checkbox description not displaying in Polymorphic tab (0d) @ilija-lazoroski
- Write a decorator for Agent's
AgentBinaryRepository
that will append 16 random bytes every time an agent is requested (0d) @mssalvatore- Read AgentConfiguration and decide do we need to decorate Agent's
AgentBinaryRepository
(monkey.py
)
- Read AgentConfiguration and decide do we need to decorate Agent's
- Modify the Agent to include its own sha256 hash (0d) @cakekoa
- Modify the
Agent
model to have asha256
field - Modify
AgentRegistrationData
to have asha256
field - Modify
handle_agent_registration
to includesha256
- Modify the
- Modify the Agent to calculate the sha256 and include it in
AgentRegistrationData
(0d) @mssalvatore - Modify some BB tests to enable polymorphism (0.5d)
- Create a function that asserts the uniqueness of agent hashes @mssalvatore
- Update depth_1 and depth_3 to check for unique hashes
Metadata
Metadata
Assignees
Labels
Complexity: LowFeatureIssue that describes a new feature to be implemented.Issue that describes a new feature to be implemented.Impact: Mediumsp/5