updated the names of the workspace subprojects

This commit is contained in:
17ms 2024-02-13 21:30:05 +02:00
parent 10cbe12a39
commit 9fd511cb62
9 changed files with 54 additions and 55 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 KiB

After

Width:  |  Height:  |  Size: 214 KiB

68
Cargo.lock generated
View File

@ -2,40 +2,6 @@
# It is not intended for manual editing. # It is not intended for manual editing.
version = 3 version = 3
[[package]]
name = "airborne-generator"
version = "0.1.0"
dependencies = [
"airborne-utils",
"clap",
"rand",
"windows-sys",
]
[[package]]
name = "airborne-injector"
version = "0.1.0"
dependencies = [
"airborne-utils",
"lexopt",
"windows-sys",
]
[[package]]
name = "airborne-payload"
version = "0.1.0"
dependencies = [
"windows-sys",
]
[[package]]
name = "airborne-reflective_loader"
version = "0.1.0"
dependencies = [
"airborne-utils",
"windows-sys",
]
[[package]] [[package]]
name = "airborne-utils" name = "airborne-utils"
version = "0.1.0" version = "0.1.0"
@ -140,6 +106,16 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
[[package]]
name = "generator"
version = "0.1.0"
dependencies = [
"airborne-utils",
"clap",
"rand",
"windows-sys",
]
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.12" version = "0.2.12"
@ -169,6 +145,22 @@ version = "0.2.152"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7"
[[package]]
name = "poc-injector"
version = "0.1.0"
dependencies = [
"airborne-utils",
"lexopt",
"windows-sys",
]
[[package]]
name = "poc-payload"
version = "0.1.0"
dependencies = [
"windows-sys",
]
[[package]] [[package]]
name = "ppv-lite86" name = "ppv-lite86"
version = "0.2.17" version = "0.2.17"
@ -223,6 +215,14 @@ dependencies = [
"getrandom", "getrandom",
] ]
[[package]]
name = "reflective-loader"
version = "0.1.0"
dependencies = [
"airborne-utils",
"windows-sys",
]
[[package]] [[package]]
name = "strsim" name = "strsim"
version = "0.10.0" version = "0.10.0"

View File

@ -33,30 +33,31 @@ $ cargo build --release
1. Generate shellcode containing the loader and the payload: 1. Generate shellcode containing the loader and the payload:
``` ```
Usage: airborne-generator.exe [OPTIONS] --loader <LOADER_PATH> --payload <PAYLOAD_PATH> --function <FUNCTION_NAME> --parameter <PARAMETER> --output <OUTPUT_PATH> Usage: generator.exe [OPTIONS] --loader <LOADER_PATH> --payload <PAYLOAD_PATH> --function <FUNCTION_NAME> --parameter <PARAMETER> --output <OUTPUT_PATH>
Options: Options:
-l, --loader <LOADER_PATH> Path to the sRDI loader DLL -l, --loader <LOADER_PATH> Path to the sRDI loader DLL
-p, --payload <PAYLOAD_PATH> Path to the payload DLL -p, --payload <PAYLOAD_PATH> Path to the payload DLL
-f, --function <FUNCTION_NAME> Name of the function to call in the payload DLL -f, --function <FUNCTION_NAME> Name of the function to call in the payload DLL
-n, --parameter <PARAMETER> Parameter to pass to the function -n, --parameter <PARAMETER> Parameter to pass to the function
-o, --output <OUTPUT_PATH> Path to the output file -o, --output <OUTPUT_PATH> Path to the output file
-f, --flag <FLAG> Flag to pass to the loader (by default DllMain is called) [default: 0] -f, --flag <FLAG> Flag to pass to the loader (by default DllMain is called) [default: 0]
-h, --help Print help -h, --help Print help
-V, --version Print version -V, --version Print version
``` ```
2. Inject the created shellcode into target: 2. Inject the created shellcode into target:
``` ```
Usage: airborne-injector.exe -p <process_name> -s <shellcode_path> -k <keyfile_path> Usage: poc-injector.exe -p <PROCESS_NAME> -s <SHELLCODE_PATH> -k <KEYFILE_PATH>
``` ```
3. Depending on the flag passed to the generator, either payload's `DllMain` or user defined function will run: 3. Depending on the flag passed to the generator, either payload's `DllMain` with `DLL_PROCESS_ATTACH` or user defined function will run:
![Payload's DllMain execution with the default flag (0)](/.github/docs/dllmain-exec.png) <div align="center">
<img src=".github/docs/dllmain-exec.png" alt="Payload's DllMain execution with the default flag (0)" width="90%">
![Payload's user defined function execution with the modified flag (1)](/.github/docs/userfunction-exec.png) <img src=".github/docs/userfunction-exec.png" alt="Payload's user defined function execution with the modified flag (1)" width="90%">
</div>
### Disclaimer ### Disclaimer

View File

@ -1,5 +1,5 @@
[package] [package]
name = "airborne-generator" name = "generator"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"

View File

@ -1,5 +1,5 @@
[package] [package]
name = "airborne-injector" name = "poc-injector"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"

View File

@ -85,7 +85,5 @@ fn parse_args() -> Args {
} }
fn print_usage() { fn print_usage() {
println!( println!("Usage: poc-injector.exe -p <PROCESS_NAME> -s <SHELLCODE_PATH> -k <KEYFILE_PATH>");
"Usage: airborne-injector.exe -p <process_name> -s <shellcode_path> -k <keyfile_path>"
);
} }

View File

@ -1,5 +1,5 @@
[package] [package]
name = "airborne-payload" name = "poc-payload"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"

View File

@ -1,5 +1,5 @@
[package] [package]
name = "airborne-reflective_loader" name = "reflective-loader"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"