loading
본문 바로가기 메뉴 바로가기

티스토리 뷰

카테고리 없음

Bandit lv12 -> lv13

Tip_srevil 2021. 9. 18. 00:09
반응형

어제 말했다시피 오늘은 Bandit lv12 -> lv13 과정에 대해서 포스팅 하겠습니다,

아직 정리가 완벽하지 않고, 이때까지와 다르게 풀이과정이 매우 깁니다.

그래서 일일이 다 보여드리기에는 무리가 있네요.

하지만 이 글을 보는 사람들이 전부 문제를 풀 수 있도록,

이해할 수 있도록 설명하도록 노력하겠습니다.

우선 문제부터 보시죠!


Problem


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!)

=> data.txt 파일에 비번이 저장되어 있다.

그 파일은 반복적으로 압축된 hexdump 파일이다.

이 레벨에서는 mkdir 명령을 통해 /tmp에 directory를 만드는 것이 유용할 것이다.

뭐 대충 이 정도만 알면 되겠네요.

이 문제에서 정리하고 가야할 점은

1. data.txt 는 hexdump 파일이다.

2. 반복적으로 압축된 파일이다.

3. /tmp에 directory를 만들어야 한다.

이 정도가 있겠네요.


Solution


우선 문제에서 시킨 것부터 했습니다.

제가 만든 directory 이름은 asusen입니다.

그리고나서 cp 명령을 이용해 data.txt를 asusen에 복사해줬습니다.

이후 cd 명령을 이용해 제가 만든 directory 에 들어왔습니다.

확인해보니 data.txt 가 잘 만들어져있네요.

단순히 파일을 열었더니 이렇게 되어있네요.

이게 hexdump 형식이라고 보셔도 무방할 것 같네요...

더보기
Hex dump - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

<출처 : Hex dump - 위키백과, 우리 모두의 백과사전 (wikipedia.org) >

그럼 이 다음이 문제입니다.

이 파일을 어떻게 읽어야 할까요?

file data.txt 를 해봐도 ASCII 코드라고 나오고,

딱히 어떤 압축형태가 보이지 않습니다.

그래서 막막했죠..

그러다 문득 의문이 들었습니다.

컴퓨터는 정보를 이진형태로 저장하는데, 저 파일의 내용은 16진법으로 구성되어 있다.

그렇다면, 저 파일의 내용을 이진형태로 바꾸어 저장하면 하나의 제대로 된 파일이 나오지 않을까?

그래서 실행해보았습니다.

xxd 명령어를 이용해 data.txt 파일을 이진형태로 바꾸고 그 내용을 data에 저장시켰습니다.

왜냐하면 그저 xxd 명령을 사용하면 형태를 볼 수 있을 뿐이지, 결국 그 파일 자체는 변하지 않더라구요.

그래서 저장하는 방법을 택한 겁니다.

이후 file 명령어를 이용해 data 파일을 확인해보니 gzip 파일임을 확인했습니다.

접미사가 없어서 안된다고 하네요.

gz 라는 접미사를 붙여줬더니 저런 형태가 되는 것을 확인했습니다.

이 이후는 무한반복입니다.

계속해서 그 형태에 맞게 압축을 해제하고 mv를 통해

압축형태에 맞는 접미사를 붙혀주고 하다보면

data8이라는 ASCII 파일이 나옵니다,.

거기에 비밀번호가 저장되어 있습니다.

접미사 형태 정리

tar .tar
gzip .gz
bzip2 .bz2

Concept & Option


이번 lv 에서 새롭게 등장한 명령어들을 정리해보겠습니다.

위에서 간단하게 압축파일의 접미사 형태를 정리했습니다.

물론 중복으로 압축된 파일들의 접미사도 있고,

일반적인 zip도 있지만, 오늘 당장은 다루지 않았기에 정리하지 않았습니다.

실용성이 있는 것이라면 언젠가 포스팅할 날이 올거라고 생각하기 때문에

가볍게 넘어가주시면 감사하겠습니다.

mkdir 명령어 자료주소 : [리눅스 명령어] mkdir - 디렉토리 생성 (tistory.com)

 

[리눅스 명령어] mkdir - 디렉토리 생성

  ※ 요약 mkdir 명령어는 make directory의 약자로써 디렉토리를 생성할 때 사용하는 명령어다. 자주 사용하지만 옵션의 종류도 별로 없고 매우 쉬운 명령어 중에 하나이다. ※ 경로 /bin/mkdir ※ 사용

