Share how awesome the crack me was or where you struggle to finish it! Stay polite and do not spoil the solution/flag!
Author:
n0ve3mber
Language:
C/C++
Upload:
7:32 PM 03/06/2021
Platform
Windows
Difficulty:
1.5
Quality:
3.6
Arch:
x86
Description
PE32 Reversing challenge. Guess the dog's name!
MaslovKK on 10:45 AM 03/07/2021: password is admin1234 =)
n0ve3mber on 6:25 PM 03/07/2021: DUDE don't post the solution XDD
pranav on 3:22 PM 03/09/2021: Hey! Is the challenge is to reverse the md5 hash of a string????
n0ve3mber on 10:25 PM 03/10/2021: @pranav Well, The thing was to understand the simple "cmp input, pass" challenge with the "added difficulty" of not being just a clear text string. Could have been rated Level 1 without problem.
s4gr00_x on 2:29 AM 03/12/2021: "Could have been rated Level 1 without problem" MY ASS. This is not even Level 2.. Btw, you're being VERY cringy by saying that a HARD challenge YOU DESIGNED is "very ezzz lvl 1 xdxdxd".. Kid.
n0ve3mber on 3:44 PM 03/12/2021: @s4gr00_x Nobody says this challenge is hard. I've always said this one was easy. What's the problem with making a beginner friendly challenge? If this one is easy for you, you are not on the right challenge. Go on to the next one.
pranav on 11:57 AM 03/13/2021: what? he said it is extremely hard as I understand...and btw you won't get the solution by understanding the last cmp instruction, you have to reverse the goddamn md5 to get the real input and thus the solution... It is actually banned to use commercial or open source strong algorithms in the crackme.. let alone something like md5
pranav on 11:59 AM 03/13/2021: s4gr00_x He didn't even design it, he straight up copied some md5 implementation, wrote a wrapper and there you go! This is how you should not build a crackme.
mohammadali on 2:51 PM 03/13/2021: i patched it in a funny way: https://github.com/ORCA666/patched-files/tree/main/n0ve3mber's%20My%20Dog5
pranav on 3:48 PM 03/13/2021: mohammadali you are a strong patcher, you patch everything.. A new crackme by me is coming, I suggest you try patching that.. also do a writeup!
pranav on 3:51 PM 03/13/2021: mohammadali dude you did it! HAHA lol. Hey are you on the discord server? I'm there at pranavappu007
n0ve3mber on 3:56 PM 03/13/2021: @pranav LOL Obviously you don't have to reverse the hole MD5 function to get the solution. With that stupid approach it will be hard af. When you are comparing the string with the solution, that string is already loaded in memory (I personally checked that) and you can look for it (otherwise it would be impossible for the program to work). It is clear that I don't have to implement the whole md5 algorithm myself because it won't make any difference (however it is ok to know that you can't include a third party algorithm in a crack me. Thanks). At the end, you and @s4gr00_x are just crying because you couldn't solve the challenge, but some people could because it is actually pretty straightforward (you don't have to go through the md5 function, just check the input and the output, and then you realize it is an md5 string). We can discuss if you liked the challenge or not, which is ok, but if you found this one difficult, just go to an "easier one" and leave me alone.
pranav on 2:48 AM 03/14/2021: what? *sighs* well, as I understand, you take the input string, creates the md5 hash of the input string, and compares it to the md5 string stored in the system. For a valid input to work, we have to find an input that gives the exact same md5 as what you've stored. And how to get it? Reversing the hash. I talked to one of the "solvers" and he said he just googled the hash to get a solution. That is not how a crackme's solution should be found. You can say we're crying and all, but that doesn't change that your idea of this crackme is flawed. Comparing hashes to check password is actually a commercial way of storing password, because it is that secure. You can do it here, as long as the algorithm is not that strong and can be reversed. MD5 is a real algorithm that is commercially being used! Please check the FAQ. It is mentioned that no commercial packing/encrypting systems can be used. Since you used a commercial method to hash your password, you violated the rules. Just simple as that.
ToMKoL on 10:16 AM 03/14/2021: MD5 have been broken years ago. Finding collision on modern computers takes seconds. So telling that this crackme uses strong encryption method is pointless. Other thing is that there exists web pages that offer finding plain text for given hash (rainbow tables). This way this crackme can be solved in seconds. Other thing is that FAQ don't tell any thing about using commercial or not encryption/protection systems. There are crackmes on this site that are protected with strong commercial systems and till now no one banned them.
n0ve3mber on 12:03 PM 03/14/2021: @ToMKoL THANKS!!! At least someone clever in the room
n0ve3mber on 12:05 PM 03/14/2021: As he/she says, MD5 was broken years ago and I expected you to know that. If you were humble enough, you would understand that by doing my crackme you learned something new. @pranav It's funny that you say "that's not how a crackme's solution should be found". From my personal point of view, you should not be thinking of doing crackmes, CTFs of any kind of cybersecurity challenge in the "supposed way". This is about lateral thinking and solutions out of the box. If you were hired for reversing malware and the attacker used md5, you would say that "the attacker made the malware in an uncommon way" and you just give up??? Anyways, you only had to go to the strcmp function, check that an md5 string is being compared and reverse that md5 (which is really easy). I gave you hints, and even the source code. Finally, I checked FAQs and indeed, there is nothing written about using third party algorithms. All in all, a) you proved that you struggle to reverse an md5 function. b) When you don't solve a challenge, you cry. (If you just google md5 for a bit more information, it says that md5 it's broken and how to reverse it... You did not even do that) c) When you have no arguments, you LIE for no reason about FAQs. Just get out of my challenge, kiddo.
Legacyy on 12:18 AM 03/15/2021: To everyone crying about having to crack an md5 hash. It's literally in rockyou.txt, would take seconds to crack it locally to get a password, which is more real world than most easy reversing challenges with passwords. Chill out, its for fun.
pranav on 2:14 AM 03/15/2021: oh, so mohammadali, s4gr00_x, me are all idiots. Okay. I just simply asked why don't you superior intellectuals put your stuff into some higher levels, so that idiots like us won't crawl into your shit? For me, I never had to crack an md5 or similar in a *L2 crackme*. That's all. Please don't misguide us idiots into shit like this. Thanks.
n0ve3mber on 1:23 PM 03/15/2021: @Legacyy THANKSS!!! I appreciate your support. And you are right, this is just for fun.
n0ve3mber on 1:35 PM 03/15/2021: @pranav All right, maybe this is my last comment so let's close this issue once and for all. I'm not trying to humiliate you nor making you feel bad (rather the opposite, I wanted you to enjoy it). This crackme is in this level because I consider something "basic" to know that md5 can be easily reverse. This crackme is in this level because in spite of not solving the challenge, you can ask IN A POLITE WAY for help, and if you didn't know that md5 is a weak hashing algorithm, now you do! With this new information, maybe you would refuse to use md5 in your own website because it can be broken, and THAT is the main objective of a challenge (providing you with new skills/knowledge). Next time instead of complaining about how difficult is the challenge or trying to harass me, just stay cool and I will try to help you whenever it's possible. Take care!
ToMKoL on 3:07 PM 03/15/2021: @n0ve3mber - please don't write about reversing hash function. For Your information it's not possible. Functions that have reverse function aren't hash functions.
n0ve3mber on 6:26 PM 03/15/2021: @ToMKoL True. Technically speaking, you are right. What I mean is finding a string with the same md5 hash than the solution. Thanks for the note.
Edza on 9:55 AM 04/21/2021: I liked this one. Thanks. :)
Ralkey on 12:08 PM 05/05/2021: the CMD doesnt stay open when i enter a string so i have no idea if i did it correctly or not
Fengax on 6:28 PM 05/13/2021: I couldn't find the MD5 string directly from memory, so ended up making a trampoline hook for strcmp and got the MD5 hash as it was being passed into the function. Decent challenge, nice job n0ve3mber. On a side note, I realized finding the md5 string directly would probably be easier but just couldn't manage to do it, how would you find it?
n0ve3mber on 9:37 AM 06/02/2021: @Ralkey The challenge should display a message at the end. If you are double-clicking the PE, the message is displayed but then the program will immediately close. Try to execute it from cmd, or from a debugger like Ollydbg/x64dgb...
n0ve3mber on 9:41 AM 06/02/2021: @Fengax Nice doone!!! Congrats!! My intentions were that you guys skipped the md5 function (dinamic analysis) till the cmp is reached. Then the md5 string is generated and you just have to crack that md5 string.
yubiberreta on 4:32 PM 10/01/2021: someone tells me why the program closes automatically when I put the dog's name?
Anonymchik on 4:11 PM 09/29/2023: GJ! Name`s hash: c93ccd78b2076528346216b3b2f701e6 Decoded name: admin1234