forensics
Challenges

diskchal

i accidentally vanished my flag, can u find it for me
photorecorbinwalkand 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
binwalkscriptCTF{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.zipandstaticnoise.wav, next isforemostto 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
d41v3ronand you will get the flag (🐧 yay!).scriptCTF{1_l0ve_d41_v3r0n}
Off By One

i hid a qr inside a qr
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