-
Notifications
You must be signed in to change notification settings - Fork 792
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
Malware Masquerade (backend) #3241
Labels
Complexity: Medium
Feature
Issue that describes a new feature to be implemented.
Impact: Medium
sp/5
Milestone
Comments
9 tasks
mssalvatore
added a commit
that referenced
this issue
Apr 24, 2023
This service will have more meat after #3241.
mssalvatore
added a commit
that referenced
this issue
Apr 24, 2023
This service will have more meat after #3241.
10 tasks
10 tasks
mssalvatore
added a commit
that referenced
this issue
Apr 25, 2023
8 tasks
mssalvatore
added a commit
that referenced
this issue
Apr 25, 2023
mssalvatore
added a commit
that referenced
this issue
Apr 25, 2023
mssalvatore
added a commit
that referenced
this issue
Apr 26, 2023
mssalvatore
added a commit
that referenced
this issue
Apr 26, 2023
10 tasks
mssalvatore
added a commit
that referenced
this issue
Apr 26, 2023
mssalvatore
added a commit
that referenced
this issue
Apr 26, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Complexity: Medium
Feature
Issue that describes a new feature to be implemented.
Impact: Medium
sp/5
Description
Masquerade - to assume the appearance of something one is not [1]
A common way of detecting and identifying an executable as malware it to write a detection rule (for a tool like YARA) that checks for the existence of strings or unique byte sequences within the file. In order to improve the fidelity of Infection Monkey's malware emulation, users should be able to specify arbitrary data that will be injected into the agent binaries. This will enable Infection Monkey Agents to masquerade as specific types of malware. This may be particularly useful for a user who writes their own detection rules and needs a way to test them.
Approach
A null byte (or a few null bytes) followed by the desired data (bytes) can be appended to Linux or Windows binaries with no ill effects. The appended data will not execute, but simply be present within the binary.
See [2] for a note on signed Windows binaries.
Tasks
MasqueradeAgentBinaryRepositoryDecorator
. This will wrapIAgentBinaryRepository
methods and append the masque data (supplied to the decorator's constructor) to the agent binaries when they are requested. (0d) @ilija-lazoroskiapply_{linux,windows}_masque(masque: Optional[bytes])
function toIAgentBinaryService
(0d) @mssalvatoreAgentBinaryService.apply_{linux,windows}_masque(masque: Optional[bytes])
, It should apply the masque decorator to the repository if themasque
is notNone
, or remove the decorator ifmasque
isNone
.GET/PUT /api/agent-binaries/{linux,windows}/masque
(0d) - @shreyamalviyaThe text was updated successfully, but these errors were encountered: