46 Commits

Author SHA1 Message Date
kmanc bd4f3c41c5 Clippy (#87)
* cargo fmt

* cargo update

* clippy warning on forked process execution
2026-01-15 10:21:27 -05:00
kmanc 70fb17e377 did i fix it all? (#85)
* did i fix it all?

* no, had missed a few
2025-05-19 11:19:18 -04:00
kmanc f0630eb600 dependencies (#84)
* dependencies

* moar
2025-01-07 11:11:07 -08:00
kmanc 53b3d3428b Oops (#83)
* i broke everything

* fix some things i broke

* clippy
2024-07-08 11:55:49 -07:00
kmanc 7eb6787562 Update (#82)
* crate updates

* oops
2024-07-08 11:28:04 -07:00
kmanc 115a1953af build error due to implicit cast (#81) 2024-02-23 21:45:57 -08:00
kmanc c534ce1e4d cargo updates (#80)
* this might be it

* some cargo changes

* missed one
2023-11-20 16:33:00 -08:00
kmanc 5ecdae6c5f windows crate updates (#79)
* windows crate updates

* merge conflict

* oopsie

* and another
2023-08-20 10:16:04 -07:00
kmanc e508d28e4d Win (#78)
* cargo lock

* windows version update

* lock file

* windows crate bump

* missed the antistring version

* weird merge conflict
2023-03-29 08:28:12 -07:00
kmanc 4b600cde29 Win (#76)
* cargo lock

* windows version update
2023-03-13 11:40:45 -07:00
kmanc fcbd72f969 Build (#75)
* size optimizations

* updates to lock
2023-03-02 12:41:27 -08:00
kmanc bfe4c68dcc Win crate - inet_pton arg changed (#74)
* lock update

* version bumps

* small fix, should work
2023-01-13 07:46:50 -08:00
kmanc c9b55f5641 newer style of modding files (#73)
* newer style of modding files

* missed one
2022-12-04 10:48:41 -08:00
kmanc 6f38bd67fc Antistring crash (#72)
* cargo lock and version bumps

* reduce number of loadlibrary calls to reduce error 126 crashes

* version bump

* forgot to update the tcp rev shell antistring
2022-11-06 16:46:55 -08:00
kmanc 8d1011cda3 File descriptors (#70)
* lock update

* using new OwnedFd struct instead of RawFd, which means no unsafe code!

* version bump
2022-09-29 10:34:21 -07:00
kmanc fcd72bacc3 Wincrate (#67)
* bump minor version and win crate version

* bump minor version and win crate version

* update lib to use new windows syntax and a few small changes i neglected to make here before

* update tcp_rev_shell to work on new windows crate

* update process_hollowing to work on new windows crate

* update process_migration to work on new windows crate

* lock things

* as expected, i completely botched the merge conflict

* lock change?

* fixed a mistake i introduced
2022-09-22 16:31:37 -07:00
kmanc 7c13182323 Patches (#66)
* gitignore update for mac

* cargo things

* documentation update, finally have multiple os builds figured out

* avoid feature injection on dependencies as it has caused problems in the past

* bump version now

* this shouldnt have changed anything, just reorded so its not a random mess ordered by 'well i made it now'

* missed a required import for the move away from feature injection

* wasnt as lazy this time, actually build for two main oses
2022-09-20 20:58:52 -07:00
kmanc 608ffba3c5 windows crate big changes (#61)
* this is gonna be a while

* here we go again

* lock

* version bumps

* updated code to support windows v0.40.0

* unused import

* wsadata re-cap

* missed a version bump

* Update process hollowing badge data via Github Action

* Update process migration badge data via Github Action

* Update reverse shell badge data via Github Action

* lock

* previously unseen compile issue / clippy flag. will have to revisit how that slipped through

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-09-16 17:45:08 -07:00
kmanc 8efc7f4707 Workflows (#58)
* ran cargo update

* clippy checks for all combinations of features required to pass

* hadnt saved the file, this is the desired version

* small nitpick on my gitignore lol

* new workflow was in the wrong dir and i didnt notice

* need windows dependencies in windows builds

* name consistency

* alphabetizing so i can find things when im adding/changing/removing/etc
2022-09-16 08:42:25 -07:00
kmanc 12c764dc95 Cleanup (#56)
* missed a few before

* prototype, moving to test machine for more

* dont forget this link! its useful

* its macro or nothin

* macros are weird...still playing around

* this feels close, gotta expand array in macro

* i think this does it! will sub in and test thoroughly later

* macro working in tcp_reverse_shell

* macro worked into process migrations

* macro worked into process hollowing

* small code rearranging

* returned functions are unsafe

* antistring functions are split into their own files for ease of maintenance

* post import-cleanup comment update

* extra newline

* that wasnt extra

* spacing and sorting

* Update reverse shell badge data via Github Action

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-09-10 05:24:21 -07:00
kmanc 2e1514c109 Reduce unsafe (#55)
* cargo things

* no more mem::zeroed, using default / null traits

* more removal of lib calls where not needed

* need to test a few payloads to make sure i didnt break anything

* remove non-needed cast

* lots of reorg so things are easier to read. still have some work to go + gotta redo for all the antistrings

* clean up some more junk and try not to create things as null when youre just gonna assign to them anyway

* lock things

* discovered a (probably) long standing bug. dirty workaround in place but gonna want to revisit that eventually

* Update reverse shell badge data via Github Action

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

* Update xor params badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-08-22 11:26:57 -07:00
kmanc cea2e51ba0 Code style (#54)
* no substantive changes, just small updates

* shouldn't be any real change, just some code style best practices

* dunno how this didn't get added to the last commit

* Update reverse shell badge data via Github Action

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-08-18 04:54:13 -07:00
kmanc 9561a8c007 no substantive changes, just small updates (#52)
* no substantive changes, just small updates

* Update shield_io_updater.yml
2022-08-13 16:27:48 -07:00
kmanc f517b2b3ec new windows version needs systeminformation for nt headers (#50)
* new windows version needs systeminformation for nt headers

* forgot to version bump
2022-08-05 21:04:45 -07:00
kmanc d0cc506090 Dependencies (#48)
* fix dependency compat again

* missed a comma

* Update reverse shell badge data via Github Action

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-05-25 17:25:26 -07:00
kmanc 038fa0ebc6 Antistring (#44)
* updates to rco_utils to support api hashing

* version bumps, feature adjustments

* fix tcp cargo

* make the functions public

* hash params done

* add antisand as an optional feature of tcp_reverse shell

* fix links in comments

* lots of cleanup on tcp_reverse_shell

* clippy recommendation

* fully de-stringed version is complete, but gotta figure out how i want to toggle them

* all changes to support antisand and antistring complete!

* antisand and antistring were incompatible because of imports; fixed that. also there is a new implementation of antisand with antistring applied

* antistring support for process hollowing

* antistring updates for process migration

* lock updatrer

* i think this covers the builds needed

* new tool

* readme updates

* more readme updates

* Update README.md

* Update README.md

* Update reverse shell badge data via Github Action

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

* trying a new workflow trigger

* undoing, didnt work the way i wanted it to

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-04-22 11:18:26 -07:00
kmanc 8af8caf75e randomize the anti-sandbox website check (#43)
* randomize the anti-sandbox website check

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-04-13 21:39:01 -07:00
kmanc 7224722070 should be everything required to keep up with the windows crate break… (#41)
* should be everything required to keep up with the windows crate breaking changes

* Update reverse shell badge data via Github Action

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-04-06 22:42:38 -07:00
kmanc 34691f5e74 windows crate API instability...again (#37)
* windows crate API instability...again
2022-03-24 16:24:20 -07:00
kmanc ba41e0a746 dependency_fix (#36)
* the windows crate recently made another breaking change that they didnt acknowledge as breaking

* need to repin the windows crate to 0.33.0 so that old versions dont mess up compilation

* compile profiles drastically reduce binary size across the board

* small version bumps to reflect bugfix

* reordered for alphabtizing

* lock update

* Update reverse shell badge data via Github Action

* Update process hollowing badge data via Github Action

* missed a feature change for the fix

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-03-05 21:19:07 -08:00
kmanc 6e874b9887 Cleanup and refactor (#33)
* whoops

* newlines to end files

* better code comments

* better code comments

* only compile necessary features. ones not asked for get dummy stub functions

* newline at end of file

* small version bump. better conditional compilation logic. better code comments

* build updates to try to cover feature combinations

* typo

* lock

* glaring readme issues...will address more on separate branch

* newline

* typo

* typo

* this was more than just a patch bump for utils

* Update reverse shell badge data via Github Action

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

* Update xor params badge data via Github Action

* lock

* compat change on windows crate

* require newer win version to support change

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-02-03 16:57:30 -08:00
kmanc 477ae0717c Beat defender (#32)
* this is gonna get messy

* getting closer, need to check something

* i was editing the wrong file, lol

* ok now we've made some progress, lets use it

* this needs some cleanup. but tldr is the library has three new functions. one is a legit implementation for windows to try to tell if its AV testing. the other two are bs placeholders

* basic comments and reverse the logic for the wrong one

* lock

* antisand works and now properly passes feature to rco_utils. version bump!

* antisand works and now properly passes feature to rco_utils. version bump!

* Update lib.rs

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-02-03 11:59:16 -08:00
kmanc 62455ab55e Encryption (#31)
* reworked a lot of the way encrypting shellcodes work. allowed xor_shellcode to xor more than just the shellcode. renamed xor_shellcode accordingly. changed the feature name from encrypted to xor. bumped versions

* gh actions and shields

* lock and toml

* these functions are only needed here

* these functions not needed in a lib (at least not now)

* lock

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

* Update xor params badge data via Github Action

* missed one thing, damn

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-02-02 22:30:54 -08:00
kmanc 4dc19550e0 Parameterize (#30)
* lock file

* version bump

* allow user to choose which process they target for migration, but provide defaults that should work

* more lock updates

* version bump

* allow user to choose which process they target for hollowing, but provide defaults that should work

* Update process migration badge data via Github Action

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-02-01 23:30:18 -08:00
kmanc 83d1efa5ee Hollowing encryption (#27)
* lock update

* features + version bump

* encryption for hollowing too!

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-01-30 17:36:03 -08:00
kmanc cdfd676139 Migration encryption (#26)
* changed shellcode default after having changed the key

* features are kinda cool

* lock update

* encryption! will post detection rates and updated instructions later but this is nice

* lock update

* version bump

* Update process migration badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-01-30 15:29:23 -08:00
kmanc ada97f0b16 Shellcode encrypter (#25)
* GH actions update

* new badge to track

* lock and toml

* new tool

* key and encrypted shellcode placeholders

* i missed the lock i guess

* slice xor function which will be needed for later tools

* shellcode XORer and printer

* slice length to generic function as a util

* extend shorter slice to be the same length as longer slice by repeating

* return both of the inputs for equalize to make it harder to misuse. return result (possible error) for xor to make it more clear what went wrong

* default key length ++ and version bump

* version bump

* better validation of input data
2022-01-30 09:48:32 -08:00
kmanc 45d72c96f0 Process hollowing (#23)
* missed commit

* build new tool

* mostly boilerplate for process hollowing

* prepping new tool

* fixing up boilerplate

* whoops, didnt change name

* whoops, didnt change name in another place

* update lock

* scoping out the windows implementation

* CreateProcessW compiles, on to ZwQueryInformation

* new dep for process hollowing

* end to end but something is wrong, gotta debug

* failing at createprocessw....... bleh

* update docs to include process hollowing as the new tool

* update builds in github actions for process_hollowing

* toml and lock updates for process_hollowing

* process_hollowing as the new hotness. windows implementation is 'done' in that it compiles, but it panics immediately so gonna have to look into that

* moved to 'A' win32 calls from 'W'. still not working, but getting further along

* Merge utils into process hollowing (#14)

* update to lock and toml

* adding a utils library for some shared useful functions. starting with u8 array --> u32

* moved to 'A' win32 calls from 'W'. still not working, but getting further along

* needed 64 bit too

* use utils lib instead of byteorder crate. things seem to be working better as a result

* at a bit of a loss...why doesnt this work?

* this was gonna bug me. utils first, then tools

* prep readme for when windows actually works

* moving lone bracket to line above for workflow compat

* badge in workflow, shields, and readme

* still not working, but also not crashing

* spacing error i think

* second validation check. still doesnt work though

* debugging continues

* am i closer? im on the last line so i kinda hope so

* lock update

* update to the new shared config

* update readme a little, more to come

* pretty sure i had a mistake there. also the 'needs' thing will save headache later

* still dunno what the deal is, trying to narrow down the problem

* trying new payloads to no avail

* readme update, still some placeholders

* back to OG shellcode

* it works now. my brain is mush, but it works now

* take THAT comment

* Update README.md

* Update README.md

* Update README.md

* got this working much faster than expected

* readme updated

* Update process hollowing badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-01-28 19:46:01 -08:00
kmanc 14bf59fa01 Refactor (#21)
* shared config library! this will make setting up the payloads much easier

* update lock and toml for new shared config

* migrate rev shell to the new shared config

* lock update again

* shellcodes to config lib

* migrating...process migration to the new shared config

* update readme's links

* minor version bumps

* Update process migration badge data via Github Action

* Update reverse shell badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-01-25 22:00:52 -08:00
kmanc a96331d8c4 Process migration cleanup (#13)
* version bump for process migration

* format strings, swap from win32 'W' calls to 'A' calls for consistency in workspace
2022-01-19 10:01:44 -08:00
kmanc 338017cb54 Documentation (#11)
* missed commit

* filled in links in readme

* filled in links in readme

* bumped process migration to first release
2022-01-15 21:20:13 -08:00
kmanc 8b2752a5a5 Process migration (#10)
* more precise setup

* smarter imports changed lock

* import only in the mod file

* libc for unix

* import in mod file

* import in mod file

* WIP

* unix --> linux

* target linux correctly

* working build, non-working functionality

* really not sure how to run this thing

* clippy suggestion

* dependencies getting narrowed down

* get target pid and verify ptrace perms with process_vm_readv

* need a linux shellcode too

* swapped to ptrace, feel like im close

* seg faults are common and i never get the shell

* this seems more robust but also doesnt work

* removed a few prints and added some coments

* trying to debug this

* looks nicer this way

* idk what im doing

* have i narrowed down the problem?

* still trying to figure out what doesnt work

* minimal nix version via cargo-minimal-verions

* missed commit

* ok finally it works, but in a way that i would never have thought the documentation on ptrace indicated

* it actually works now! and is cleaned up
2022-01-15 20:41:21 -08:00
kmanc a4a8ab7e0b Versioning (#9)
* minimum supported rust version to 1.58 for format strings

* minimum windows version via cargo-minimal-versions

* git.....

* does this fix?

* updating rust worked. now update cargo to ensure no breaking changes to dependencies

* and update lock too
2022-01-15 15:29:37 -08:00
kmanc e487ca18b8 Refactor (#4)
* versioning change; H.M.L where H=breaking change, M=non-breaking change, L=bugfix

* updating gitignore

* project structure to workspaces
2021-12-27 05:29:04 -08:00
kmanc d4a3ea0f1a Small refactor (#3)
* move target checks out of main

* Cargo update
2021-12-20 05:30:45 -08:00
Kevin 8cd431f9f1 Cargo lock and toml 2021-12-13 19:28:04 -08:00