Hello Kali Linux Lovers,
I've developed this little encoder and decoder for base 64 encoding and decoding. The great thing about this in comparison to others out ther is you can use a custom character set as your key, this way it's up to you. I've also included a random key generator as well in the program to allow you to get a key quickly and easily. This is good for any applications you may need to do base 64 obfuscation i.e. AV evasion perhaps. With the way I've done the conversion I do take the remainder bits into account which this feature is not available in the standard base64 program in Kali Linux by default.
Find it on github here https://github.com/lillypad/chameleon/tree/master
chameleon.jpg
The whole idea for the project is simple c based AV evasion where users can enter their own keys to avoid signature based detection. Right now just a custom base 64 encoder but a good basis for what is to follow.
Veil-Evasion is great but I really wanted something that is not a framework but a tool to complete this byte by byte for you.
When building this I do suggest doing make -j so it's multi threaded for those with multi-core processors.
To install just cp chameleon to your usr/bin folder
About Chameleon:
Version: 0.2b
Author: Lilly Chalupowski
Build Notes 0.2b:
Code Cleanup (needs more work)
Added random key generator
Build Notes 0.1b:
Added custom character support
Added encode support
Added decode support
Added progress bar support
Added std-out support
Added multithreaded support
Added easter egg
Needs code cleanup
Building Chameleon:
1. apt-get install make
make -j #For Multi Threaded Chameleon
OR
gcc chameleon.c -o chameleon #For Single Threaded Chameleon
./chameleon
ENJOY!
To Re-Compile:
1. rm chameleon
2. Follow Building Chameleon section
For Help: ./chameleon --help
PS: Chameleon will take remainder bits into consideration base64 default on linux does not
Here is the help screen:
Will be looking to add features so you will be able to add your shellcode and create PE files as well using the custom base 64 obfuscation methods.Code:____ /@ ~-. \/ __ .- | // // @ Version: 0.2b Usage: chameleon (--encode || --decode) -i input_file -o output_file --std-out --ccs --about --rand_key --encode = encode mode --decode = decode mode -i = input file -o = output file -ccs = custom character set (64 unique chars) --about = about screen --rand_key = Generates random base 64 key
If anyone wants to drop in and help me with the project message me on github.
Cheers!
Happy Pen-Testing
-lillypad