해킹 동아리 I.Sly()/방학 스터디 활동

[bandit] level 12 -> level 13

gom1n 2021. 2. 15. 08:12

해설)

다음 레벨의 패스워드는 data.txt에 저장되어 있고, 그것은 반복적인 압축이 된 파일을 헥사코드로 바꾸어 놓은 것이다. 이 레벨을 위해, 너가 mkdir 명령어를 사용하여 작업할 /tmp 아래에 디렉토리를 만드는 것이 유용할 것이다.

예: mkdir /tmp/myname123

그리고 데이터파일을 cp 명령어를 사용해 복사하고, mv 명령어를 사용해 이름을 다시 지어준다. (manpage를 읽으렴!) ?뭔...

 

 

뭐라는지 하나도 모르겠다. ㅎㅎ

그래서 구글링을 해 보았고, 따라가는 것에 의의를 두었다^^. (라고 애써 합리화)

대충 디렉토리를 하나 생성하고.. cp 와 mv 명령어를 사용하라는 것 같다. 

 

단계를 짜보자

1. mkdir /tmp/gomin 를 이용해 tmp 디렉토리 밑에 gomin 디렉토리를 생성

2. cp data.txt /tmp/gomin 로 data.txt에 있는 파일을 gomin으로 복사

3. gomin으로 이동해 xxd -r 명령어를 이용해 바이너리 파일로 변환 (임의로 question파일 생성)

4. question의 압축을 풀어나가며 패스워드 도출!

 

결론부터 말하자면, 이 레벨은 정말...............더보기

gomin 디렉토리 안에 data.txt가 있는 것을 확인할 수 있다. 지긋지긋한 data.txt.....

/tmp 아래에 디렉토리를 따로 생성해 복사하라는 것을 보면, 홈 권한 어쩌구때문에 data파일을 함부로 수정할 수 없음 때문이 아닐까 추측해본다.

 

xxd -r 명령어를 이용해 파일을 바이너리 파일로 만들어주어야 한다.

xxd [파일이름] : 해당 파일을 헥사코드로 바꾼다.

xxd -r [파일이름] : 헥사코드로 이루어진 파일을 원래의 파일로 되돌린다.

 

리다이렉션(>)을 사용해 data.txt의 내용을 바이너리로 바꾸는 동시에 question 파일에 넣어준다.

question파일이 생겨져 있는 것을 확인할 수 있다.

 

file 명령어를 이용해 파일의 종류가 무엇인 지를 알아보자.

$ file [파일이름]

gzip으로 압축된 파일이라고 뜬다.

 

gzip이란?

리눅스에서 제공하는 압축기법 중 하나인데, gzip을 이용해 생성되는 압축파일의 이름은 '파일이름.gz' 이다. 따라서 mv 명령어를 이용해 뒤에 .gz를 붙여주고, 압축을 풀어보도록 하자.

 

 

gzip [파일이름]: 해당 파일을 gzip 방식으로 압축한다.

gzip -d [파일이름]: .gz 파일을 압축 해제한다.

또 question의 종류를 출력해본다.

이번엔 bzip2 방식으로 압축된 파일이라고 뜬다.

그렇다면 또 이름을 바꿔주고 bzip2 명령어로 압축을 풀어주자.

 

bzip2 [파일이름]: 해당 파일을 bzip2 방식으로 압축한다.

bzip2 -d [파일이름]: .bz2 파일을 압축 해제한다.

또 question을 file하니 gzip 이라고 떠서 압축 풀어주고 하다보니...

tar가 나왔다.

 

tar파일이란?

여러 개의 파일을 하나로 합쳐놓은 것인데, 리눅스에서는 압축할 때에 하나의 파일만 압축할 수 있기 때문에 여러 파일을 한꺼번에 압축할 땐 tar 명령어를 이용해 합치고 압축한다. 그래서 .tar.gz의 형태가 많이 보인다고 한다.

 

tar -cvf [합친이름] [파일1] [파일2] ... : 파일들을 하나로 합친다.

tar -xvf [합친이름] : 하나로 합친 파일들을 각각의 파일로 나누어준다.

 

짠! 이런 방식으로 계속 ①이름 바꾸고 ②압축 풀어주고 ③파일 종류 확인하는 것을 반복해주면 된다.

 

그 결과 ,,,...... 

data8까지 가버린... 

중간에 오타 내는 똘추짓도 한 번 해 주고!

 

data8.bin파일의 종류가 아스키텍스트인 것을 확인할 수 있었다!

패스워드가 들어있다는 거지

 

드디어 성공.

인터넷 보면서 하는데도 너무 어려웠다.ㅋㅋ

'해킹 동아리 I.Sly() > 방학 스터디 활동' 카테고리의 다른 글

[bandit] level 14 -> level 15  (0) 2021.02.17
[bandit] level 13 -> level 14  (0) 2021.02.15
[bandit] level 11 -> level 12  (0) 2021.02.15
[bandit] level 10 -> level 11  (0) 2021.02.15
[bandit] level 9 -> level 10  (0) 2021.02.15