forensics

Challenges

diskchal

i accidentally vanished my flag, can u find it for me

  • photorec or binwalk

  • and then gunzip the thing

  • press c — you will have a gzip file

  • gunzip it, the flag is inside

  • scriptCTF{1_l0v3_m461c_7r1ck5}

pdf

so sad cause no flag in pdf :(

  • Just binwalk

  • scriptCTF{pdf_s7r34m5_0v3r_7w17ch_5tr34ms}

Just Some Avocado

just an innocent little avocado!

  • It tooks me a while, but with the strings command, you will have a good idea of what this challenge is all about

  • Now that we know the files we will be working with are justsomezip.zip and staticnoise.wav, next is foremost to carve those files out.

  • Put the zip into an zip2john and hashcat it with rockyou (when in doubt, rock you).

  • Use the password

  • Now this is when the challenge got me, I couldn't bother to install Sonic to my machine but I could generate the spectrogram from the terminal, of course through a couple trials and errors to see if I can just read it from here...Finally, I ended up with.

  • Again....hashcat (if you know it is 8 characters long password for the justsomezip.zip — throw it in zip2john again)

  • use the password d41v3ron and you will get the flag (🐧 yay!).

  • scriptCTF{1_l0ve_d41_v3r0n}

Off By One

i hid a qr inside a qr

circle-info

upsolve — 💤💤💤

  • Stegsolve — 👨‍🍳💋

  • Or use a decoder online, my favorite tool is.

  • StegSolve (StegOnline) have a really really really really really good check list. And I mean really good.

  • I simply follow the check list till we found an anomaly of step 6 , while checking the blue plane color of the image

  • That is progress, now we can simply extract and see what is being hide there

  • At this point, it becomes really challenging to determine what this hex data represents. Despite using various converter tools (cyberchef, online decoder, dcode.fr, etc), I couldn't obtain any meaningful results.

  • "I hid a qr inside a qr" — breh — the hex is a qr image?

  • What I do know about qr code is

    • QR codes must be perfect squares (21x21, 25x25, 29x29, etc.)

    • So if we want to convert hex to image, we have to make sure a couple conditions, like the length of our data — If your data length doesn't form a perfect square when converted to binary, we need to trim the excess bits. (is that why we are "off by one"?)

    • Each bit likely represents a single pixel (1 = black module, 0 = white module)

  • Here is ultimately my solution:

    • Convert hex → bytes → individual bits

    • Calculate the largest possible square dimensions from the available bits

    • Trim the bit array to exactly fit a perfect square matrix

    • Map each bit to a pixel value (1 → black/0, 0 → white/255)

  • This took...a crazy amount of trials and errors, as a couple of my first attempts look like some pixelated horrors.

  • Ultimately...the correct hex is extracted (yay 😭)

  • the flag is the qr code. scriptCTF{qrqrqrc0d3s}

Last updated