Out of Frame #
Binary Eye handles this one very easily

Flag Hunting #
Open in wireshark, sort by HTTP, see "flag.txt", copy text

Secret File 1 #
┌──(cramik㉿Android)-[/mnt/c/users/cramik/downloads]
└─$ pdf2john secret.pdf
secret.pdf:$pdf$5*6*256*-4*1*16*e43d2d0f128345ae81f6c688ecac2b35*48*89a68ba2b7c26dbcfe3f952e53c835a6f92bbf6840229620adacc247fb295302cddc27aaa02dd18245323ab714c349c5*48*50ac35ca7f0844156dec1333a5ec762749f3d5daf7c0e12f21beb36a715687e71a24aeba62041b0345f1f0449dbc9a8b*32*108ab1c0bb3c5d999b04eacee2469554e35a616eaaef72ac869a2e4f8a1ef6bb*32*6460f87b24048e8dcfbfa5d6e7e7becb01ae3c80784cb8c66102fb011a969255
C:\Users\Cramik\Desktop\SecTools\hashcat>hashcat -m 10700 secret.pdf.txt wordlists/rockyou.txt
$pdf$5*6*256*-4*1*16*e43d2d0f128345ae81f6c688ecac2b35*48*89a68ba2b7c26dbcfe3f952e53c835a6f92bbf6840229620adacc247fb295302cddc27aaa02dd18245323ab714c349c5*48*50ac35ca7f0844156dec1333a5ec762749f3d5daf7c0e12f21beb36a715687e71a24aeba62041b0345f1f0449dbc9a8b*32*108ab1c0bb3c5d999b04eacee2469554e35a616eaaef72ac869a2e4f8a1ef6bb*32*6460f87b24048e8dcfbfa5d6e7e7becb01ae3c80784cb8c66102fb011a969255:licenciada
Open pdf, use password, copy invisible text

Barbie's Cave Adventure #
The image has a cave with a dancing man cipher on the wall, dcode has a translator for this cipher https://www.dcode.fr/dancing-men-cipher

Piercing Secrets #
Upload image to aperisolve, aperisolve did steghide and found Daggers.png


Barbie's Mysterious Sound #
There's a small bit of morse code in the middle of the audio, extract it with audacity.
I had difficulties getting the normal "Morse Code Adaptive Audio Decoder" to work so I went with https://morsefm.com/

Examsploit #
Modify the correct count in the /api/submit_exam request

Echoes Of Gunaa #
AHA music chrome extension -> https://www.aha-music.com/7c53e604a07b928a0db65fcb437ef406?title=Kanmani Anbodu Kadhalan (From "Guna")&artist=Kamal Haasan%2FVaali%2FS. Janaki%2FIlaiyaraaja -> https://en.wikipedia.org/wiki/Kanmani_Anbodu_Kadhalan -> https://en.wikipedia.org/wiki/Guna_Caves -> flag{GunaCaves_10.21_77.46}
Operation Silent Web #
"Specter" "2216"
https://www.instagram.com/specter_._2216
"Shadows on Familiar Grounds"

https://www.instagram.com/p/DI7R3wyTHjA/
#PasswordHere

"To unlock the secrets hidden in plain sight, shift your focus 22 steps back from where 'A' begins. A simple code, but only for those who can decode the past.
dpplo://sss.hejgazej.yki/ej/olaypan-odwzkso-1833x1363?qpi_okqnya=odwna&qpi_ywilwecj=odwna_rew&qpi_ykjpajp=lnkbeha&qpi_iazeqi=wjznkez_wll"
https://cyberchef.io/#recipe=ROT13(true,true,false,-22)&input=ZHBwbG86Ly9zc3MuaGVqZ2F6ZWoueWtpL2VqL29sYXlwYW4tb2R3emtzby0xODMzeDEzNjM/cXBpX29rcW55YT1vZHduYSZxcGlfeXdpbHdlY2o9b2R3bmFfcmV3JnFwaV95a2pwYWpwPWxua2JlaGEmcXBpX2lhemVxaT13anpua2V6X3dsbA
https://www.linkedin.com/in/specter-shadows-1833b1363?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app

https://cyberchef.io/#recipe=From_Base64('A-Za-z0-9%2B/%3D',true)&input=Wm14aFozdG9hV2xmYVcxZmMzQmxZM1JsY2w5dWFXTmxYM1J2WDIxbFpYUmZlVzkxWDJGc2JIMD0
Scan Me #
https://www.aperisolve.com/62600eead024bbf1bf4c547d8feee020 + Binary Eye
Locksmith #
https://github.com/joswr1ght/PatternLockScripts
python3 GenerateAndroidGestureRainbowTable.py
python GestureKeyLookup.py gesture.key
[2, 1, 4, 3, 0, 7, 8, 5, 6]
flag{214307856}
Barbie World Reversing #


Binary Breach #
Same thing?


Nexus #




