[OverTheWire] Bandit Level 12 → Level 13
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)
- 連線到伺服器並登入
ssh bandit12@bandit.labs.overthewire.org -p 2220
- 透過 mktemp 指令產生暫存資料夾供我們使用
mktemp -d
- 透過 xxd 指令將 data.txt 恢復成原來檔案並存入暫存資料夾中
xxd -r data.txt > /tmp/tmp.uWIrdvgW4r/data.bin
- 透過 cd 指令進入暫存資料夾,並使用 file 指令查看原來檔案的格式
cd /tmp/tmp.uWIrdvgW4r/
file data.bin
查看指令結果可以發現 data.bin 是 gzip compressed data
- 透過 mv 指令將 data.bin 改名為 data.gz,並透過 gzip 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
mv data.bin data.gz
gzip -d data.gz
ls # 查看新檔案的名稱
file data
查看指令結果可以發現 data 是 bzip2 compressed data
- 透過 bzip2 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
bzip2 -d data
# bzip2: Can't guess original name for data -- using data.out
file data.out
查看指令結果可以發現 data.out 是 gzip compressed data
- 透過 mv 指令將 data.out 改名為 data.gz,並透過 gzip 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
mv data.out data.gz
gzip -d data.gz
ls # 查看新檔案的名稱
file data
查看指令結果可以發現 data 是 POSIX tar archive
- 透過 tar 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
tar -xvf data
ls # 查看新檔案的名稱
file data5.bin
查看指令結果可以發現 data5.bin 是 POSIX tar archive
- 透過 tar 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
tar -xvf data5.bin
ls # 查看新檔案的名稱
file data6.bin
查看指令結果可以發現 data6.bin 是 bzip2 compressed data
- 透過 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
- 透過 tar 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
tar -xvf data6.bin.out
ls # 查看新檔案的名稱
file data8.bin
查看指令結果可以發現 data8.bin 是 gzip compressed data
- 透過 mv 指令將 data8.bin 改名為 data8.gz,並透過 gzip 指令將檔案解壓縮,然後一樣透過 file 指令查看檔案格式
mv data8.bin data8.gz
gzip -d data8.gz
ls # 查看新檔案的名稱
file data8
查看指令結果可以發現 data8 是 ASCII text
- 透過 cat 指令將 data8 內容呈現出來,即可獲取 Level 13 密碼!
cat data8