shaeod.tistory.com

rm 명령어 자료주소 : [Linux] 리눅스 rm 명령어 사용법 & 옵션 정리 (tistory.com)

 

[Linux] 리눅스 rm 명령어 사용법 & 옵션 정리

rm rm의 뜻은 remove의 약자로 파일이나 디렉토리( -r 옵션시 삭제가능)를 삭제 시킬때 사용하는 명령어입니다. 한번 지운 파일은 복구가 어렵기 때문에 rm 명령어를 실행시키기전에 두번 세번 확인

coding-factory.tistory.com

리눅스에서 사용되는 압축형태 자료주소 : [팁 리눅스] 리눅스에서 압축파일 다루기 : 네이버 블로그 (naver.com)

 

[팁 리눅스] 리눅스에서 압축파일 다루기

리눅스에서 압축파일 다루기 리눅스는 파일을 압축하거나 묶는 많은 방법을 제공합니다. 윈도우의 편한(?) ...

blog.naver.com

 

이때까지는 제가 공부하면서 검색을 통해 얻어왔던 자료들을

출처만 남기며 무단으로 글을 올렸습니다.

근데 그게 잘못됐다는 사실을 깨달았습니다.

출처만 남기면 저작권법을 어기지 않는다고 알고 있었는데,

우선 저작권자의 허락을 얻어야한다고 하더라구요.

그런데 보통의 tistory는 댓글을 남기는 방법을 잘 모르겠어서

아예 링크만 남겨놓겠습니다.

제가 복습하려는 것이 가장 메인이 되는 목적이므로,

이 글을 읽으시는 독자들이 불편하시더라도 이해부탁드립니다.

이미 잘 정리된 곳들이 있는데, 굳이 제가 정리할 필요는 없다고 느끼니까요.

물론 직접 정리하면 더 잘 와돻겠지만

저는 개념정리를 하는 것보다는 제가 직접 문제를 풀면서 응용하는 부분이 재밌고,

더 공부에 도움이 된다고 생각하기 때문에 이렇게 하겠습니다.

 

 

반응형

Bandit lv12 -> lv13
본문 바로가기 메뉴 바로가기

티스토리 뷰

카테고리 없음

Bandit lv12 -> lv13

Tip_srevil 2021. 9. 18. 00:09
반응형

어제 말했다시피 오늘은 Bandit lv12 -> lv13 과정에 대해서 포스팅 하겠습니다,

아직 정리가 완벽하지 않고, 이때까지와 다르게 풀이과정이 매우 깁니다.

그래서 일일이 다 보여드리기에는 무리가 있네요.

하지만 이 글을 보는 사람들이 전부 문제를 풀 수 있도록,

이해할 수 있도록 설명하도록 노력하겠습니다.

우선 문제부터 보시죠!


Problem


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!)

=> data.txt 파일에 비번이 저장되어 있다.

그 파일은 반복적으로 압축된 hexdump 파일이다.

이 레벨에서는 mkdir 명령을 통해 /tmp에 directory를 만드는 것이 유용할 것이다.

뭐 대충 이 정도만 알면 되겠네요.

이 문제에서 정리하고 가야할 점은

1. data.txt 는 hexdump 파일이다.

2. 반복적으로 압축된 파일이다.

3. /tmp에 directory를 만들어야 한다.

이 정도가 있겠네요.


Solution


우선 문제에서 시킨 것부터 했습니다.

제가 만든 directory 이름은 asusen입니다.

그리고나서 cp 명령을 이용해 data.txt를 asusen에 복사해줬습니다.

이후 cd 명령을 이용해 제가 만든 directory 에 들어왔습니다.

확인해보니 data.txt 가 잘 만들어져있네요.

단순히 파일을 열었더니 이렇게 되어있네요.

이게 hexdump 형식이라고 보셔도 무방할 것 같네요...

더보기
Hex dump - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

<출처 : Hex dump - 위키백과, 우리 모두의 백과사전 (wikipedia.org) >

그럼 이 다음이 문제입니다.

이 파일을 어떻게 읽어야 할까요?

file data.txt 를 해봐도 ASCII 코드라고 나오고,

딱히 어떤 압축형태가 보이지 않습니다.

그래서 막막했죠..

그러다 문득 의문이 들었습니다.

