OverTheWire - Bandit
강의목차: Level 6 → Level 7(find)
Bandit 웹페이지
https://overthewire.org/wargames/bandit/
1. Bandit Level 6 → 7
Level Goal
The password for the next level is stored somewhere on the server and has all of the following properties:
- owned by user bandit7
- owned by group bandit6
- 33 bytes in size
Commands you may need to solve this level
ls , cd , cat , file , du , find , grep
다음 레벨 패스워드는 서버 어딘가에 저장되어 있으며, 아래 속성들을 가지고 있다.
- 소유자 bandit7
- 소유그룹 bandit6
- 33 bytes 크기
Level 6 접속
$ ssh -p 2220 bandit6@bandit.labs.overthewire.org
패스워드: P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
$ ls -al
Level 5 와 다르게 inhere 라는 디렉터리는 보이지 않는다.
이전 레벨보다 탐색 조건이 더 까다로워졌다.
단순히 파일 크기만으로는 플래그를 찾을 수 없으며, 이전 보다 범위도 더 넓어졌다.
새로운 옵션을 활용하여 찾아야 한다.
< find 옵션 >
-user 유저이름
해당 유저 소유의 파일들을 찾는다.
-group 그룹이름
해당 그룹 권한의 파일들을 찾는다.
-name 파일이름
파일이름에 검색하고자 하는 문자열이 들어있는 파일을 찾는다.
-perm 권한
해당 권한을 가진 파일을 출력한다. 예를 들어, -perm 644로 입력하면 rw-r--r-- 권한을 가진 파일을 찾는다.
-perm +644로 입력하면 6 4 4 중 하나라도 만족하는 파일을 찾는다.
-perm -644로 입력하면 해당 권한 이상의 파일들을 모두 찾는다.
-size 크기
해당 크기와 일치하는 파일들을 찾는다.
이 때, 기본 단위는 블록이며, 찾고자 하는 파일 크기의 단위를 바이트로 지정하고 싶다면 뒤에 c를 붙이면 된다.
지정한 크기보다 큰 파일들을 찾고 싶다면 +크기, 작은 파일들을 찾고 싶다면 -크기로 입력하면 된다.
서버 어딘가에 저장되어 있기 때문에 현재 디렉토리( ./ ) 아래에 저장되어 있지 않을수도 있다.
이럴 땐 경로를 최상위 디렉토리 ( / )로 입력하면 모든 파일에 대해 검색하게 된다.
/ : 루트 밑에 있는 모든 파일과 폴더를 한번씩 건드려서 조건에 맞는 파일을 찾는다.
$ find / -user bandit7 -group bandit6 -size 33c
→ 소유자 bandit7 , 소유그룹 badit6, 파일크기 33bytes 인 파일 찾기
Permission denied 라는 문구와 함께 거절되었다.
권한이나 임시파일 관련하여 에러 메시지가 나와 원하는 파일을 찾기가 어렵다.
이에 불필요한 메시지(에러메시지)는 리다이렉션으로 처리한다. ( /dev/null → 리눅스 휴지통 )
/dev/null 옵션
0: 표준 입력(키보드로 부터 받는 데이터 값)
1: 기본값(표준출력: 모니터에 나오는 데이터 값)
2: 표준 에러(에러메시지)
꺾쇠 ( > ) 를 사용하여 보낼 위치 선정
리눅스 커맨드에서 꺾쇠( > )는 좌측 명령의 결과를 우측 파일명에 저장하게 한다.
이 때 꺾쇠 하나는 파일을 새로 생성하고 꺾쇠 둘은 파일에 덧붙인다.
$ find / -user bandit7 -group bandit6 -size 33c 2> /dev/null
→ 소유자 bandit7 , 소유그룹 badit6, 파일크기 33bytes 인 파일 찾기, 에러메시지는 /dev/null 로 보내기
실제 패스워드가 저장된 위치로 추정되는
/var/lib/dpkg/info/bandit7.password 가 확인된다.
$ cat /var/lib/dpkg/info/bandit7.password
다음 레벨 패스워드: z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
$ exit ( ssh 접속 상태에서 홈으로 나가기 )
Level 7 로그인 시도
$ ssh -p 2220 bandit7@bandit.labs.overthewire.org
Level 7 패스워드: z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
$ whoami
$ id
입력하여 현재 로그인한 계정 확인
취미로 해킹1 강의 : https://www.inflearn.com/course/linux-3
'보안 > Bandit 워게임' 카테고리의 다른 글
OverTheWire - Bandit : Level 8 → Level 9 (0) | 2023.04.04 |
---|---|
OverTheWire - Bandit : Level 7 → Level 8 (0) | 2023.04.03 |
OverTheWire - Bandit : Level 5 → Level 6 (0) | 2023.03.30 |
OverTheWire - Bandit : Level 4 → Level 5 (0) | 2023.03.29 |
OverTheWire - Bandit : Level 3 → Level 4 (0) | 2023.03.28 |