[Bandit] Level 6 → Level 7
Bandit Level 6 풀이 과정을 설명합니다.
문제
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
서버 어딘가에 password 파일이 존재한다고 하는데, 그냥은 찾을 수 없습니다.
문제의 조건을 보니 user는 bandit7, group은 bandit6 이면서 크기가 33바이트인 파일을 찾아야 합니다.
해결
이전과 달리 홈디렉토리에서 힌트를 얻을 수 없어보이네요.
그렇다면 홈디렉토리에서 검색하는 것이 아니라 최상위 폴더라고 하죠?
root 로 이동하여 검색을 해봐야할 것 같네요.
지난번에 홈디렉토리는 ~로 표시한다는 것을 알려드렸는데요.
root 는 /로 표시합니다.
그럼 두가지의 방법을 생각해볼 수 있을 것 같습니다.
1. 홈디렉토리에서 /폴더로부터 검색하도록 명령어를 입력한다.
2. root 폴더로 이동하여 검색한다.
1. 홈디렉토리에서 /폴더부터 검색
이렇게
find / -user bandit7 -group bandit6 -size 33c명령을 입력하니 에러 메세지만 나오는데요.우선 옵션에 대해 말씀드리면,
find의 옵션이 매우 많다고 지난 레벨에서 말씀드렸던 것 기억하시나요?그 중에서도 user 와 group 을 찾을 수 있는 옵션도 존재합니다.
단순하게
-user -group이렇게 사용하면 됩니다.
그런데 에러 메세지만 출력되는 것 같은데 정확하게 구한 것이 맞을까요?
아마 저기 수많은 에러와 함께 섞여있지 않을까라는 생각을 하게 됩니다.
그렇다면 에러를 제외하고 출력할 수 있는 방법은 없을까요?
다행히 리눅스에는 리다이렉션을 이용해 구할 수 있습니다.
2>/dev/null만 추가해주면 이렇게 에러가 없는 결과 값만 한 번에 구할 수 있습니다.
2> /dev/null이란?
2 (표준 에러, 에러가 났을 때) > (우회해라) /dev/null (/dev/null 로, /dev/null은 쓰레기통과 유사한 개념으로 이곳으로 보내진 데이터는 사라진다.)
따라서 Permission denied 로 에러가 발생한 파일들의 목록은 사라지고 패스워드 파일만 출력됩니다.
> (리다이렉션)에 대한 설명은 [핵심]을 참고해주세요.
어쨌든,
/var/lib/dpkg/info/bandit7.password속에 password가 있을 것 같으니 파일을 읽어보면 될 것 같아요.
2. root 폴더로 이동하여 검색
이동 과정은 스크린샷을 찍지 못했지만,
/폴더로 이동한거 보이시나요?여기서 find 명령을 쓸 때는 굳이
/이것을 쓰지 않아도 되겠죠?이후는 앞의 과정과 동일합니다.
핵심
리다이렉션(Redirection)(=방향 지정, 방향 변경)
표준 스트림을 사용자 지정 위치로 우회할 수 있는 명령
> 파이프도 리다이렉션에 포함됨
리다이렉션에 대한 자세한 내용은 아래 링크 참고.
/dev/null 파일
항상 비어있음
이곳에 전송된 데이터는 버려짐 → 특정 명령어 실행 후, 출력이 필요 없는 경우
/dev/null에 출력 지정하면 좋음(but) 실행 중 에러 발생 시, 출력됨
댓글
이 글이 마음에 드셨다면 반응이나 댓글을 남겨주세요!
댓글을 작성하려면 로그인하세요

뉴스레터 구독하기
새로운 포스트가 올라오면 이메일로 알려드려요!