There are a lot of hurdles you will have to cross before you get to a point where you can call yourself a “Hacker” and so is Hashes. For one, everyone expects you to know everything to know about everything related to computers – Software, Hardware, networking and everything you can do with these three things (i.e. everything).

Speaking from experience, as one sets out for newer and bigger and more complicated hacks, often the biggest problems arises due to a weak foundation – lack of knowledge about a particular field. Hence, not only are you expected to know everything about Hacking and computers, but you are required for calling yourself a “Hacker”. Reason being, you might hit a roadblock, overcoming which could be quite simple but you wouldn’t know that since you’re not familiar with that field and end up spending hours on it. Forget thinking outside the box, start thinking in a whole new dimension.

With all that in mind, Here we discuss “Hashes”

A cryptographic hash function or algorithm is one that takes an arbitrary block of data and returns a fixed-length string (the hash), such that any (accidental or intentional) change to the data will (with very high probability) change the hash value. The data to be encoded are often called the message, and the hash value is sometimes called the ‘Message Digest’ or simply ‘Digest’.

In a nutshell, say we have this string “Hello”. We run it through a Hashing function and we get something like “kjadhs4as187d9dgh332g35g4”
This is the basic use of Hashing – Hiding Data. Obviously, no sane and sober person can decipher the original “Hello” from that weird string up above (Or can they? Read on…)

Ideal hash functions make it very difficult to get the original message back from the digest. It should be reasonably easy to compute a hash for a given message, infeasible to generate a message with a given hash or to change a message without changing the resultant hash. For practical reasons, we should never find two messages with the same hash. (Read that again)

While no completely ideal function exists, functions which aim for these properties can prove very useful. A classic example of cryptographic hash use is in the storage of passwords. When you sign up for a website, your data is usually stored in a database on servers. The issue is that if your password is stored on the server as regular text and if somebody hacks into the server, your password and everything it gave access to is gone. If your password is hashed on the server, however, an attacker shouldn’t be able to formulate your password from the stored value.

This concept may leave some wondering how a password entered at a later date could then be compared to the stored value to check if the login information is correct, but in fact, this is quite simple. You create an account, type in a password, the server hashes it and stores the digest. On the next login, the inputted password is simply hashed using the same function again, and this new digest is compared to that in the database – if they match, the inputs were the same and the user is allowed access to his/her account. Definitely, a more CPU intensive way to go, but it is what’s keeping our accounts safe.

Situations like this are also where the function property being “infeasible to find two messages with the same hash” becomes very important. If two values generate the same hash (these situations are called collisions, and are something that pretty much all hash functions are vulnerable to), somebody could input an incorrect password yet it could confirm as correct. Yes, you read that correctly!

And now! The million dollar question – How is it even possible to have an algorithm that can give a result which cannot be worked back from?

This really is the cornerstone of hash functions – especially as most secure algorithms are open source and available to the public. The most popular ones are called SHA1 and MD5 if you’re into programming go ahead and google them up to know more about them.

For those who don’t mind a little math, here’s a small example:

Take ‘4’ , Square it.
»16 , Take natural log.
»2.7725 , Multiply by pi.
»8.7103 , Take factorial (gamma function).
»189843.119 ***

Now ask a friend how is 189843.119 related to 4 and watch them laugh at your face. Chances are, even if s/he actually attempts to figure it out they may never get the answer. Meaning, you (the server) have successfully fooled your friend (the hacker). Only a metaphor. Of course, you (the server) can do the same with no problem because you know the exact functions. Just for a comparison, real Hashing functions are so complex even massive supercomputers may not be able to rework the original message from the digest.

The irreversibility isn’t actually as impossible as it might first sound – the tough bit comes in compromising this with all the other ideal properties. The trick is to split the message into a number of blocks, and then jumble them up and interact with each other to get some last seemingly random value pop out. Plus, they may contain not only apparent chaos but the real loss of information, say by cutting off decimal places or approximating large factorials. Meaning, there literally may not be anything related to the original message, not even enough information to actually trace back the message, even by the server hashing it in the first place. Further, a good hash function should produce totally different results if even a single character is changed. So, chop off one decimal place and the hash of “123password” might seem to become the one from “ladygaga” for example. Weird, right? (The function, not Lady Gaga XD) (P.S. – Alphabets or any characters can be literally converted into fixed numbers by taking their respective ASCII codes- which are simply some numbers assigned to every character on your keyboard.)

Rainbow Tables and Salting:

