• No results found

The Universal Undetection Process

In document TheCrypterBluePrint (Page 30-41)

Finding and pinpointing Whats causing detection

Chapter 6 The Universal Undetection Process

Like I mentioned earlier,

The most honest true approach you will learn in this ebook, is the fact that no matter what undetection technique or method you use, there is no one technique that will last forever, which means that there’s no guarantee for giving you a technique to easily just copy and paste to make your fud crypter and live happily ever after, that would be a lie..

What This Ebook will give you, is a layout of the universal, proven

techniques that you can keep in mind so you can learn how they work, improve upon them, and make variations of them to successfully make your own FUD Crypters.

Ok so basically lets say you found a certain specific or broad portion of your code thats causing detection, THIS is when the whole undetection process comes into play.

So you have some options at this point depending on if you’re a beginner or experienced programmer.

(More programming knowledge and how crypters are made will give you a huge advantage when undetecting code)

So you can either just recode the portion of code that’s causing detection in a very different or even slightly different way and combine this with the examples I am about to show you

or you can only use the examples alone, using your own variations, of course, and extensive amounts of them. Sometimes though, you will eventually realize that no matter what undetection techniques and how much you use them based, you have to actually end up recoding, or using a different variation of that same code which do the same overall task, And this is very simple for someone who has well rounded programming knowledge so this is why I say, you will have a big advantage if you do too.

There are some vb6 crypter sources in the crypter sources section on this page http://crypters.net/crypter-sources/

So pick which source you want to modify for the purposes of learning how to use the techinques i will show you for undetection.

To some people, modifying another source and making it undetected, that you didn’t make from scratch yourself, means your a fake or a skid..

Now when undetecting, alot of effort and work usually has to be done.. so why make it harder on yourself when theres already sources out there all doing the same thing just in different forms..? Why Reinvent the Wheel?? In alot of cases, to undetect and keep your Crypter undetected, you have to change around code, replace code, add code... to the point where making the Crypter from scratch is almost the same thing..

Some people have different way of doing things and have their reasons.. but from what im teaching for learning purposes and for beginners, you will start by reading other sources and modifying them,

then eventually you can just code a very sophisticated one from scratch someday in the future.

So again.. my point is, for now especially there is no need to reinvent the wheel..

Here’s the basic outline of the whole universal undetection process summed up in the most brief way

● Adding junk code for modifying execution flow and various other reasons ● Changing the order of all code aspects.

● Changing variable names ● String manipulation.

● Change Assembly information ● Add or change icon

The list goes can go on and on if you want to get specific and no specific technique lasts forever, so The main thing to remember is to be very creative and to try many.. MANY variations of ideas and techniques that you think may confuse/distract/deceive antiviruses. Some antiviruses will be deceived and bypassed easily with one technique even.. and another av can be alot harder, so you would have to use variations of all these

techniques. This will definitely require dedication and effort, but can be easy with a good set of techniques and practice. It all comes down to experience and learning from it. I will be giving you and showing you many examples that fall into the category of each of these methods so you will get a perfect idea of how it all works so you can then use and improve upon them with your own.

I will also be getting into automation tools that can do alot of these undetection techniques for you instead of manually, but it is very important that you understand how it all works manually because eventually you will have to manually apply them.

About Unique Stubs and USG’s

Ok so you know how a USG comes with some Crypters right? Well these USG’s also known as stub generators, generate unique versions of the stub for that Crypter. How all of these USG’s generate unique stubs are from using all these methods of undetection but in a click of a button.

How?

A set of techniques and methods are implemented into the USG using variations of the same undetection method/techinque by randomizing the strings, variables, and the order within these undetection techniques (like variations of junk code). Also giving the user the ability to choose specific undetection options/methods to use thus creating a “unique” version of the stub, This way, when someone’s stub becomes detected there is a high chance another persons stub, using the same Crypter, won’t get detected. Since the majority of the stub might have a different variation and layout of the code from all the undetection options/methods used in the usg, there is a high chance the signiture that causes the other stub to be detected will not be shown, or in the same place in this other unique version of it because it might be 90% different. So basically USG’s ultimately give an

