forked from EmpireProject/Empire
-
-
Notifications
You must be signed in to change notification settings - Fork 577
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #715 from BC-SECURITY/release/5.9.1
v5.9.1 into main
- Loading branch information
Showing
338 changed files
with
4,493 additions
and
1,647 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# BOF Modules | ||
|
||
BOF modules are mostly configured the same as powershell modules. | ||
|
||
Where it varies: | ||
* The `script`, `script_path`, and `script_end` fields are not used | ||
* `bof.x86` and `box.x64` refer to the path to the beacon object file for each architecture | ||
* `bof.entry_point` is an optional field for defining the object file entry point | ||
* An `Architecture` field is required | ||
|
||
|
||
In addition, options add the `format` which breaks them into the following categeories: | ||
``` | ||
-i:123 A 32 bit integer (e.g. 123 passed to object file) | ||
-s:12 A 16 bit integer (e.g. 12 passed to object file) | ||
-z:hello An ASCII string (e.g. hello passed to object file) | ||
-Z:hello A string that's converted to wchar (e.g. (wchar_t)hello passed to object file) | ||
-b:aGVsbG8= A base64 encoded binary blob (decoded binary passed to object file) | ||
``` | ||
|
||
The yaml would use the following format: | ||
```yaml | ||
options: | ||
- name: Architecture | ||
description: Architecture of the beacon_funcs.o to generate with (x64 or x86). | ||
required: true | ||
value: x64 | ||
strict: true | ||
suggested_values: | ||
- x64 | ||
- x86 | ||
- name: Filepath | ||
description: Filepath to search for permissions. | ||
required: true | ||
value: 'C:\\windows\\system32\\cmd.exe' | ||
format: Z | ||
value: 'alex' | ||
``` | ||
BOF modules also support the `advanced.custom_generate` method of generating the script. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Plugins Getting Started | ||
|
||
This page will walk you through the process of creating a plugin for Empire using | ||
the hello world plugin as an example. The hello world plugin is an example plugin | ||
that can be found in the `empire/server/plugins/example` directory. | ||
|
||
``` | ||
empire/server/plugins/example | ||
├── __init__.py | ||
├── example.py | ||
└── plugin.yaml | ||
``` | ||
|
||
The `plugin.yaml` configuration will likely be expanded on in the future, but for now | ||
it only contains one property: `main`. This is the name of the python file within the | ||
plugin's directory that contains the plugin class. | ||
|
||
```yaml | ||
main: example.py | ||
``` | ||
The `example.py` file contains the plugin class. The class must be named `Plugin` | ||
and must inherit from `empire.server.common.plugins.BasePlugin`. | ||
|
||
```python | ||
class Plugin(BasePlugin): | ||
... | ||
``` | ||
|
||
To get into the details of the plugin, move onto the [plugin development](./plugin-development.md) page. |
Oops, something went wrong.