Level Goal

The password for the next level is stored in the file data.txt, which is a hexdump of a file that has been repeatedly compressed. For this level it may be useful to create a directory under /tmp in which you can work. Use mkdir with a hard to guess directory name. Or better, use the command “mktemp -d”. Then copy the datafile using cp, and rename it using mv (read the manpages!)

Commands you may need to solve this level

  • grep
  • sort
  • uniq
  • strings
  • base64
  • tr
  • tar
  • gzip
  • bzip2
  • xxd
  • mkdir
  • cp
  • mv
  • file

My Answer (Step by step)

  1. 連線到伺服器並登入
ssh bandit12@bandit.labs.overthewire.org -p 2220
  1. 透過 mktemp 指令產生暫存資料夾供我們使用
mktemp -d
  1. 透過 xxd 指令將 data.txt 恢復成原來檔案並存入暫存資料夾中
xxd -r data.txt > /tmp/tmp.uWIrdvgW4r/data.bin
  1. 透過 cd 指令進入暫存資料夾,並使用 file 指令查看原來檔案的格式
cd /tmp/tmp.uWIrdvgW4r/
file data.bin

查看指令結果可以發現 data.bin 是 gzip compressed data

  1. 透過 mv 指令將 data.bin 改名為 data.gz,並透過 gzip 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
mv data.bin data.gz
gzip -d data.gz

ls # 查看新檔案的名稱

file data

查看指令結果可以發現 data 是 bzip2 compressed data

  1. 透過 bzip2 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
bzip2 -d data
# bzip2: Can't guess original name for data -- using data.out
file data.out

查看指令結果可以發現 data.out 是 gzip compressed data

  1. 透過 mv 指令將 data.out 改名為 data.gz,並透過 gzip 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
mv data.out data.gz
gzip -d data.gz

ls # 查看新檔案的名稱

file data

查看指令結果可以發現 data 是 POSIX tar archive

  1. 透過 tar 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
tar -xvf data

ls # 查看新檔案的名稱

file data5.bin

查看指令結果可以發現 data5.bin 是 POSIX tar archive

  1. 透過 tar 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
tar -xvf data5.bin

ls # 查看新檔案的名稱

file data6.bin

查看指令結果可以發現 data6.bin 是 bzip2 compressed data

  1. 透過 bzip2 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
bzip2 -d data6.bin
# bzip2: Can't guess original name for data6.bin -- using data6.bin.out
file data6.bin.out

查看指令結果可以發現 data6.bin.out 是 POSIX tar archive

  1. 透過 tar 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
tar -xvf data6.bin.out

ls # 查看新檔案的名稱

file data8.bin

查看指令結果可以發現 data8.bin 是 gzip compressed data

  1. 透過 mv 指令將 data8.bin 改名為 data8.gz,並透過 gzip 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
mv data8.bin data8.gz
gzip -d data8.gz

ls # 查看新檔案的名稱

file data8

查看指令結果可以發現 data8 是 ASCII text

  1. 透過 cat 指令將 data8 內容呈現出來,即可獲取 Level 13 密碼!
cat data8