이번 단계는 레벨 5에서 레벨 6으로 넘어가는 과정입니다 이전 게시물을 못봤다면 반드시 이전단계의 패스워드를 알아야 넘어갈 수 있으니 순서대로 따라와 주세요.
필자는 root계정에서 명령을 입력합니다 만약 root계정이 아니라 오류 나는 경우 명령어 앞에 sudo를 붙여주세요.
이번단계의 문제를 확인하기 위해 OverTheWire 사이트로 접속해 주세요.
사용자권한 bendit7, 그룹권한 bandit6, 33bytes의 크기
문제 내용을 살펴보면 다음레벨로 가기 위한 패스워드가 서버의 어딘가에 숨겨져 있으며 다음과 같은 3가지의 속성으로 이루어져 있다고 합니다.
ssh -p 2220 bandit6@bandit.labs.overthewire.org
그럼 이제 문제를 풀어보기 위해 bandit서버에 접속해 보겠습니다.
서버 접속 시의 패스워드는 이전단계 게시물의 패스워드를 사용해 주세요.
서버에 어떤 파일들이 있는지 확인하기 위해 ls -la명령을 사용해 보았는데 패스워드파일이 숨겨질 만한 파일로 보이는 건 없었습니다.
상위 디렉터리로 이동해서 파일을 확인해봐도 정말 많은 파일들이 있기에 find명령을 통해서 한번에 찾아보도록 하겠습니다.
다시 원래 디렉토리로 돌아간 뒤에 find 명령을 사용하여 조건에 맞는 파일을 찾아주면 됩니다.
아까 패스워드파일의 조건 중에서 파일의 사이즈가 33 bytes이면서 user는 bandit7, group는 bandit6이라고 하였습니다.
패스워드파일을 검색해야 하는데 현재 디렉터리에는 아무 파일도 없는 걸 확인하였으니 검색할 때 디렉터리 범위는 '/'로 설정하여 현재 폴더가 아닌 전체 디렉터리를 스캔해 줍니다.
이전레벨에서도 find를 사용하여 문제를 풀었었는데 -size 옵션 중 조건에 해당하는 bytes는 c단위로 입력하면 됩니다.
find 명령의 결과가 터미널에 표시되지만 너무 많은 값들이 출력되었습니다.
자세히 보면 경로뒤에 'permission denied'와 함께 권한이 부족하다는 내용이 나오는데 에러가 발생하는 내용들은 2> /dev/null 을 입력하여 터미널에 출력되지 않게 설정할수 있습니다. 참고
기존 find명령에 2> /dev/null 을 추가해 준 뒤 다시 명령어를 실행해 주면 이렇게 패스워드가 담긴 파일의 위치가 나오게 됩니다.
z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
cat 명령을 통해서 해당위치 파일의 내용을 확인해 보니 다음단계로 넘어가기 위한 패스워드가 담겨 있었습니다.
위에서 발견한 패스워드를 사용하여 bandit7에 정상적으로 접속하였습니다.