[OverTheWire Bandit] Bandit Level 12 -> Level 13 문제풀이 (+파일명 변경 & 압축 해제)
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 명령어로 확인 후 이름변경 > 압축해제를 진행한다.
반복적으로 계속 확인하다보면 패스워드가 나온다!
(하도 치니까 이거 하면서 이번 명령어 다 외움..)