What is the common method for decrypting the password?

Intro 12

Web_Hacker3
5 years ago

0

I found the file, however, I have trouble decrypting it, I started searching for software to use but didn’t fine them. Since the hint says that there’s a common method for getting around it (which I’m assuming is a decrypting method), what is that method?

18replies
7voices
299views
SIGKILL [r4v463]
5 years ago

0

It is not an encryption method, the hint is misleading. Try to find in which format it is, then you’ll be able to find what you’re looking for.

Web_Hacker3
5 years ago

0

I’m pretty new to encryption, what do you mean by formats? also, i found a site online on which i can decrypt something, however, it asks for a key, can you please give me some examples of what a key looks like? here’s a link to the site if you’re interested: https://www.tools4noobs.com/online_tools/decrypt/

SIGKILL [r4v463]
5 years ago

0

It looks like a really cool site, but what I mean is that this is not encrypted and that there is no key. I can’t really tell you more while you haven’t solve the challenge, but PM once you’ll have and I’ll give you more explanations.

Web_Hacker3
5 years ago

0

Ok, thanks, I'l let you know.

shubhampatel
5 years ago

0

Let me give you hint.

  1. Do you know what is MD5 ?
  2. If yes then think is it possible to convert text to any other text using different method like MD5 ?

If you know both answer then you are almost done.
And this is Big Hint

Web_Hacker3
5 years ago

0

So, what you’re saying is: possible to convert text to any other text using a similar to but not the same method (MD5)?

shubhampatel
5 years ago

0

You can decrypt only encrypted data but MD5 is not encryption method.
if You use MD5 function on any string it will always return 32 character long string even if you convert 100 character long string, that means MD5 do not use encryption. after certain length you can not recover data from MD5 but still you can guess the string by converting every possible string to MD5 and check which string’s MD5 value match with the MD5 you are looking for. this method is known as Rainbow Table.

Now is your String 32 character long ?? if yes then chances are there that string is MD5 but if answer is NO then maybe there is some other algorithm used and you need to find the rainbow table for that algorithm.

If you still confuse that means you did’t try enough.
Try harder.

Web_Hacker3
5 years ago

0

Ok, I did some research on the Rainbow Table and it seems that using a hash function (ie. MD5), then hashing random words from a dictionary I will apparently eventually find the answer, I’m I think in the right way?

shubhampatel
5 years ago

0

yeah you are going right. just you need figure out how to take advantage of this type of methods

Web_Hacker3
5 years ago

0

I typed in “HackThis” in an md5 hash generator and this was the output: 68b9fb745ab480487520a1c402b41169, I’m comparing this with the beginning of the string in the file: 69bfe1e, does this mean I’m getting closer or is a function’s output just simply much more random than that?

SIGKILL [r4v463]
5 years ago

0

This is a pure coincidence, if two hashes look similar, it doesn’t mean at all that the plaintexts look similar too. You can try hashing twice the same word and changing just a letter, you should have a completely different result.

charcode78
5 years ago | edited 5 years ago

0

[quote=Web_Hacker]I typed in “HackThis” in an md5 hash generator and this was the output: 68b9fb745ab480487520a1c402b41169, I’m comparing this with the beginning of the string in the file: 69bfe1e, does this mean I’m getting closer or is a function’s output just simply much more random than that?
[/quote]It is not closer and let me explain.

Hash functions are quick and simple functions that assembles some file or information bit a bit into some shorter information: a fingerprint. So the hash function maps information into a set of identities. But the function is not intended to order the identifications. On the opposite, the hash function is intended to fuzz the set of identifications, in order the hash function to become non-invertible. Also, hash functions are intended not to have more than one data for each identification. So, hash functions are meant to be fast and univocal, but impossible to invert. (Notice: One should refer to “identities” by hash values instead, which is better).

The main applications are to assure integrity and identification of files and to protect passwords.

