반응형

 

https://overthewire.org/wargames/bandit/bandit6.html

 

OverTheWire: Level Goal

We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Level Goal The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties: human-readable 10

overthewire.org

 

Bandit Level 5 → Level 6


Level Goal
The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties:

human-readable
1033 bytes in size
not executable


Commands you may need to solve this level
ls , cd , cat , file , du , find

 

find : 리눅스 파일 시스템에서 각 경로를 통해 지정된 파일을 찾는 명령어

 

https://www.ibm.com/docs/ko/aix/7.3?topic=files-finding-find-command

 

파일 찾기(find 명령)

find 명령을 사용하여 디렉토리 트리에서 지정된 각 경로를 반복적으로 검색하여 다음 텍스트에 제공된 용어를 사용하여 작성된 부울 표현식과 일치하는 파일을 찾습니다. find 명령의 출력은 Expr

www.ibm.com


문제 해석

Next Level로 가는 패스워드는 inhere directory의 어떤 곳에 있다. 그 파일은 다음과 같은 특징을 가지고 있다.

 

human-readable
1033 bytes in size
not executable


 

 

bandit5@bandit:~/inhere$ ls
maybehere00  maybehere03  maybehere06  maybehere09  maybehere12  maybehere15  maybehere18
maybehere01  maybehere04  maybehere07  maybehere10  maybehere13  maybehere16  maybehere19
maybehere02  maybehere05  maybehere08  maybehere11  maybehere14  maybehere17

inhere 디렉토리에서 ls 명령어로 존재하는 디렉토리를 파악한다.

maybehere00 ~ maybehere17을 모두 확인하면 되겠다!하는 분은 손을 위로 들어서 그대로 자신의 뺨을..

 

우리는 해커가 될 거니까, 좀 더 인텔리한 방법을 찾아보자

 

 

bandit5@bandit:~/inhere$ file *
maybehere00: directory
maybehere01: directory
maybehere02: directory
maybehere03: directory
maybehere04: directory
maybehere05: directory
maybehere06: directory
maybehere07: directory
maybehere08: directory
maybehere09: directory
maybehere10: directory
maybehere11: directory
maybehere12: directory
maybehere13: directory
maybehere14: directory
maybehere15: directory
maybehere16: directory
maybehere17: directory
maybehere18: directory
maybehere19: directory

일단, maybehere가 파일이 아니라 디렉토리라는 것을 확인했다.

그렇다면 각각의 디렉토리에는 또 다른 디렉토리나 파일이 있을 수 있다.

이 모든 것을 일일이 확인하면 정확하긴 하겠지만, 시간이 많이 걸린다.

 

여기서, find 명령어를 사용해보자

 

find [경로] [전달인자] [옵션]
bandit5@bandit:~/inhere$ find . -size 1033c
./maybehere07/.file2

"현재경로(.)에서 파일 크기가 1033bytes인 파일을 찾아라"라는 명령어이다.

여기서 1033c의 c는 bytes를 의미하고, 킬로바이트는 k, 메가바이트는 m을 쓴다.

 

maybehere07/.file2 파일이 1033bytes 크기를 가지고 있다는 것을 확인했다.

이제 cat 명령어를 사용해서 출력해보자

 

bandit5@bandit:~/inhere$ cat ./maybehere07/.file2
HWasnPhtq9AVKe0dmk45nxy20cvUa6EG

짜쟌~ 반딘 워게임 너무 재밌어~

 


정리

1. 주어진 조건을 파악하고, 어떻게 하면 효율적으로 1033bytes를 이용할 수 있을까

2. find 명령어를 통해 해당 조건 만족하는 파일 찾기

 

반응형

'네트워크 공부 > bandit' 카테고리의 다른 글

[Bandit] Level 7 -> Level 8  (0) 2024.07.19
[Bandit] Level 6 -> Level 7  (0) 2024.07.19
[Bandit] Level 4 -> Level 5  (0) 2024.07.19
[Bandit] Level 3 -> Level 4  (0) 2024.07.18
[Bandit] Level 2 -> Level 3  (0) 2024.07.18
반응형