Hash functions are generally pretty strong, however, as always, a brute force attack is a way around the security. You may have heard of things called Rainbow Tables – These are essentially massive tables of Message-Digest pairs for a certain algorithm. Indirectly, a trade-off between time taking CPU power and memory storage. (Message-Digest the pair simply means, in this case, a possible password and the weird string it gives when to running through a hashing function)

For example, say a bunch of powerful computers has worked at generating message-digest pairs for an algorithm for a fair amount of time (a lot of combinations), and they’ve managed to list all the character combinations and associated hashes for up to 5 characters in message length with a known hashing function. If you’re running a website which simply hashes users passwords in a database with this popular (and presumably secure) algorithm, this means that if your users’ passwords aren’t very complex, they may already be listed in the rainbow table. So if an attacker breaks in, they could simply run all the hashes against the rainbow table, hence getting the original passwords for users with weaker passwords.

For example, say your database shows the association

user: JBsux
password: 9d4e1e23bd5b72

However, an entry for “9d4e1e23bd5b72” is found in the rainbow table through a quick search through, and the hash is translated back into the original password, say: “IsecretlyluvJB” and now, you’re screwed, in more than one way.

This is a pretty big problem – not only can users not really be trusted to come up with secure passwords a lot of the time, but popular algorithms are usually the more secure ones, however, this, in turn, means that more people will be interested in putting their CPU horsepower towards bettering the rainbow tables to break more hashes in that algorithm.

(Note: Rainbow tables are just a method to brute force and they suffer from the same weakness: Exponential growth. While most passwords up to 8 characters can be crammed into a reasonable 4 Terabyte hard disk, take it up to 12 characters and you’re looking at over 10 freaking Exabytes or 10 million Terabytes. Further, I got this figure by using the charset: {A-Z, a-z, 0-9} = I didn’t even consider symbols. Count those in and you literally cannot store the possible combinations on every storage device on the planet, combined. Oh, and did I mention that it might actually take even a supercomputer possibly hundreds of thousands of years to actually create that much data? And still, Rainbow tables are practical enough to deserve a mention here and they actually do work, Amazing isn’t it? The main reason being – Weak Passwords. (Surprisingly, “IsecretlyluvJB” at 14 characters long is actually pretty strong and the above example would be technically and practically correct only for a smaller password like “pass”))

Luckily, this problem isn’t too difficult to solve. Generating rainbow tables are only really practical for an amount of characters as the possible combinations of characters simply gets too high for a rainbow table to be generated for all the combinations practically. So to combat rainbow tables, all we really have to do is add a bunch of characters to the end of the password before we hash it, and we have a totally different hash which won’t be in the rainbow table. These extra characters are called salts. These are usually pretty big, around 10-20 or more characters and protect the naïve users who put in a 4 character password. The server may simply append the salt to the user inputted password and then hash it.

There’s one more important precaution that should be taken. Another example: Say, we own a site with millions of users. If we use the same salt for each user password, it’s probably worthwhile for attackers to go out of their way to actually generate a custom rainbow table for values with our salt attached to them! The solution to this is also very simple – use random salts. If salts are different for each user, there’s no way that an attacker can try to get all the passwords in the database, even with a lot of time and a lot of storage memory whereas for the server, it can simply store the username and password hash along with the randomly generated salt and use it again when the user enters the password for logging in.

If attackers wanted to target a specific user, of course, they could waste a whole bunch of time trying to generate a rainbow table specifically for that salt, however, if the user has a strong password it will simply take too long as there are way too many character combinations that the password could contain.

In conclusion, Hashes are today’s way of encrypting (mostly) passwords. A great invention, they are here to stay for a while but like every security system, they are flawed. There’s only so much a company and their servers can do to make sure their users are kept safe, in the end, it’s up to the users to look out for themselves. The annoying websites which keep the passwords to contain say, A capital letter + A number + A symbol, are in fact the most secure. Whereas the ones who accept 4 character length passwords, although convenient are also the most insecure, Hence it’s up to the user to keep themselves safe.

A peek into the world to come tells us passwords themselves will become obsolete in the not so distant future. With BioMetrics already rising up in the world of security. Fingerprint and Retina Scanners, Handwriting and Facial Recognition software etc. mark the beginning of the next big step in the field of cyber safety. Further with the advent of the so-called “Quantum Computers” just beyond the horizon, each of us will have access to CPU’s dozens, perhaps hundreds of times faster than the ones on the market. The billion year long brute force attacks might soon take as little as a few seconds. Breathe a sigh of relief, quantum computing is mostly theoretical for the time being and is just about as real as light sabers in star wars (They are at little glow sticks as compared to light sabers). Right now, we can let them be our grandchildren’s headache

