Jump to content
Tuts 4 You

Recommended Posts

Posted (edited)
3 hours ago, kao said:

@pcmcia: VM1 was one-byte XOR. You should be able to recognize xored data after suffering through Challenge #5.

 

VM2 - CPA. Right now I don't have time and energy for a proper writeup but here are rough steps.

Step 1- create file consisting of 1000 zeroes, exfiltrate it. See that there is a pattern repeating every 0x18 chars, something like this:

image.png.aa6816b02f3529f4004847c1593af7ba.png

Such patterns suggest either a block cipher in ECB mode, or weak crypto. Since I'm not aware of any strong crypto with block size of 0x18 bytes, it must be weak crypto! :) 
Which means - you can create a lookup table for each of 0x18 positions and each of 256 values.

Step 2 - create a file consisting of 0x18 zeroes, followed by 0x18 ones, 0x18 twos and so on. Exfiltrate it.

Step 3 - now you have a lookup table that you can use to decrypt exfiltrated image.

 

Thanks!  That was very helpful.  It seems flare-on is as much as RE challenge and a crypto challenge, evident by ch#5, ch#7 (last part), ch#8, and ch#10.

3 hours ago, kao said:

@pcmcia: VM1 was one-byte XOR. You should be able to recognize xored data after suffering through Challenge #5.

 

VM2 - CPA. Right now I don't have time and energy for a proper writeup but here are rough steps.

Step 1- create file consisting of 1000 zeroes, exfiltrate it. See that there is a pattern repeating every 0x18 chars, something like this:

image.png.aa6816b02f3529f4004847c1593af7ba.png

Such patterns suggest either a block cipher in ECB mode, or weak crypto. Since I'm not aware of any strong crypto with block size of 0x18 bytes, it must be weak crypto! :) 
Which means - you can create a lookup table for each of 0x18 positions and each of 256 values.

Step 2 - create a file consisting of 0x18 zeroes, followed by 0x18 ones, 0x18 twos and so on. Exfiltrate it.

Step 3 - now you have a lookup table that you can use to decrypt exfiltrated image.

 

Actually, one more question.  Since you are building a look up table of 256 possible values (ie. Byte), does that mean the ciphertext size is 24 times bigger than the plaintext size?  Or do you mean the block size is 0x18? But building a lookup table of that size is massive.

Edited by pcmcia
Posted

@pcmcia: I wouldn't call FLARE-ON a crypto challenge. :) Sure, it deals with encrypted data and some basic knowledge of cryptography is very useful - but it doesn't require you to come up with new and innovative ways to solve advanced crypto problems. This year was especially light on crypto problems, you didn't even have to recognize RSA or ElGamal (unlike last year).

 

@all: finally some solutions started to appear online. If you wrote your own solutions or found someone else's writeups, please post a link here! I'm sure we all could learn something new... ;)

 

 

  • Thanks 3

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...