Exploring Concepts of Password Cracking with Real-Life Examples

Password cracking is the process of attempting to gain unauthorized access to restricted systems using common passwords or algorithms that guess passwords. In other words, it’s the art of obtaining the correct password that gives access to a system protected by an authentication method.



Let's explore the concept of passwords and illustrate it with a real-life example:

A password serves as a confidential arrangement of characters, designed to validate a user's identity and authorize access to secured systems or accounts.

It is important to know that, Passwords are not stored in their raw textual form. Any website of this age on the internet employs hashing algorithms to encrypt and manage passwords. 

There are various types of hashing algorithms, such as sha1, md5, Panama, and others, are utilized for this purpose.

For example, let’s consider the scenario of Facebook. In order to access your Facebook account, you provide your email ID and password, then click the "login" button.


However, during the initial stages of creating a Facebook account, you complete a form containing your name, and email address, and are prompted to select a password, as well as your gender and birth date

This data is transmitted to Facebook's backend database. Within this database, your name, gender, age, and contact information are stored in their original format.


But, what about the password?  

As mentioned earlier, passwords are never stored in plain text within a website's database. Instead, the password is input into a hashing algorithm, which produces an encrypted output. While this output might seem random, it is actually a result of the hashing process.

This hashed password is then stored within  Facebook's database. It's important to note that the original plain text password you entered is never saved as is within Facebook's database. Only the encrypted version, or the hashed password, is stored.

In essence, this approach enhances security by ensuring that sensitive passwords remain protected, even if there were to be a breach of the database.


Imagine a scenario where Facebook experiences a data breach:

Suppose hackers successfully infiltrate Facebook's user information, gaining access to details like names, ages, genders, emails, and encrypted passwords. 

However, despite obtaining this information, the hackers cannot readily log into specific user accounts due to the encryption. 

When attempting to access an account with the hashed password, hackers are denied entry; they need the original plaintext password.


At this juncture, what does the hacker do now?  

The sole potential approach is to reverse the hash and uncover the plaintext password.

Yet, this proves to be an extremely daunting task. Hashing operates as a one-way function, meaning the original plaintext cannot be derived from the hash itself. This fundamental characteristic defines the design of hashing algorithms. 


So, what options remain for the hackers?

The strength of the password emerges as a pivotal factor. For instance, if an individual uses a common password like " password " (as mentioned previously in the context of signing up for Facebook), a hacker could feasibly discern the plaintext password from the hash string. This is where the concept of rainbow tables comes into play. 

The Rainbow tables consist of password hashes for various frequently used passwords, along with their corresponding plaintext forms. Hackers can search these tables using the obtained hash. If the hash corresponds to a password in the rainbow table, the password has effectively been cracked and its plaintext form is revealed.

It's worth noting that rainbow tables encompass only commonly used passwords. You can explore this further at websites like crackstation.net. 


However, what if the password isn't a common one?

This is where dictionary attacks or Brute-force attacks enter the picture.

In a dictionary attack, a massive text file known as a wordlist is employed. Each entry in this wordlist is a potential password. 

In contrast, a Brute-force attack systematically converts combinations of letters and symbols into their respective hash forms and compares them to the target hash. Essentially, every conceivable password is hashed and checked for a match. This method can be incredibly time-consuming for strong passwords, although it can be expedited with fast computers.

To thwart these attacks, security analysts have introduced a technique known as " salting ." 


What is salting?

Salting is a technique, that involves inserting a specific character combination into designated positions of the plaintext password prior to hashing. Each company deploys its unique salting algorithm, typically undisclosed to the public.

For instance, let's illustrate Facebook's salting algorithm, which inserts the string " m&m2 " at the beginning, after the 4th character, and at the end of the plaintext password. Once the password is salted, the hashing algorithm processes it. 

Salting renders rainbow tables ineffective, even when cracking a weak, commonly used password. The hashes of unsalted and salted passwords do not match. Additionally, brute-force and dictionary attacks prove inadequate for cracking salted passwords unless the hacker is already aware of the specific salting algorithm employed by the company. 

Post a Comment

0 Comments
* Please Don't Spam Here. All the Comments are Reviewed by Admin.

#buttons=(Ok, Go it!) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Ok, Go it!