컴퓨터는 정보를 이진형태로 저장하는데, 저 파일의 내용은 16진법으로 구성되어 있다.

그렇다면, 저 파일의 내용을 이진형태로 바꾸어 저장하면 하나의 제대로 된 파일이 나오지 않을까?

그래서 실행해보았습니다.

xxd 명령어를 이용해 data.txt 파일을 이진형태로 바꾸고 그 내용을 data에 저장시켰습니다.

왜냐하면 그저 xxd 명령을 사용하면 형태를 볼 수 있을 뿐이지, 결국 그 파일 자체는 변하지 않더라구요.

그래서 저장하는 방법을 택한 겁니다.

이후 file 명령어를 이용해 data 파일을 확인해보니 gzip 파일임을 확인했습니다.

접미사가 없어서 안된다고 하네요.

gz 라는 접미사를 붙여줬더니 저런 형태가 되는 것을 확인했습니다.

이 이후는 무한반복입니다.

계속해서 그 형태에 맞게 압축을 해제하고 mv를 통해

압축형태에 맞는 접미사를 붙혀주고 하다보면

data8이라는 ASCII 파일이 나옵니다,.

거기에 비밀번호가 저장되어 있습니다.

접미사 형태 정리

tar .tar
gzip .gz
bzip2 .bz2

Concept & Option


이번 lv 에서 새롭게 등장한 명령어들을 정리해보겠습니다.

위에서 간단하게 압축파일의 접미사 형태를 정리했습니다.

물론 중복으로 압축된 파일들의 접미사도 있고,

일반적인 zip도 있지만, 오늘 당장은 다루지 않았기에 정리하지 않았습니다.

실용성이 있는 것이라면 언젠가 포스팅할 날이 올거라고 생각하기 때문에

가볍게 넘어가주시면 감사하겠습니다.

mkdir 명령어 자료주소 : [리눅스 명령어] mkdir - 디렉토리 생성 (tistory.com)

 

[리눅스 명령어] mkdir - 디렉토리 생성

  ※ 요약 mkdir 명령어는 make directory의 약자로써 디렉토리를 생성할 때 사용하는 명령어다. 자주 사용하지만 옵션의 종류도 별로 없고 매우 쉬운 명령어 중에 하나이다. ※ 경로 /bin/mkdir ※ 사용

shaeod.tistory.com

rm 명령어 자료주소 : [Linux] 리눅스 rm 명령어 사용법 & 옵션 정리 (tistory.com)

 

[Linux] 리눅스 rm 명령어 사용법 & 옵션 정리

rm rm의 뜻은 remove의 약자로 파일이나 디렉토리( -r 옵션시 삭제가능)를 삭제 시킬때 사용하는 명령어입니다. 한번 지운 파일은 복구가 어렵기 때문에 rm 명령어를 실행시키기전에 두번 세번 확인

coding-factory.tistory.com

리눅스에서 사용되는 압축형태 자료주소 : [팁 리눅스] 리눅스에서 압축파일 다루기 : 네이버 블로그 (naver.com)

 

[팁 리눅스] 리눅스에서 압축파일 다루기

리눅스에서 압축파일 다루기 리눅스는 파일을 압축하거나 묶는 많은 방법을 제공합니다. 윈도우의 편한(?) ...

blog.naver.com

 

이때까지는 제가 공부하면서 검색을 통해 얻어왔던 자료들을

출처만 남기며 무단으로 글을 올렸습니다.

근데 그게 잘못됐다는 사실을 깨달았습니다.

출처만 남기면 저작권법을 어기지 않는다고 알고 있었는데,

우선 저작권자의 허락을 얻어야한다고 하더라구요.

그런데 보통의 tistory는 댓글을 남기는 방법을 잘 모르겠어서

아예 링크만 남겨놓겠습니다.

제가 복습하려는 것이 가장 메인이 되는 목적이므로,

이 글을 읽으시는 독자들이 불편하시더라도 이해부탁드립니다.

이미 잘 정리된 곳들이 있는데, 굳이 제가 정리할 필요는 없다고 느끼니까요.

물론 직접 정리하면 더 잘 와돻겠지만

저는 개념정리를 하는 것보다는 제가 직접 문제를 풀면서 응용하는 부분이 재밌고,

더 공부에 도움이 된다고 생각하기 때문에 이렇게 하겠습니다.

 

 

반응형