https://overthewire.org/wargames/bandit/bandit5.html

 

OverTheWire: Level Goal

We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Level Goal The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “r

overthewire.org

 

Bandit Level 4 → Level 5


Level Goal
The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “reset” command.

Commands you may need to solve this level
ls , cd , cat , file , du , find

 

ls : 현재 내 위치에 존재하는 데이터를 보여줌

cd : Change Directory, 말 그대로 디렉토리 경로를 이동

cat : 파일이나 데이터의 내용을 출력

du : 디스크나 용량 확인

find : 리눅스 파일 시스템에서 파일을 검색하는데 사용되는 명령어

 

레퍼런스

https://coding-factory.tistory.com/804

 

[Linux] 리눅스 find 명령어 사용법 (파일 찾기, 검색)

find 명령어 리눅스의 find 명령어는 리눅스 파일 시스템에서 파일을 검색하는 데 사용되는 명령어입니다. 다양한 표현식을 사용하여 원하는 파일의 목록을 추출할 수 있습니다. 리눅스 find 사용

coding-factory.tistory.com

 


문제 해석

패스워드는 inhere directory안에 오직 인간만이 읽을 수 있는 파일에 있다. 화면이 좀 지저분하면, reset을 추천한다. 

 

bandit4@bandit:~$ ls
inhere
bandit4@bandit:~$ file inhere
inhere: directory
bandit4@bandit:~$ cd inhere
bandit4@bandit:~/inhere$ ^C
bandit4@bandit:~/inhere$ ls
-file00  -file01  -file02  -file03  -file04  -file05  -file06  -file07  -file08  -file09

우선 inhere directory로 경로를 이동한다.

그리고, inhere idrectory에 -file00 ~ file09까지의 여러 파일이 있다

 

자, 여기서 "나는 저 파일을 다 확인하면 되겠는데?"라고 생각하는 분이 있다면, 한 손을 들어올려 자신의 뺨을 쳐주세ㅇ...

본인 이야기다.

 

우리는 해커가 될 거니까, 좀 더 인텔리한 방법을 찾아보자

 

 

bandit4@bandit:~/inhere$ file -file00
file: Cannot open `ile00' (No such file or directory)

문제에서 the only human-readable file라는 문구가 있어서 file 명령어로 파일의 형태를 알아본다.

그러나, -file00은 -가 선두에 오는데, 이 경우에는 상대경로를 활용하여 확인할 수 있다

 

 

bandit4@bandit:~/inhere$ file ./-file00
./-file00: data
bandit4@bandit:~/inhere$ file ./-file01
./-file01: data
bandit4@bandit:~/inhere$ file ./-file02
./-file02: data

이렇게 -file00 부터 -file09까지 확인할 수 있지만, 우리는 해커다.

조금 더 편하게 보기 위해 와일드카드를 활용하자

 

bandit4@bandit:~/inhere$ file ./*
./-file00: data
./-file01: data
./-file02: data
./-file03: data
./-file04: data
./-file05: data
./-file06: data
./-file07: ASCII text
./-file08: data
./-file09: data

-file07은 파일 형태가 ASCII text로 되어있다. 즉, the only-human readable file에 적합한 상태이다.

이제 -file07을 cat 명령어로 출력해보자

 

bandit4@bandit:~/inhere$ cat ./-file07
4oQYVPkxZOOEOO5pTW81FB8j8lxXGUQw

So easy하게 풀리는 문제다

 

 


정리

1. the only-human readable file단서가 file 명령어로 확인할 수 있다는 것을 추론한다

2. -로 시작된 파일은 상대경로로 접근하면 확인할 수 있다

반응형

'네트워크 공부 > bandit' 카테고리의 다른 글

[Bandit] Level 6 -> Level 7  (0) 2024.07.19
[Bandit] Level 5 -> Level 6  (0) 2024.07.19
[Bandit] Level 3 -> Level 4  (0) 2024.07.18
[Bandit] Level 2 -> Level 3  (0) 2024.07.18
[Bandit] Level 1 -> Level 2  (0) 2024.07.18

+ Recent posts