Some web servers provide the hash value of a downloadable file, when the file is large. The hash value presented on the web page may be compared to the hash value obtained after applying the hash function to the file itself. It garantes that the file is indeed the desired file and it was downloaded on its integrity. Torrent clients may also use hashes to prevent malware or fake file transmissions. If someone substitute the exe file you downloaded for a trojan, for example, you may check its hash without running the exe file. You may ask a friend to compute the hash and compare it with yours, if he has downloaded the same file.

In database servers, passwords are not meant to be stored. What is stored is the hash of the password. Not even the owner of the database is supposed to know the passwords. However, as hash functions are easily computable, one can compute several hashes and build a database of ordered hashes, which is why some hashes may be insecure. Common practices are to apply the hash function more than once and to add secret strings to the password before applying the hash function. Also, it is advisable to use a hash function which has a wide set of possible hashes, as wide as necessary.

MD5 is a hash function, just like SHA (Secure Hash Algorithm) family is. The difference is that MD5 has hashes of 32 hex characters. Because an hex character has 4 bits, 32 hex characters gives 128=324 bits of information. So the total quantity of hex words generated by md5 is 2128, which is close to 1012 of words. SHA512, on the other hand, generates words of 128 hex characters, so 512=1284 bits of information and 2512?1051 words, which is a quantity far greater than MD5’s.

In the following lines, I’ve applied md5 and sha512 to “charcode78”. The command “echo -n” prints a message on the terminal, the result is piped into the hash function algorithm, through “|”. Then you may see the differences and characteristics.

charcode78@localhost ~> echo -n charcode78   
charcode78~                                                                                                                                              

charcode78@localhost ~> echo -n charcode78 | md5sum  
9d54a802ca11b971ff6ef4fa803ff14a  -  

charcode78@localhost ~> echo -n charcode78 | sha512sum  
56b6230ca75d943b40ca7138db1f0cc26d7243a453933f1b153dfe1a56a45294cd0884dbb0012615ae35384a2820a97c025e8bdf9a47726171a1238046684a4e  -  

Hash functions are different from encryption, because encryption infers one’d expect the content to be decrypted. There is the symmetrical encryption, where there is only one key that encrypts and decrypts some content, which is very known. There is also the asymmetrical encryption, where a private key is meant to be held by by only one person and a public key is meant to be held by everybody else. Everybody may encrypt a content that only the owner of the private key is supposed to decrypt. Also, the owner of the private key may encrypt some content that everybody may decrypt, but only he could have encrypted. The owner of the private key is the only one who can read the content, if it is encrypted with his public key, or the owner of the private key is the author of the encrypted content if he encrypted it and everybody may know about it.

So, while hash functions may provide integrity and identification of information and is applied to information itself to generate a fingerprint, encryption may provide confidentiality and authenticity of information and depends on the application of secret keys.

In the following I’ve posted the symmetrical encryption. By the way, gpg used AES, which is a block cypher. That’s why charcode78 was turned into 4 hex lines. Also, I had to type the password and it was not shown on the terminal. =)

charcode78@localhost ~> echo -n charcode78 | hd  
00000000  63 68 61 72 63 6f 64 65  37 38                    |charcode78|  
0000000a  

