

- Level 12 -> Level 13으로 넘어가는 문제이다.
- 그 다음 비밀번호는 data.txt에 있다.
그런데 data.txt는 hexdump된 file이라고 한다.
어떤 일련의 반복적으로 압축된 파일인데 그것을 hexdump 했다.
그리고 Level 12에서 /tmp 디렉토리에 따로 만들어서 하면 좋다고 Tip을 써놨다.
- 정리를 해보자면, compressed 압축한 파일은 열어보면 글씨가 저장되어 있는게 아니라 일명 바이너리 실행파일 처럼 숫자 데이터들이 들어가 있다.
16진수로 숫자 데이터가 저장되어 있는데, 그 숫자 데이터를 그대로 dump 그대로 글자로 만들어 둔게 hexdump이다.

- 예시를 들어보면 file 안에 숫자들이 써있는 해당 파일을 hexdump 했다는게 뭐냐면 101010 써있는 파일을 16진수로 바꿔서 f1 2f 2d 9d 이런 느낌으로 hex로 파일을 만들어 주었다. 라는 것

- 문제로 돌아와서 ls로 data.txt를 확인해주고, cat을 통해 파일을 읽어주었다.
위에서 말한 대로 16진수로 데이터가 적혀져 있는걸 볼 수 있다.
이것을 바이너리 파일로 바꾸고, 그게 압축된 파일이고, 그 압축된 파일을 해제해서 문제를 풀어나갈 예정이다.
그런데 반복적으로 압축되어 있기 때문에, 1번 2번이 아니라 여러번 해둔 것이다.
그러면 그걸 압축풀기를 계속 해야 되는데, 그러기 위해서는 /tmp 디렉토리에 사용할 작업 디렉토리를 만들어 두고, 거기에 해당 파일을 옮겨두고, 거기서 작업을 할 예정이다.

- mkdir으로 /tmp/sh 를 만들어 주었고, cp를 이용해 data.txt를 /tmp/sh/에 복사해주었다.
cd /tmp/sh로 디렉토리 이동을 해주었고, ls를 입력하니 이동한 디렉토리에 data.txt가 보이는 모습이다.

- 먼저 바이너리로 복구를 해야 한다.
복구 작업에 있어서 xxd라는 커맨드를 사용해 줄 것이다.
xxd라는게 무엇인지 알기 위해 man xxd를 입력하면 볼 수 있다.

- xxd는 hexdump로 만들어 주는 프로그램이다.
그런데 그 작업을 역으로 할 것이다.
hexdump된 파일을 다시 복구시켜줄 거기 때문에, 어떠한 옵션을 사용해 줄 것이다.

- xxd 다음 -r옵션을 주고, data.txt(변경할 파일) 입력한 뒤, 파일로 저장할 것이기에 >를 입력하고, bandit 이라는 이름으로 파일을 생성하였다.
ls를 입력해서 리스트를 보면 bandit 파일이 생긴것을 볼 수 있다.

- file 커맨드를 이용해 어떤 파일인지 확인해본 결과, 압축된 파일이라고 뜨는걸 볼 수 있다.
다양한 압축 기법들이 있다. 압축 알고리즘에는 한가지만 있는게 아니라 많은 방법들이 있다.
그중에 우리가 변경한 bandit 파일은 gzip으로 압축이 된 파일이다. 라고 되어 있다.
gzip으로 압축이 되어 있으니, gzip으로 압축을 해제 해야 한다.
그래서 bandit 확장자를 gzip 확장자로 바꿔 주어야 한다.

- mv 커맨드를 이용하여, bandit파일을 bandit.gz으로 변경 하였다.
gzip의 확장자 명은 .gz으로 이루어져 있다.
ls로 리스트를 확인해보니 bandit.gz 파일이 생긴걸 볼 수 있다.

- 압축을 해제해 줘야 한다. gzip의 압축푸는 커맨드는 gunzip (파일)을 입력하면 된다.
ls 통해 보면 .gz가 아닌 bandit으로 되어 있는걸 볼 수 있다. 압출이 해제 된것이다.

- 어떤 파일 형태로 이루져 있는지 file (대상파일) 입력하여 살펴보았더니, 그전에는 gzip 이었지만, 이번에는 bzip2으로 되어 있는걸 볼 수 있다.
이번에는 bzip2를 압축 해제해 줘야 한다.
그러면 그 전에 했던 행동과 똑같이 우선 이름을 바꿔 줘야 한다.

- bzip2의 확장하는 .bz2이다. ls를 통해 잘 변경된 것을 볼 수 있다.

- bzip2 압축을 해제 하기 위해서는 bzip2 다음 -d라는 옵션을 넣어줘야 한다. 다음 (파일이름)을 입력하면 ls를 통해 살펴보니 bandit으로 압축이 해제 된것을 볼 수 있다.
위와 동일하게 file bandit으로 살펴보니 이번에는 gzip으로 되어있다.
이제 슬슬 감이 올 것이다. 계속 이런식으로 진행을 해주면 된다.

- 위와 똑같이 진행해주었으니 설명은 건너뛰겠다. 압축 해제 후 살펴보니 새로운게 나왔다.
tar으로 압축이 된 것이다.

- 이름을 .tar로 변경 후 압축 해제 커맨드는 tar -xf옵션을 주고 뒤에 파일 이름을 적으면 된다.
ls를 통해 압축 해제 되었는지 보면 tar은 압축 해제 될때 기존파일이 사라지지 않고, data5.bin으로 파일이 나온다.

- file으로 data5.bin이 어떤 형식인지 살펴보니 이것도 tar형태로 이루어져 있다.

- mv로 data5.bin을 data5.tar으로 변경을 해주고, tar압축 해제를 똑같이 해주었다.
이번에는 data6.bin이 나왔다.

- 파일 형식을 살펴보니 bzip2가 나왔다. 위에서 했듯이 동일하게 반복해주면 된다.

- bzip2 압축 해제 방법은 위에서 다뤘기에 설명은 생략한다.
ls통해서 보니 data6라는게 나왔다.

- 이번에는 tar이다.

- tar을 압축 해제 했더니 이번에는 gzip이다.

- gzip압축 해제를 하니 이번에는 ASCII text이다.
이제는 더이상 압축을 해제 하는게 아니라 아스키 텍스트 파일 즉 글자가 들어가 있는 파일이다.

- 이렇게 다음으로 넘어갈 비밀번호를 알아낼 수 있었다.

- 성공적으로 bandit13으로 로그인이 잘 되었다.
제 유튜브 채널입니다.
도움이 됐다면, 구독 부탁합니다!
주변에 제 블로그, 유튜브를 알려주시면 감사하겠습니다~! :)
Thank you for watching the blog.
Please subscribe! I would appreciate it if you could share the blog around you.