2023.11.14 - [워게임/Bandit (Linux 초보자들을 위한 워게임)] - [OverTheWire:Bandit] Level 5 → Level 6
Bandit Level 6
컴퓨터의 사용자 이름( 계정명 ): bandit6
호스트(접속해야 할 주소):bandit.labs.overthewire.org
포트 번호: 2220
비밀번호: P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU (2023.11 기준)
가장 기본적인 bandit6 계정으로 서버에 접속하겠습니다.
PS> ssh bandit6@bandit.labs.overthewire.org -p 2220
문제
문제를 해석하자면 다음 레벨의 비밀번호는 서버 어딘가에 저장되어 있으며 다음과 같은 속성을 가지고 있습니다고 합니다.
- 사용자는 bandit7
- 그룹은 bandit6
- 크기는 33바이트
사실 이번것은 풀이가 매우 단순하다. ls -al 해보면 진짜 기본적인 파일 말고는 아무것도 없기 때문에 결국 위 3가지 조건을 만족하는 파일들을 찾아야 할 수밖에 없다. 물론 하나하나 다 뒤져보는 방법도 있지만 cd .. 명령어로 상위 디렉터리로 이동해 봤다면 굉장히 많은 디렉터리를 발견할 수 있다.
이때 find 명령어를 이용해 특정 파일을 찾을 수 있다.
$ find / -user bandit7 -group bandit6 -size 33c
Linux에서 / 는 최상위 디렉터리 이므로 위 명령어의 뜻은 " 최상위 디렉터리에서부터 모든 파일을 뒤져가며 원하는 파일을 찾겠다"라고 이해할 수 있다.
그런데 문제가 있다. 바로 접근 권한의 문제다.
Permission denied 말 그대로 접근 권한이 없어서 찾으러 들어갈 수가 없다는 이야기이다. 그럼 권한을 올리면 되지 않나요?라고 할 수 있겠지만 권한을 올리는 건 이 서버의 주인만 할 수 있다. 서버 주인이 신이기 때문에 우리는 그저 피조물의 권한만 가질 수 있다. 그리고 솔직히 이제 Level 6인데 그렇게까지 할 문제는 아닐 거다.
잘 보면 유일하게 Permission denied가 안 붙은 경로의 파일이 있다. 바로/var/lib/dpkg/info/bandit7.password 이다. 이 파일을 읽으면 password가 나온다.
$ cat /var/lib/dpkg/info/bandit7.password
그런데 여기서 끝내면 뭔가 후련하지 않다. 나는 저 거만한 Permission denied 같은 애들은 다 빼버리고 제대로 된 메시지만 얻고 싶다. 이럴 땐 리다이렉션 기능을 이용할 수 있다. 지금 사용하기엔 조금 고급? 아닌 기술 같아서 아래로 빼버렸다. 별건 아니고 다음과 같다.
$ find / -user bandit7 -group bandit6 -size 33c 2> /dev/null
설명이 간단하게 잘 된 글이 있어서 가져와 봤다.
[Shell]/dev/null로 출력 버리기
/dev/null 파일은 항상 비어있으며, /dev/null에 전송된 데이터는 버려집니다. 따라서 특정 명령어를 실행 후, 출력이 필요없는 경우는 /dev/null에 출력을 지정하는 것이 좋습니다. $ echo HelloWorld HelloWorl
minsone.github.io
Level 7 접속정보
컴퓨터의 사용자 이름( 계정명 ): bandit7
호스트(접속해야 할 주소):bandit.labs.overthewire.org
포트 번호: 2220
비밀번호: z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S(2023.11 기준)
bandit Level 7로 가기 위한 비밀번호 z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S를 얻었다. Linux를 좀 더 깊이 있게 사용하려면 리다이렉션이나 /dev/null 과 같은 것에 대해 알아두면 좋다. 물론 자주 사용할 기능은 아닐 수 있기에 그때그때 찾아서 사용하는 것을 추천한다.
마지막으로 exit 명령어를 입력하여 서버에서 bandit6 계정을 로그아웃 한다.
'워게임 > Bandit (Linux Wargame)' 카테고리의 다른 글
[OverTheWire:Bandit] Level 8 → Level 9 (0) | 2023.11.17 |
---|---|
[OverTheWire:Bandit] Level 7 → Level 8 (0) | 2023.11.16 |
[OverTheWire:Bandit] Level 5 → Level 6 (0) | 2023.11.14 |
[OverTheWire:Bandit] Level 4 → Level 5 (1) | 2023.11.13 |
[OverTheWire:Bandit] Level 3 → Level 4 (0) | 2023.11.12 |