[SK shieldus Rookies 23기] 공부 노트/OverTheWire Bandit 문제풀이

[OverTheWire Bandit] Bandit Level 12 -> Level 13 문제풀이 (+파일명 변경 & 압축 해제)

Noody 2024. 12. 3. 14:56

OverTheWire Bandit

Level 12 -> Level 13

 

 

목표 : 파일 유형에 맞게 압축을 해제하여 패스워드를 찾는다.

 

  • 임시 디렉토리 생성 및 파일 복사
  • Hexdump 복원
  • 파일 압축 유형 확인
  • 유형에 맞는 압축 파일 해제

 

풀이 방법

 

1. bandit12 서버 접속

ssh bandit12@bandit.labs.overthewire.org -p 2220

 

 

2. 임시 디렉토리 생성 및 파일 복사

이번 레벨은 문제를 잘 읽어봐야 한다. 제시하는 것들이 많기 때문.

먼저 파일이 Hexdump(16진수 데이터)로 표현된 상태이므로 먼저 복원을 진행한다.

 

** 그전에 문제에서 임시 디렉토리를 생성하는게 좋다고 권장하고 있으므로

나도 그렇게 진행해본다.

임시 디렉토리 생성
mktemp -d

 

임시 디렉토리 생성 후 생성한 디렉토리로 이동한다.

임시 디렉토리 명칭은 생성할때마다 달라진다.

 

임시 디렉토리 하위에 사용할 파일 복사

cp ~/data.txt .

 

 

3. Hexdump 복원

data.txt 파일을 hexdump에서 복원한다.

xxd -r data.txt

 

복원된 파일을 구분하기 위해 'thisfile'이라는 명칭으로 새로 만들어줬다.

xxd -r data.txt thisfile

 

이제 이 'thisfile'로 압축 및 해제 작업을 진행한다.

 

4. 파일 유형을 확인하면서 압축 해제

이제 여기서부터는 파일 유형 확인한 후 압축 해제 단계만 반복하면 된다.

파일 압축 해제시 파일 확장자를 맞게 변경한 후 압축을 해제한다고 생각하면 좋다.

따라서 이름 변경 절차가 필요하다.

 

- 파일 압축 유형 확인

file thisfile

 

- Gzip 파일일 경우 이름 변경 & 압축 해제 (gzip compressed)

mv thisfile thisfile.gz
gunzip thisfile.gz

 

- Bzip2 파일일 경우 이름 변경 &  압축 해제 (bzip2 compressed)

mv thisfile thisfile.bz2
bunzip2 thisfile.bz2

 

- Tar 파일일 경우 이름 변경 및 압축 해제 (POSIX tar archive)

mv thisfile thisfile.tar
tar -xf thisfile.tar

 

이번 문제는 상황에 맞추어 계속 file로 파일 확인하고 > 이름 변경 > 압축해제를 해제해야 한다.

압축을 해제하다보면 생기는 data(숫자) 파일들이 있는데 거기서부터는

data 파일을 다시 file 명령어로 확인 후 이름변경 > 압축해제를 진행한다.

 

반복적으로 계속 확인하다보면 패스워드가 나온다!

(하도 치니까 이거 하면서 이번 명령어 다 외움..)