Rewinding to the present, passwords are here to stay (for the near future at least), and so are Hashes. Luckily for us, the hackers, this provides us with just another loophole to exploit.

Note: – This guide is only for knowledge purpose and shouldn’t be used for any illegal activities as we are not responsible for anything happens with this.

Hope HACKAGON have provided a healthy knowledge about Hashes. So, stay secure and keep learning and if you like this article then don’t forget to share it with your friends and always feel free to drop a comment below if you have any query or feedback.

We can introduce an RAT (aka Remote Administration Tool) as hacker’s plague spreading tool with a heavy vicious bite. Here, HACKAGON will make you learn everything you need to start the “Plague”. But to go further, we need to clear up the basics first so, here we go.

RATs are the so-called magic wand of Hacker’s.

Remote Administration Tool

What Is Remote Administration Tool?

A Remote Administration Tool (RAT) is a piece of software that allows a remote “Operator” to control a system as if he has physical access to that system. While Desktop Sharing and Remote Administration have many legal uses, “RAT” software is usually associated with the criminal or malicious activities such as controlling remote PC’s, stealing victims data, deleting or editing some files. One can infect someone else by sending them a file called “Server”. If and when this server file is opened, it burrows itself deep in the system and starts to run in the background. Further, it may also send the attacker a message every time it’s active like when a computer is turned on.

How To Spread Remote Administration Tool?

Some RATs can spread over P2P (peer to peer) file sharing services (Torrents mostly), messenger and email spams (MSN, Skype, AIM, etc.) while other may tag along hiding behind some other software. The user installs something, clicks “Next” 5–6 times and voila! Without anyone ever finding out the RAT has compromised a system.

How To Control Remote Administration Tool Server?

Once installed, the RAT server can be controlled via an RAT client. Basically, it’s just an application that tracks your RAT’s movements. It tells you how many systems are infected, information on their system, versions of OS and other software, their IP address etc. It shows a whole list of IP addresses which may be connected to immediately. After connecting, you can make the computer do pretty much anything like you can send keylogger, uninstall their antivirus, crash their whole system, etc.

What is port forwarding?

In computer networking, Port Forwarding or port mapping is an application of Network Address Translation (NAT) that redirects a communication request from one address and port number combination to another while the packets are traversing a network gateway, such as a router or firewall.

If you’re a gamer or are used to download torrents, you must’ve heard “Port Forwarding” as a way to increase download speeds, reduce lag, etc. In general Port forwarding refers to the redirecting of computer signals to follow specific electronic paths into your computer. The logic behind this shit is, if the computer signal finds its way into your computer a few milliseconds quicker, it will add up to be a possibly dramatic speed increase for your game or your downloading. Don’t start jumping around just yet, your internet connection is probably already optimized for maximum performance (It is so, by default).

Example: A Pencil-thin network cable (that goes into the network adapter) at the back of your computer contains 65,536 microscopic pathways inside it. Your network cable is just like a major highway, except your network cable has freaking 65,536 lanes, and there is a tollbooth on each lane. We call each lane as a “Port”. (FYI, 2^16 = 65,536. So, that tells us 2 bytes = 16 bits in all is sort of the “width” of network cables, which gives us 65,536 different possible combinations – hence, the same number of ports.)

Your internet signal is comprised of millions of tiny little cars that travel on these 65,536 lanes. We call these little cars as “Packets”. These packets can travel as quick as the speed of light, but they do observe a stop-and-go set of rules, where they are required to stop at each major network intersection as if it were a border crossing between countries, or connecting to a different ISP. At each intersection, the packet must do three things:

  • Find an open port.
  • Pass the identification test, that will allow it through that port, and if not.
  • Move to the next port and try again, until it is allowed to pass through the toll.

In some cases, packets sent by hackers will be caught and held at the intersection, where they will then be dissolved into random electrons. When this happens, it is called “Packet Filtering” or “Packet Sniffing”. Likewise, if a hacker gains control of a much-used port, he can control every bit of information that passes through it – Read it, modify or even delete it.

All in all, Port Forwarding is when you command your network router to proactively identify and redirect every packet to travel on specific electronic lanes. Instead of having every packet stop at each port in turn until it finds an open port, a router can be programmed to expedite the process by identifying and redirecting packets without having them stop at each port. Your router then acts like a type of hyper-fast traffic policeman who directs traffic in front of the toll booths.

Can An Antivirus Catch An Remote Administration Tool?

