본문 바로가기

ETC/EVI$ION

EVI$ION 7기 심화스터디 과제 - #4

Bandit Level 0

 

Bandit Level 1

 

 -  은 명령어의 옵션을 나타내는 기호이다.

파일명이 - 일 경우 - 만 쓰면 옵션을 나타내는 기호로 인식해서

cat을 하기 위해서는 경로를 써주어야 한다.

 

Bandit Level 2

 

파일 이름에 띄어쓰기가 있는 경우

그냥 그대로 적으면  단어 단위로 끊어서 파일명을 읽는다.

\을 붙여주면 이어서 인식한다.

 

Bandit Level 3

 

drwxr -> 맨앞이 d이므로 디렉토리 파일이라는 뜻

cd 명령어로 해당 디렉토리에 접근

ls -l로 하니까 아무것도 보이지 않아서

ls -al로 하니까 다 보인다

숨김 파일이여서 ls -l로는 안 보였던 것

...까지 다 입력해야 cat이 가능하다

 

Bandit Level 4

 

inhere 디렉토리를 열어보니 여러 파일이 존재한다.

하나하나 열어보기 귀찮으니 head 명령어를 통해서 모든 파일을 한 번에 열어버리면 된다.

 

Bandit Level 5

 

inhere 디렉토리를 열어보니 파일이 많다.

문제에서 준 조건을 이용해 파일을 찾으면 된다.

 

find 명령어의 옵션

-user

-group

-name

-size

-perm

 

size가 1033인 것을 알려줬으므로 이걸 이용해서 파일을 찾아서

cat을 하면 비밀번호가 나온다.

 

Bandit Level 6

문제에서 그냥 어딘가에 파일이 존재한다고 하면서

user, group, size에 대한 정보를 줬다.

앞에서 설명한 find 옵션을 이용해서 파일을 찾아주면 된다.

엄청 많은게 출력되는데 간단하게 보여주는 명령어도 있다는데 그건 잘 모르겠으니 패스

 

Bandit Level 7

 

data.txt 안에 miilionth라는 단어 옆에 비번이 있다는데

data.txt 크기를 보니 직접 찾기는 딱봐도 어려워 보인다.

 

파일에서 원하는 옵션을 찾아주는 grep 명령어를 사용하면 된다.

$ grep [옵션] [찾을 문자열] [파일명]

 

Bandit Level 8

 

패스워드는 data.txt에서 딱 한 번 쓰였다고 한다.

cat 파일 | sort | uniq -c

| -> 파이프, 왼쪽의 출력은 오른쪽의 입력으로 보내주는 연결 통로

uniq -> 중복 입력 제거 

-c -> 중복 횟수 카운팅

 

중복 횟수가 1인 것이 비번이다.

 

Bandit Level 9

 

패스워드는 사람이 읽을 수 있고 (=string), 몇 개의 =로 시작한다고 한다.

strings 명령어를 통해 사람이 읽을 수 있도록 만들고,

앞에서 사용한 grep 명령어를 이용해 =가 들어간 문자열을 찾으면 된다.

 

Bandit Level 10

 

패스워드가 base64 형태로 저장되어있다고 한다.

cat을 사용하면 base64 형태의 텍스트 파일이 문자열로 변환 되어서 출력된다.

base64 -d 명령어를 이용하면 그대로 출력된다.