advantage for how long the stub will last undetected.

If you dont fully understand this, its fine because you will better understand it once you actually start learning and applying these actual methods and

techniques. lets start with.. Adding junk code

Ok here’s pretty much all the types of junk code: ● junk subs/functions

● fake calls ● fake variables ● junk strings of text ● fake loops

● fake if/else

Basically all junk code is, is randomized portions of regular code which you spread across your program that can either just be in between and/or throughout your programs code, it can deceive or confuse execution but never actually

interferes too much with the process of execution to the point where it will corrupt.

Here are some Examples of junk sub/functions with variations of junk variables/if-else/loops...etc Just to give you an idea...

Here’s a simple example of a Fake Call to a junk sub at beginning of sub main() for slightly modifying execution flow

So be creative, use variations of techniques over variations.. develop your own techniques from these ideas. Never stop trying things and being creative, this is the whole journey and thrill of making Your own FUD Crypter. One example of being creative is, you can add a whole bunch of junk subs/func...etc, into a series of junk modules and classes with nothing else but junk in them and fake

execution.

Changing the order of all code aspects.

This is a simple example so you can get an idea. Changing the order of your code can get very complex and is essential. If you want you can even move a whole set of functions and subs in another module or class.. be creative.

Changing variable names

Changing variable names is highly important and must be done.

Press ctrl + H and you will see a small replace form popup. It is very important that you don’t messup the code, so always make sure you use the right options when changing a certain variable or set of veriables in your code. For example you could be changing a public variable which is used throughout your whole project and without noticing, only selecting the “current module” option, causing only the variables to be changed in that current module..

String manipulation

Changing and encrypting strings/api’s

Just like changing variables, changing strings can mess up your code if you aren’t too cautious.. Especially when encrypting strings and api’s.

Encrypting strings and api’s are very powerful and is a must when it comes to successfully creating a fully undetectable Crypter.

Some examples of string manipulation ● Encrypt Strings

● Reverse Strings ● String conversion

There are many types of encryption algorithms to encrypt strings with for example the most popular are xor, rc4, Rot, string to hex. A big issue most people arent aware of is the fact that sometimes when encrypting strings with some RunPE modules.. bad things happen, files become corrupt, the Crypter itself can become corrupt...etc So always be cautious of your string manipulation. There are some important strings to always make sure are changed or encrypted in your Crypter.

The first to take note of is, The Key Split which is, in the example below: meEncPass = “thepassword”. Change the string to something like: “aksefiaIUEHF@q#)*!qJFIAUEHFIwqNEOGq)#”

and remember, this string has to be the same key split in both the stub project and the crypter project or the crypter will not work and give you a “subscript 9 out of range” error when running the crypted file.

The second to take note of is, all the strings in the RunPE module. 99% of the time these have to be encrypted no matter which runPE module you use. So always remember to encrypt these..

For this example we are going to use a simple Src Undetector http://www.mediafire.com/?uzqym10ttom

(First go in the OCX folder and run the registrar, then run the program)

Before you go any further, always keep a backup of your source because some programs will mess up your code alot.. and you might also..

1. Once downloaded and ocx’s registered, Load the stub project.

2. Click one of the 3 string obfuscation buttons or right click in the project window and select anything you want to try

3. if you encrypted the strings, remember to add the encryption function by right clicking and selecting “Add Xor Function”

Add or change icon

Adding or changing an icon isn’t too good of an undetection technique but it can undetect from 1 or 2 av’s in some situations. Also changing an icon can corrupt files aswell but its actually pretty rare. The reason this would happens is most likely because the icon size is different then the size the file can handle.

it is very simple to change an icon and i can show you in a few easy steps..

If you search around you can find many icon changers easily but for this example we will use reshacker.

1. download reshacker here: http://crypters.net/ResHacker.rar 2. drag the file you want into the window

3. Click through the icon folders until you cant anymore then Right click on icon or icon group and click replace resource

In document TheCrypterBluePrint (Page 30-41)

Related documents