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:
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
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.
If anyone wants to drop in and help me with the project message me on github.

Cheers!

Happy Pen-Testing

-lillypad