Barbie's Secret Slip 1 #
https://github.com/chiccoder342 -> https://github.com/chiccoder342/fashionbytes only one with commits -> test branch -> commits -> https://github.com/chiccoder342/fashionbytes/commit/b2f5228fe54eb3505e1dd3fe6892e62bdfd67ab9 -> AUTH_SECRET
Barbie's Secret Slip 2 #
https://bsky.app/profile/chiccoder342.bsky.social/post/3lpwtyo52bt2s -> Base64 Decode
https://sites.google.com/view/chiccodersite234/project-page
Barbie's Secret Slip 3 #
https://web.archive.org/web/20241209164508/https://sites.google.com/view/chiccodersite234/project-page
Polyglots! Five #
There's VBScript in the code if you look hard enough. Copy that, and remove the if statement to print the flag
Final Code:
Dim a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,z1,z2,z3,z4,x1,x2
a=Chr(73):b=Chr(110):c=Chr(112):d=Chr(117):e=Chr(116):f=Chr(66):g=Chr(111):h=Chr(120)
x1=a&b&c&d&e&f&g&h:x2=Eval(x1&"(" & Chr(34)&"Sing to me:"&Chr(34)&")")
z1="illusion":z2=Mid(z1,3,2):z3=0:z4=0:If x2="karaoke" Then z3=z3+999:w=False
If Len(z1)=8 And z2="lu" And z3=z4+1 Then w=True
u=Array(79,98,125,102,119,88,112,107,70,85,74,124,120,58,112,60,98,110,55,96,57,104,55,54,113,55,99,110,58,113,118,58,128)
p=Array(3,1,4,1,5,9,2,6):v=""
For i=0 To UBound(u):v=v&Chr(u(i)-p(i Mod 8)):Next:MsgBox v
If Not w Then MsgBox Chr(78)&Chr(111)&Chr(112)&Chr(101)&Chr(33)&Chr(32)&Chr(84)&Chr(114)&Chr(121)&Chr(32)&Chr(108)&Chr(111)&Chr(117)&Chr(100)&Chr(101)&Chr(114)&Chr(46):End If
FixMe #
PCRT solves this one https://github.com/sherlly/PCRT
python2 PCRT.py -i "chall.png" -o "chall_out.png"
Y to autofixing, N to fixing IDAT chunk data length. Repaired image looks like this

Lawrence of Arabia #


5th Element #
C:\Users\Cramik\Desktop\asimov>stegolsb wavsteg -r -i DancingDiva2.wav -o output -n 2 -b 100000
Files read in 0.02s
Recovered 100000 bytes in 0.01s
Written output file in 0.00s


XMI #
import xmi
xmi_obj = xmi.open_file("ARCHIVE.DATA (1).XMI")
for f in xmi_obj.get_files():
if xmi_obj.is_pds(f):
for m in xmi_obj.get_members(f):
print(f"{f}({m})")
else:
print(f)
xmi_obj.set_output_folder(".")
xmi_obj.extract_all()
Open the extracted zip, put FLAG file into hxd and switch to EBCDIC encoding in HXD (at the top)

Secret File 2 #
┌──(cramik㉿Android)-[/mnt/c/users/cramik/downloads]
└─$ zip2john Confidential.zip
ver 2.0 efh 5455 efh 7875 Confidential.zip/VeryVeryConfidential.png PKZIP Encr: TS_chk, cmplen=28002, decmplen=32661, crc=8947A8FD ts=11BC cs=11bc type=8
ver 1.0 efh 5455 efh 7875 ** 2b ** Confidential.zip/protected.zip PKZIP Encr: TS_chk, cmplen=374345, decmplen=374333, crc=79E8FA33 ts=1294 cs=1294 type=0
Confidential.zip:$pkzip$2*1*1*0*0*24*1294*{a bunch of junk}*$/pkzip$::Confidential.zip:VeryVeryConfidential.png, protected.zip:Confidential.zip
┌──(cramik㉿Android)-[/mnt/c/users/cramik/Desktop/SecTools/hashcat]
└─$ john --mask=?a?a?a layerone.txt
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 16 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
soc (Confidential.zip)
1g 0:00:00:00 DONE (2025-05-25 12:27) 20.00g/s 2621Kp/s 2621Kc/s 2621KC/s +"2..ZBc
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
zip2john protected.zip > protected.txt
┌──(cramik㉿Android)-[/mnt/c/users/cramik/Desktop]
└─$ john -1=?l?u --mask=?1?1?1ARE?d?d?d protected.txt
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 16 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
catARE143 (protected.zip/Proof.png)
1g 0:00:00:04 DONE (2025-05-25 12:35) 0.2398g/s 12486Kp/s 12486Kc/s 12486KC/s kWoARE143..zikARE143
Use the "--show" option to display all of the cracked passwords reliably
Session completed.
The first layer file is a pdf with a lot of 30s, 31s, and 20s. I went through all the effort of decoding it just to get rickrolled

The real answer is easier

The second layer file is even easier

flag{4r3_y0u_d15tracted_by_th3_r4bb1t_h0l3}
Leaked Coordinates #
This one was really annoying because they used like a weird wikipedia name for the museum instead of the german one and I swear the hint telling you that in the challenge wasnt there initially, but basically you can look at the image or exiftools the coords to find the local "berlinspymuseum" which is the password for the image in the archive, I used aperisolve for the steganography and found base64 in the lsb https://www.aperisolve.com/f339d31d61367434755be64a698551a3


DISCORDant Glitches #


Glitch Lotto #
I avoided this one initially because I never looked at the js and was confused, but after looking at this js its pretty easy:
generateWinningNumber(new Date('June 30, 2025 05:00:00'))
# Submit a bid with that number
setTimeOverride(new Date('June 30, 2025 05:00:00'))
checkLotteryResult("yourusername")

Domain of Lies #
I didn't know what the hint meant but the odds of it being xor were high so I xor'd "flag" to the ciphertext to find the key started with Reyk = Reykjavik (Capital of Iceland)


Published