70 Commits

Author SHA1 Message Date
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>
v1.2.0
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 47d9c31ad7 Bugfix (#42)
* clippy suggestion

* bug that prevented xor_params from doing anything at all

* Update xor params badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-04-07 17:48:21 -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 9d00674cb3 README update (#40)
* Update README.md
2022-04-02 10:45:07 -07:00
kmanc ae55d8f2b4 Update LICENSE (#38)
* Update LICENSE

* Delete LICENSE

* Create LICENSE (#39)
2022-04-02 10:10:11 -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 c7b118babb Release1.1 (#35)
* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
v1.1.0
2022-02-04 19:19:15 -08:00
kmanc f37e17dc79 Update README.md 2022-02-04 19:13:09 -08:00
kmanc 166f5ae650 Bugfix (#34)
* spelling mistakes...LOL

* version bumps because those spelling mistakes caused issues with feature flags

* 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-04 15:23:49 -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 970d4146f2 Documentation (#29)
* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md
2022-01-30 22:30:14 -08:00
kmanc 19af1b3066 Update README.md 2022-01-30 22:27:06 -08:00
kmanc 7677f5a46b Documentation (#28)
* Update README.md

* Update README.md
2022-01-30 18:48:17 -08:00
kmanc d9fe80a437 Update README.md 2022-01-30 17:41:53 -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 3aca1b57e5 Release 1 (#24)
* Update README.md

* Update README.md

* Update README.md

* Update README.md
v1.0.0
2022-01-28 21:25:07 -08:00
kmanc e111eb39ab Update README.md 2022-01-28 21:02:10 -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 fb9933e5bd Update README.md 2022-01-28 19:39:29 -08:00
kmanc 551e58ee13 Update README.md 2022-01-27 18:10:14 -08:00
kmanc 1d084e598d Documentation (#22)
* Update README.md

* Update README.md

* Update README.md

* badges to sub-readmes

* main readme polishing

* formatting

* feasts feedback incorporated
2022-01-27 18:09:34 -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 c30ef14d9a Bugfix (#20)
* safer to not go under 100 pid

* Update Cargo.toml

* Update process migration badge data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-01-25 14:31:34 -08:00
kmanc ea80b82d20 Upgrades (#19)
* first official detection rates! need to reorg readmes, add screenshots, and do gifs another day

* separate build categories into jobs so its easier to read

* also separate into jobs for clarity / it seems to make sense

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* mingw issue

* still working on fixing

* Update windows.yml

* does this work?

* Update windows.yml

* Update windows.yml

* Update README.md
2022-01-25 13:42:28 -08:00
kmanc e212d05a8e Bugfix (#18)
* bugfix on cmd process

* version bump for bug

* Update shields data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-01-25 12:58:51 -08:00
kmanc fd16dbab6e Update README.md 2022-01-23 21:56:00 -08:00
kmanc 2bb47361cd Update README.md 2022-01-21 23:43:56 -08:00
kmanc 8170203c08 Update README.md 2022-01-21 23:38:55 -08:00
kmanc 512b05f837 Badges (#16)
* moving the last char up so the new action can work

* placeholder shield data

* new action to update shields based on semver

* new badges on display!

* wrong path

* Update shield_io_updater.yml

* Update shield_io_updater.yml

* Update shields data via Github Action

Co-authored-by: kmanc <kmanc@users.noreply.github.com>
2022-01-21 23:34:34 -08:00
kmanc 4fc0ef3044 Jumped the gun 2022-01-21 18:37:54 -08:00
kmanc 4819562867 Jumped the gun 2022-01-21 18:37:43 -08:00
kmanc 722e81cd4d custom shields in readme! 2022-01-21 18:31:49 -08:00
kmanc 1bf160a2ee Create process_migration.json 2022-01-21 18:30:37 -08:00
kmanc b62f33eb31 Create tcp_reverse_shell.json 2022-01-21 18:30:14 -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 1298be49c7 Documentation (#7)
* updated tcp rev shell documentation

* missed a line

* missed another line

* updating documentation for process migration
2021-12-29 01:33:55 -08:00
kmanc 776934d2ea Refactor (#6)
* more readable cargo files

* no more branch specifier

* documentation overhaul

* ok final rename i think

* change order and add cleans
2021-12-27 12:37:24 -08:00
kmanc b70a086949 Update README.md 2021-12-27 06:39:10 -08:00
kmanc b7d13bc995 Documentation (#5)
* link and badge updates. needs work, will tackle later

* consistent naming
2021-12-27 06:28:20 -08:00
kmanc 47a211284b Create windows.yml 2021-12-27 06:23:52 -08:00