charcode78@localhost ~> echo -n charcode78 | gpg --symmetric | hd  
gpg: gpg-agent is not available in this session  
00000000  8c 0d 04 07 03 02 df 30  9b 34 71 30 65 d2 60 d2  |.......0.4q0e.`.|  
00000010  3f 01 b3 33 c4 61 5b 46  13 02 3a b8 3e 77 e3 33  |?..3.a[F..:.>w.3|  
00000020  48 2a 74 08 d7 9e fc b6  18 be d1 0b 6f 07 81 85  |H*t.........o...|  
00000030  f6 92 6a 65 8f e6 01 cc  83 ff 8a bf ae e0 77 ef  |..je..........w.|  
00000040  6e 91 d0 0f 6d 51 12 e7  b2 83 9f e2 a3 61 80 ce  |n...mQ.......a..|  
00000050  

charcode78@localhost ~> echo -n charcode78 | gpg --symmetric | gpg --decrypt | hd  
gpg: gpg-agent is not available in this session  
gpg: AES encrypted data  
gpg: gpg-agent is not available in this session  
gpg: encrypted with 1 passphrase  
00000000  63 68 61 72 63 6f 64 65  37 38                    |charcode78|  
0000000a  

In resume, you can’t never ever [s]DECRYPT[/s] or [s]DECYPHER[/s] a hash! Instead you may talk about CRACKING the hash.

SIGKILL [r4v463]
5 years ago

0

@charcode78 nice post, it explains things clearly, but I’ll have to disagree on some points.

On this paragraph:

[quote=charcode78]In database servers, passwords are not meant to be stored. What is stored is the hash of the password. Not even the owner of the database is supposed to know the passwords. However, as hash functions are easily computable, one can compute several hashes and build a database of ordered hashes, which is why some hashes may be insecure. Common practices are to apply the hash function more than once and to add secret strings to the password before applying the hash function. Also, it is advisable to use a hash function which has a wide set of possible hashes, as wide as necessary.
[/quote]

You should have specified that functions like SHA, MD, and plenty others hash functions are not meant to hash passwords. As you told, one can easily craft a hash table. Some workarounds have been found, like salts, increase of computational time by applying multiple times the hash function. bcrypt for example is a hash functions meant to hash passwords and it takes as input an algorithmic cost that will define the computation power needed (computational time depending on the hardware). This plus the good practice of using new pseudo-randomly generated salts for each password, make hash tables and rainbow tables impractical due to the computational power needed to retrieve a single password.

Also, you refer to salts as “secret strings”, which is false. In practice, we tend to not make salts public, but this is because there is no need for it. The point of a salt is not to increase security because it’ll add a secret element to a password, but to increase the security by not making same passwords giving the same hash. Hash functions are deterministic, so this is the only way (if someone sees another secure and practical way, please post it below) to avoid two identical passwords to map to the same hash. If an attacker retrieve a database with passwords and salts, (passwords being hashed and salts being in plaintext), he’ll need to generate a hash table for each salt, so to retrieve n passwords, he’ll need n hash tables.

Psyberion
5 years ago

0

I haven’t read the entire thread so it may well be the case that someone’s pointed this out already, but I just want to add that hash tables aren’t the only threat to weaker hash functions. Since hashes are fixed length strings there’s a finite amount of hashes for each given algorithm. Since there is an infinite amount of passwords (in theory anyway, some devs make the incredibly silly choice of limiting password length) there are bound to be collisions, i.e. two different strings that both map to the same hash. This means that you’ve set “banana” as your password, but I may be able to log in using “apple”. Hash functions with shorter hashes are more susceptible to collisions (e.g. MD5 is crap (in more ways than one), while SHA512 isn’t as bad).

[quote=r4v463]Also, you refer to salts as “secret strings”, which is false. In practice, we tend to not make salts public, but this is because there is no need for it.[/quote]

A case in point for this is WLAN APs. It is common to use the name of the WiFi as the salt for the WiFi password, so changing the name to something custom is quite important. If you don’t, but stick with the default name, there’s likely a premade rainbow table somewhere on the Internet that’s generated for your particular WiFi name, and at that point breaking into the network is a piece of cake. This is probably the reason why most AP names come with a pseudo-random component in the name by default, but still. If the name is “DLink-XXXXX” there’s only 99999 different AP names on that form, so generating all of these is “trivial”. Moral of the story is, change your WiFi name.

charcode78
5 years ago

0

Indeed, r4v463. But actually, I think those posts may agree with each other. Also, psyberion’s.

chemouel
5 years ago

0

i don’t see the file. how have you do it?


0

You should know the type of code first

chemouel
5 years ago

0

ok understood

You must be logged in to reply to this discussion. Login
1 of 19

This site only uses cookies that are essential for the functionality of this website. Cookies are not used for tracking or marketing purposes.

By using our site, you acknowledge that you have read and understand our Privacy Policy, and Terms of Service.

Dismiss