Yes, Actually, Hell Yeah! As a hacker, you will find antiviruses blocking your path at every damn step. But, like every problem, this too has a solution – “Encryption”. It’s called making your server “FUD (Fully Undetectable)”.

Example: Typically encrypted formats, let’s say the password protected .zip or .rar files (if they contain malicious software) can be caught by an Antivirus. Making a program FUD does pretty much the same thing, except it does so like a drunkard with OCD (Obsessive-Compulsive Disorder). What I mean is, running the software through an encryption program again and again so that nothing can recognize what it is and it can pass off as random harmless noise. Something called “Hex Editing” is a well-known way to go about doing this. This is a whole different topic in itself. So, more on this later.

Legal Or Illegal?

Well, some RATs are legal, and some are not. Legal are the ones without a backdoor, and they have the ability to close connection anytime.(Backdoor is something that gives the attacker access to the victim’s system without their knowledge). Plus these are not really referred to as RAT’s, that’s just our (hacker’s) dirty language where the Illegal ones are used for hacking and they may possibly steal data (or worse). A few examples are written below:


  1. TeamViewer – Access any remote computer via Internet just like sitting in front of it – even through firewalls.
  2. UltraVNC – Remote support software for on demand remote computer support.
  3. Ammyy Admin – Like TeamViewer, Ammyy Admin is another reliable and friendly tool for remote computer access.
  4. Mikogo – Mikogo is an Online Meeting, Web Conferencing, Remote Support tool where you can share your screen with several participants in real-time over the Web.

The above tools while very useful and very legal, require a green light from both the parties involved. That’s the main difference between the ones above and the ones below:

Illegal (Or Barely Legal):

  1. Spy-Net
  2. Cerberus Rat
  3. CyberGate Rat
  4. SubSeven
  5. Turkojan
  6. ProRat

These all are used for one purpose – Causing trouble, to say the least. RATs like the ones above are meant to be stealthy. After all, no hacker will want their victims to get a message like: “Congratulations! You have been infected!” (Or maybe let the Antivirus find it). Use any of these on an actual victim, and you will get a ticket to jail, or, at least, a fine. But these are actually used, and mostly without anyone ever suspecting anything wrong. The thing is, hacking is becoming much more of a serious business than a game. An RAT that simply crashes the OS or formats the hard disk gives nothing to the attacker, So why bother doing it in the first place? RAT’s today are evolving (pun unintended). They are becoming more like “parasites” instead of predators. They may be used for DDOSing (by creating massive botnets with tens of thousands of slave computers), clicking ads in the background (the usual click fraud), increasing blog and youtube “views”, even using the compromised systems to “earn money online”, by pushing surveys, exploiting the websites which offer a pay-per-install model, even “mining” bitcoins (Bitcoins are just a fancy new online currency. Bitcoins can be earned by devoting CPU power, then converted into real money, hence their potential exploitation by using RATs).

What’s DNS Host?

A DNS Hosting is a service that runs Domain Name System Servers. Most, but not all, domain name registrars include DNS hosting service with registration. Free DNS hosting services also exist. Many third-party DNS hosting services provide Dynamic DNS.

In general, Domain Name System (DNS) is a hierarchical naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participants. Most importantly, it translates meaningful human understandable Domain Names into the Numerical (Binary) Identifiers associated with networking equipment for the purpose of locating and addressing these devices worldwide.

What Can Remote Administration Tool Do?

  • Manage files (Delete/Modify).
  • Controls Web Browser (Change homepage, open a website, etc.).
  • Get System Information (OS Version, AV name, RAM Memory, Computer name, Network Addresses, etc.).
  • Get Passwords, CC numbers or private data, etc (via Keylogger).
  • View and control remote desktop (Take the screenshot or a snap from the webcam).
  • Record camera, sound (Control mic and camera).
  • Controls victims I/O devices (mouse, keyboard, printer, etc.).

Pretty much everything you can do on your own computer, except play GTA V remotely. (Although technically, you can do that too)

Chances Of Getting Traced?

Yes as well as no because it’s all depends on the slave, it’s really hard to remove the infection or even trace a hacker. There are tools like WireShark, but it’s really hard to trace because PC usually got over 300 connections. So don’t worry.

Note: – This guide is only for knowledge purpose and shouldn’t be used for any illegal activities as we are not responsible for anything happens with this.

We hope that HACKAGON matched our readers expectations regarding RAT – Remote Administration Tool.  so, if you like this article then don’t forget to share it with your friends and always feel free to drop a comment below if you have any query or feedback.