[서버 구축 소전] 1차시 과제 is protected. Enter the password to view this post.
오늘은 서버 소수전공 1차시의 과제인 bandit level0 ~ level7 까지 풀이를 진행할 것입니다.
1. Level0
문제
이 레벨의 목표는 SSH를 사용하여 게임에 로그인하는 것입니다.연결해야 할 호스트는 bandit.labs.overthewire.org이며, 포트는 2220입니다.사용자 이름은 bandit0이고 비밀번호도 bandit0입니다.로그인 후 레벨 1 페이지로 이동하여 레벨 1을 클리어하는 방법을 확인하세요.풀이
2. Level0 -> Level1
문제
다음 레벨의 비밀번호는 홈 디렉터리에 있는 readme라는 파일에 저장되어 있습니다.이 비밀번호를 사용하여 SSH로 bandit1에 로그인하세요.레벨 비밀번호를 찾을 때마다 SSH(2220번 포트)를 통해 해당 레벨에 로그인하여 게임을 계속 진행하십시오.풀이

가장 먼저, ls를 쳐보니 readme 파일이 있어 cat으로 내용을 확인했습니다.
안에서 다음 레벨로 가는 비밀번호를 획득했습니다.
3. Level1 -> Level2
문제
다음 레벨의 비밀번호는 홈 디렉터리에 있는 '-'라는 파일에 저장되어 있습니다.풀이

ls를 쳐보니, - 라는 파일이 있었습니다.
찾아보니 -(dashed filename) 은 옵션 사용와 혼동이 생길 수 있다고 하여
./를 앞에 붙여 경로로 파일을 지정했습니다.
cat으로 파일 내용을 출력해 level1의 비밀번호를 획득했습니다.
4. Level2 -> Level3
문제
다음 레벨의 비밀번호는 홈 디렉터리에 있는 --spaces in this filaneme-- 이라는 파일에 저장되어 있습니다.풀이
ls를 하면 —spaces in this filename— 이라는 파일이 있습니다.
”-” 와 공백문자 때문에 정상적인 파일 지정이 되지 않을 것 같아 파일명을 문자열로 지정했습니다.
cat으로 파일 내용을 출력해 다음 레벨로 가는 비밀번호를 획득했습니다.
5. Level3 -> Level4
문제
다음 레벨의 비밀번호는 inhere 디렉터리의 숨겨진 파일에 저장되어 있습니다.풀이
inhere 디렉토리로 이동한 뒤, ls -al을 치니 …Hiding-From-You 라는 숨김 파일이 있었습니다.
이전 문제와 똑같이 파일명을 문자열 처리하여 cat으로 파일 내용을 출력해 비밀번호를 획득했습니다.
6. Level4 -> Level5
문제
다음 레벨의 비밀번호는 inhere 디렉터리에 있는 유일하게 사람이 읽을 수 있는 파일에 저장되어 있습니다.풀이
inhere 디렉토리에서 ls를 치니 -file00 ~ -file09 라는 파일들이 있었습니다.
문제에 명시된 사람이 읽을 수 있는 파일은 아스키 형식의 파일을 말하는 것이라고 생각해 file과 *를 이용해 파일들의 데이터 타입을 먼저 확인했습니다.
이후 데이터 타입이 ASCII text인 -file07의 파일 내용을 출력해 비밀번호를 획득했습니다.
7. Level5 -> Level6
문제
다음 레벨의 비밀번호는 inhere 디렉토리 어딘가에 있는 파일에 저장되어 있으며 다음과 같은 특징을 가지고 있습니다.
사람이 읽을 수 있는 형식Size: 1033Byte실행 불가풀이
inhere 디렉토리에서 ls를 쳐보니 maybehere00 ~ 19 라는 디렉토리가 있었습니다.
문제 조건에 있는 크기가 1033바이트인 파일을 찾기 위해 find를 사용했습니다.
조건에 맞는 파일은 maybehere07/file2 였습니다.
이 파일의 내용을 출력해 다음 레벨로 가는 비밀번호를 획득했습니다.
8. Level6 -> Level7
문제
다음 레벨의 비밀번호는 서버 어딘가에 저장되어 있으며 다음과 같은 특징을 가지고 있습니다.
User: bandit7Group: bandit6Size: 33Byte풀이
이번 문제는 ls를 쳐봐도 아무 것도 나오지 않습니다.(-al도 마찬가지)
문제에 있는 user가 bandit7이고 group이 bandit6이고 size가 33Byte인 파일을 찾기 위해 find를 사용했습니다.
이때, 명령어 실행 과정에서 권한이 없는 파일 때문에 permision denied가 도배되는 상황이 발생하여 찾아본 결과, 2>/dev/null을 뒤에 붙이면 해결된다는 것을 알 수 있었습니다.
이후 최종적으로 알아낸 목표 파일 경로로 파일 내용을 출력하여 다음 레벨로 가는 비밀번호를 획득했습니다.
마치며
거의 2년만에 bandit을 풀어보면서 다시 리눅스 명령어에 대해 알아볼 수 있어 재미있었습니다!
이후에도 가끔씩 bandit을 풀어보면 좋을 것 같습니다.
