lazydaemon Posted August 11, 2016 Posted August 11, 2016 Do I have to bruteforce the key for challenge 6 (the shellcode challenge)?
Downpour Posted August 11, 2016 Posted August 11, 2016 @lazydaemon Bruteforce with restrictions which makes it easier I would say.
Extreme Coders Posted August 12, 2016 Posted August 12, 2016 Hints about the challenges have been posted on their official site. http://researchcenter.paloaltonetworks.com/2016/08/labyrenth-capture-the-flag-ctf-hints/
Rurik Posted August 12, 2016 Posted August 12, 2016 On 8/10/2016 at 3:55 PM, m0rphiz3 said: i am talking about the shellcode one, algo is *c4, 11 len key, in which 5 are constants.. Four are constants, not five.
lazydaemon Posted August 12, 2016 Posted August 12, 2016 Yes, only four constants. I already calculated 4billion keys but still no valid one. I think, something is wrong with my code.
Rurik Posted August 12, 2016 Posted August 12, 2016 Since everyone is bruteforcing that one, let's reduce the keyspace a tad. fs[30] should be 0x01 That should cut it in half
m0rphiz3 Posted August 12, 2016 Posted August 12, 2016 4 are constants, but one is a debugger check, which if debugger increments the constant, so it is also a constant
lazydaemon Posted August 12, 2016 Posted August 12, 2016 (edited) Yes you're right. I think it must be 0x00 which means the process is not being debugged. You sure about 0x01 Rurik? I changed a little bit of my code and the key space is now 803520 keys long. Can anybody confirm this? I still can't find the correct key. Spoiler Maybe my RC4 implementation is wrong. Edited August 12, 2016 by lazydaemon
Extreme Coders Posted August 13, 2016 Posted August 13, 2016 @lazydaemon There are 5 constants including dbg flag which should be zero. Maybe you have missed out some keys. My keyspace was 1571328 keys long and that was found after taking into account of the possible values as per MSDN. In the end size of the keyspace didn't matter as it took just a few seconds to brute. I ripped out the encryption algo from the binary, so implementation did not matter.
lazydaemon Posted August 13, 2016 Posted August 13, 2016 Ok, I solved it. Made a couple of really stupid mistakes in my code ;-)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now