Hidden in Brucon
“It appears a flag has hidden itself inside the brucon logo, can you retrieve it?”
A file named brucon.jpg
is provided.
The solution was very easy:
1
2
| $ file brucon.jpg
brucon.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "TOREON{4lw4Ys_CHeck_MEt4Dat4}", progressive, precision 8, 842x595, components 3
|
Flag: TOREON{4lw4Ys_CHeck_MEt4Dat4}
Hidden inside the House
1
| One day, I got an email from a friend containing a picture. He never said why he sent me the photo, but all he said is he might need the file later. I wonder if there's more to this picture?
|
This time, we get a ZIP file.
1
2
3
4
| $ unzip flag.zip
inflating: flag.txt
$ cat flag.txt
56 45 39 53 52 55 39 4f 65 32 59 77 63 6a 4e 4f 63 7a 46 6a 4e 58 30 3d
|
Obviously, that’s ASCII characters, so I switch to a Python console:
1
2
3
4
5
6
7
8
9
| import binascii
>>> s='56 45 39 53 52 55 39 4f 65 32 59 77 63 6a 4e 4f 63 7a 46 6a 4e 58 30 3d'
>>> s.replace(' ', '')
'564539535255394f65325977636a4e4f637a466a4e58303d'
>>> binascii.unhexlify(s.replace(' ', ''))
b'VE9SRU9Oe2YwcjNOczFjNX0='
>>> import base64
>>> base64.b64decode(b)
b'TOREON{f0r3Ns1c5}'
|
The flag is TOREON{f0r3Ns1c5}
.
You Are Significant
The title of this challenge makes me think about something around Least Significant Bit (LSB) or most significant one. We are provided with a file, flag.png
.
Searching for steganography tools, I try zsteg which mentions that it detects “LSB steganography in PNG & BMP”.
It works immediately:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| $ zsteg flag.png
imagedata .. file: byte-swapped Berkeley vfont data
b1,rgba,lsb,xy .. text: "===TOREON{5t3g4n0gr4PHy}===3"
b1,abgr,msb,xy .. text: "33333333ww"
b2,rgba,lsb,xy .. text: ["#" repeated 8 times]
b2,abgr,msb,xy .. text: "_A-;o\rOucAa"
b3,g,lsb,xy .. file: OpenPGP Secret Key
b3,a,msb,xy .. file: ddis/ddif
b3,rgb,lsb,xy .. text: "3=1mu8k1\r"
b3,rgba,lsb,xy .. text: "awgEtWEtWi"
b3,rgba,msb,xy .. text: "?o#>`#v`#"
b4,r,lsb,xy .. text: "43\"\"33\"\"33ffww4Wf"
b4,r,msb,xy .. text: ["3" repeated 10 times]
b4,g,lsb,xy .. text: "EEEUUTUUUTEU\"5EUd["
b4,g,msb,xy .. text: ["D" repeated 8 times]
b4,b,lsb,xy .. text: "TTTDEEDEEUTT"
b4,b,msb,xy .. text: "ffff\"\"\"\"ffff"
b4,rgb,lsb,xy .. text: "0S$2T%UU&2@E<"
b4,bgr,lsb,xy .. text: "P4$RU%U6 B5I"
b4,rgba,lsb,xy .. text: "?$?%N%^U^&?$"
|
The flag is TOREON{5t3g4n0gr4PHy}
.
One Call Away
This time, we had to find a flag in a YouTube video.
The first step was to download the video, using in my case a browser extension (“YouTube 4K Downloader”).
Then, if you play the video, it’s actually only audio. We hear someone wants to send a text message to another one, and we distinctively hear the DTMF tones.
A team mate recovered the tones:
1
| 8 6 6 6 7 7 7 3 3 6 6 6 6 6 2 2 2 5 5 5 5 5 5 6 2 2 2 2 2 5 5
|
Then, we have to map that to characters. There are a few possibilities, but we quickly recognize the flag is starting with TOREON
. To convert the tones, note that 777
can mean: PPP
, or PQ
, or QP
, or R
.
Then the audio is very much about texting someone so that s/he calls back. The rest of the message is then CLLBAK
(call back).
The final flag is TOREONCLLBAK
. We didn’t flag it immediately because we tried lower case…