Description
After logging in, you will find multiple file parts in your home directory. These parts need to be combined and extracted to reveal the flag.
Setup
Launch the challenge instance and SSH in.
List files in the home directory to see the split archive parts.
ls -la
file *
Solution
- Step 1SSH in and list the file partsLog into the challenge instance via SSH. Your home directory contains multiple numbered split-archive parts (e.g. file.zip.001, file.zip.002, ... or file.aa, file.ab, ...).ssh ctf-player@<HOST> -p <PORT_FROM_INSTANCE>ls -lafile *
- Step 2Combine all partsConcatenate the parts in sorted order with cat. The glob pattern sorts correctly for numbered suffixes.cat *.zip.* > /tmp/combined.zip# or if parts use letters (aa, ab, ac...):cat *.a? > /tmp/combined.zip# or for part1/part2 naming:cat *part* > /tmp/combinedfile /tmp/combined*
- Step 3Extract the archiveIdentify the combined file type and extract it. Try without a password first; if password-protected try common passwords.cd /tmp && unzip combined.zip# If password protected, try common ones:unzip -P picoCTF combined.zip# For tar/gz/xz/bz2:tar xf combined || gunzip combined.gz || unxz combined.xz
- Step 4Read the flagFind and print the flag file from the extracted contents.ls /tmp/find /tmp -name 'flag*' -o -name '*.txt' 2>/dev/nullcat /tmp/flag.txtgrep -r picoCTF /tmp/ 2>/dev/null
Flag
picoCTF{p13c3_by_p13c3_...}
SSH into the server, find the numbered split-archive parts in home directory, combine with `cat *.zip.*`, extract with unzip, and read the flag file.