Pwn/Bandit

    Level 5 → Level 6

    로그인을 하고 이번에도 inhere 디렉터리로 들어가서 뭐가 있는지 확인해봅시다. cd inhere/;ls -l 뭘까.. 디렉터리가 20개나 있습니다. 패스워드가 든 파일에 대한 3가지 정보를 주었고 이를 일일이 들어가서 하나하나 분석해보는 방법도 있겠지만 우리는 똑똑한 학생이니 명령어를 이용하여 찾아보도록 합시다. 저 조건들을 검색할 수 있는 명령어로는 find 밖에 떠오르질 않았고 옵션들의 조합으로 한번 찾아보려고 했습니다. find . -size 1033c -type f -exec cat {} \; 이런 1033-Byte나 되는 큰 파일이었던 이유는 공백이 엄청 많아서였군요. ㅎㅎ 자 그럼 제가 쓴 명령어를 좀 살펴보겠습니다. ...더보기 [find 명령어의 옵션에 대하여] (find 바로 뒤) ...

    Level 4 → Level 5

    inhere 디렉터리로 들어가서 어떤 파일들이 있는지 살펴보도록 하자. cd inhere/; ls -l 조금 당황스럽다. 이전 문제에서 등장했던 파일 이름 내 '-' 존재와 더불어 10개나 되는 파일들이 있었다. 그래서 어쩔 수 없이 일일이 확인하는 수밖에 없었다. 이상한 문자들이 막 등장하는데 문제에서 말해준 '인간만이 읽을 수 있는(human-readable)' 파일이 단 하나 존재한다고 했다. 그리고 딱 하나 보인다. 조금 노가다성이... 아무튼 찾았으니 다음 문제로 가보자.

    Level 3 → Level 4

    로그인을 하고 ls -l 로 확인해보도록 합시다. inhere 라는 이름을 가진 디렉토리가 존재하는군요. 디렉토리는 맨 앞에 있는 'd'라는 걸로 알 수 있습니다. cd 명령어를 통해서 디렉토리를 이동시켜 보죠. 그리고 그 안의 파일들을 ls -l 로 확인해보겠습니다. 아무것도 나오질 않네요. 우리는 하나 간과한 것이 있습니다. 바로 우리가 찾으려는 파일은 '숨겨진(hidden)' 파일이라는 것을요. 그렇다면 ls 명령을 조금 바꿔서 a라는 옵션을 주도록 하겠습니다. a 옵션은 숨겨진 파일을 포함한 모든 파일을 보여주는 옵션입니다. ls -al 이 다음은 쉽습니다. cat 명령어를 이용해 출력하면 끝이죠. cat .hidden 이제 다음으로 넘어가죠. ㅎㅎ

    Level 2 → Level 3

    로그인을 하고 ls -l 로 한 번 확인해봅시다. 문제에서 언급한 대로 공백을 포함한 이름을 가지는 파일이 존재하군요. 아마 cat spaces in this filename 이라고 한다면 cat 명령어는 인자값으로 space / in / this / filename 을 구분해서 보게 될 것입니다. 하지만 그런 파일들은 각각 존재하지 않으므로 오류를 일으키게 되겠죠. 그렇다면 저희는 공백을 포함하여 인식할 수 있도록 해주어야 합니다. 그 방법에는 두 가지가 있는데 큰 따옴표("") 혹은 작은 따옴표('')로 묶어서 인자를 전달해준다. 역슬래시(\) + 공백( ) 으로 전달한다. 그래서 가능한 조합들로는 cat spaces\ in\ this\ filename cat "spaces in this filena..

    Level 1 → Level 2

    bandit1 / (패스워드) 를 입력하고 접속해보자. 이번에는 home 디렉토리에서 - 경로를 부르라고 합니다. 여기서 주의해야 할 점은 파일 이름인 '-'가 STDIN/STDOUT 때문에 그냥 cat - 같은 식으로 접근하게 되면 이런 식으로 입력한 대로 다시 출력되게 됩니다. 그렇기 때문에 문제 페이지에서 제공된 접근법을 보면 구체적으로 해당 파일의 위치와 이름을 특정해주면 된다고 합니다. 그래서 현재 페이지의 '-' 파일이라고 지정해주고 내용을 보도록 합시다. cat ./- (혹은 cat ~/-) 우리는 패스워드를 얻을 수 있게 됩니다! 다음 레벨로 가보도록 합시다.

    Level 0 → Level 1

    level0에서 나가지 말고 home 디렉토리에서 readme라는 파일을 불러보랍니다. 그 안에 패스워드가 있으니 말이죠. 그래서 cat readme 로 패스워드를 출력해봅니다. level0에서 출력된 규칙 중에 write-up에 각 레벨의 패스워드를 스포일하지 말라 했으니 앞으로 보여드리진 않겠습니다. 하지만 스스로 하는 만큼 실력은 올라가게 되겠죠? 파이팅!

    Level 0

    쉽게 말해서 ssh 명령어를 통해 접속해보라는 것인데 사실 PuTTY를 이용하는 입장으로서는 이렇게 설정만 하고 들어가면 되는거라... linux 환경에서 하시는 분들은 ssh 명령어를 사용하시면 됩니다. 명령어 자체는 ssh bandit0@bandit.overthewire.org -p 2220 을 사용하시면 됩니다. 이런 첫화면이 등장하면서 밑에는 여러 도움이 되는 Tool, Tip, Information들이 제공됩니다. 잘 읽어보시길 바라요. 이제 다음으로 넘어가봅시다.