Level 12 → Level 13

옥영진·2020년 5월 16일
0

Bandit - OverTheWire

목록 보기
13/33

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 using mkdir. For example: mkdir /tmp/myname123. 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

다음 레벨로 가는 패스워드는 data.txt 파일내에 있는데 이 파일은 반복적으로 압축된 16진수 덤프 파일이다. /tmp 디렉토리내에 mkdir 명령어를 사용하여 디렉토리를 생성 후, 그 안에 파일을 복사하여 작업하는 것이 유용할 것이라고 한다. cp로 파일을 복사하고 mv로 파일명을 바꿀 수 있다.

해결

mkdir /tmp/helloyj
cp ./data.txt /tmp/helloyj
cd /tmp/helloyj

힌트대로 /tmp 디렉토리내에 mkdir 명령어로 새 디렉토리를 하나 생성한 후 그 안에 data.txt 파일을 복사하였다.

xxd -r ./data.txt ./level12
file ./level12

xxd 명령어와 -r 옵션을 사용하여 data.txt 파일을 원래 파일로 복원시켰다. 파일명은 level12로 하였다. file 명령어로 살펴보니 gzip으로 압축된 파일임을 알 수 있었다.

mv ./level12 ./level12.gz
gzip -d ./level12.gz
file ./level12

gzip으로 압축되었기 때문에 gzip -d 명령어로 압축해제 한다. 그 전에 mv 명령어를 사용하여 .gz 확장자를 붙여줘야 압축해제가 가능하다. 압축해제 후 file 명령어를 사용하면 해제한 파일이 bzip2 압축 파일임을 알 수 있다.

bzip2 -d ./level12
file ./level12.out

mv ./level12.out ./level12.gz
gzip -d ./level12.gz
file ./level12

bzip2 -d 명령어로 bzip2 압축 파일을 압축해제 하고, 압축해제한 파일이 gzip 압축파일이어서 다시 mv 명령어로 .gz 확장자를 붙인 후 다시 압축해제 한다. 압축해제 한 파일이 tar 압축 파일임을 알 수 있다.

tar -xvf ./level12
file data5.bin

tar -xvf ./data5.bin
file data6.bin

bzip2 -d ./data6.bin
file ./data6.bin.out

tar -xvf ./data6.bin.out
file ./data8.bin

mv ./data8.bin ./data8.gz
gzip -d ./data8.gz
file ./data8

그 후에도 tar, gzip, bzip2로 압축되어 있는 파일들을 압축해제하여 최종적으로 data8 파일을 얻을 수 있다. 해당 파일에 다음 레벨로 가는 패스워드가 저장되어 있다.

  • xxd
    파일을 16진수 덤프 파일로 만들거나 혹은 원래대로 변환한다.
  • gzip
    압축 소프트웨어 중 하나로 .gz 확장자를 가진 파일로 압축하거나 해당 파일을 압축해제 할 수 있다.
  • bzip2
    압축 소프트웨어 중 하나로 .bz2 확장자를 가진 파일로 압축하거나 반대로 압축해제 할 수 있다.
  • tar
    여러 개의 파일들을 하나로 묶거나 해제 하는 명령어다. (데이터의 크기를 줄이기 위한 압축이 아니라 하나의 파일로 묶기위한 용도로 사용된다.)
profile
안녕하세요 함께 공부합시다

0개의 댓글