OverTheWire - Bandit
강의목차: Level 5 → Level 6(find)
Bandit 웹페이지
https://overthewire.org/wargames/bandit/
1. Bandit Level 5 → 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
다음 레벨로 넘어가는 패스워드는 inhere 디렉터리의 어딘가에 위치하며, 아래 속성을 가지고 있는 파일에 저장되어 있다.
- 사람이 읽을 수 있는
- 1033 bytes 크기의
- 실행 파일이 아님
Level 5 접속
$ ssh -p 2220 bandit5@bandit.labs.overthewire.org
패스워드: lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR
$ ls
$ cd inhere
$ ls
$ ls -al
maybehere 00 ~ maybehere19 까지 총 20개의 디렉터리가 있다.
모든 파일을 일일히 다 열면서 플래그는 찾을 수 없을 거 같다.
e.g. maybehere13 파일을 열어본다.
$ ls -al ./maybehere13
각 파일의 권한과 크기를 알 수 있다.
파일명을 보면 녹색과 흰색이 있는데, 녹색 파일은 실행권한이 있는 파일이다.
$ ./maybehere13/-file1
→ -file1 실행
플래그(패스워드)가 들어있는 파일을 찾기 위해서는 위에서 언급한 조건들을 활용해본다.
- 1033 bytes 크기의
- 실행 파일이 아님
find 명령어를 사용하여 조건을 검색해본다.
< find 옵션 >
-user 유저이름
해당 유저 소유의 파일들을 찾는다.
-group 그룹이름
해당 그룹 권한의 파일들을 찾는다.
-name 파일이름
파일이름에 검색하고자 하는 문자열이 들어있는 파일을 찾는다.
-perm 권한
해당 권한을 가진 파일을 출력한다. 예를 들어, -perm 644로 입력하면 rw-r--r-- 권한을 가진 파일을 찾는다.
-perm +644로 입력하면 6 4 4 중 하나라도 만족하는 파일을 찾는다.
-perm -644로 입력하면 해당 권한 이상의 파일들을 모두 찾는다.
-size 크기
해당 크기와 일치하는 파일들을 찾는다.
이 때, 기본 단위는 블록이며, 찾고자 하는 파일 크기의 단위를 바이트로 지정하고 싶다면 뒤에 c를 붙이면 된다.
지정한 크기보다 큰 파일들을 찾고 싶다면 +크기, 작은 파일들을 찾고 싶다면 -크기로 입력하면 된다.
< find로 파일 크기 기준으로 검색하는 방법 >
find [Path] -size +N : The size greater than N → N 초과의 크기
find [Path] -size N : The size N → N 크기
find [Path] -size -N : The size less than N → N 미만의 크기
b → Block
c → Byte
w → word(2 bytes)
k → Kilobyte(1024 bytes)
M → Megabyte(1048576 bytes)
G → Gigabyte(1073741824 bytes)
예를들어 maybehere00 의 파일을 검색한다고 했을 때,
$ ls -al ./maybehere00
$ find ./maybehere00 -name "-file1"
→ maybehere00 폴더 내에 파일 이름이 "-file1" 인 파일 찾기
$ find ./maybehere00 -size 1039c
→ maybehere00 폴더 내에 파일 크기가 1039 bytes 인 파일 찾기
$ find ./maybehere00 -size 1040c
→ maybehere00 폴더 내에 파일 크기가 1040 bytes 인 파일 찾기
→ 1040 bytes 크기인 파일은 없으므로 결과가 없다.
$ find ./maybehere00 -size +1030c
→ 1030 bytes 보다 큰 파일 찾기
이제 find 명령어로 size 를 지정하여 파일을 찾는 방법을 알아보았으니, 조건에 맞는 파일을 검색해본다.
find 명령어의 특징은 속해있는 디렉터리의 모든 곳을 찾는다는 특징이 있다.
그러므로 현재 inhere 디렉터리의 20개의 폴더를 일일히 찾을 필요 없이, find 명령어로 현재 디렉터리의 크기가 1033 bytes 인 파일을 검색해본다.
$ find ./ -size 1033c
→ 파일크기가 1033 bytes 인 파일 검색
$ cat ./maybehere07/.file2
→ maybehere07 디렉터리 내의 .file2 파일 내용 출력
다음 레벨 패스워드: P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
$ exit ( ssh 접속 상태에서 홈으로 나가기 )
Level 6 로그인 시도
$ ssh -p 2220 bandit6@bandit.labs.overthewire.org
Level 6 패스워드: P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
$ whoami
$ id
입력하여 현재 로그인한 계정 확인
취미로 해킹1 강의 : https://www.inflearn.com/course/linux-3
'보안 > Bandit 워게임' 카테고리의 다른 글
OverTheWire - Bandit : Level 7 → Level 8 (0) | 2023.04.03 |
---|---|
OverTheWire - Bandit : Level 6 → Level 7 (0) | 2023.03.31 |
OverTheWire - Bandit : Level 4 → Level 5 (0) | 2023.03.29 |
OverTheWire - Bandit : Level 3 → Level 4 (0) | 2023.03.28 |
OverTheWire - Bandit : Level 2 → Level 3 (0) | 2023.03.24 |