전체 보기
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들이 제공됩니다. 잘 읽어보시길 바라요. 이제 다음으로 넘어가봅시다.
[level4] Write-Up : 백도어(Backdoor)
level4 / suck my brain 로그인을 하고 hint를 보도록 합시다. 라는데 '백도어(Backdoor)'가 도대체 뭘까요? ...더보기 '백도어(Backdoor)'란?? 일반적인 인증을 통과, 원격 접속을 보장하고 plaintext에의 접근을 취득하는 등의 행동을 들키지 않고 행하는 방법(출처: 위키백과) 해당 경로로 들어가 보니 맨 위에 떡하니 버티고 있더군요. 현재 제가 level4이고 그룹 권한은 r-- 이므로 cat backdoor 을 통해 내용을 한번 보도록 해보겠습니다. finger라는 명령어를 우회할 수 있는 backdoor였군요. 중요한 건 'server'에 있는 파일을 'level5의 권한'으로 실행시킨다는 것이죠. 그렇다면 저희는 /home/level4/tmp 경로에 bac..
OllyDbg (Reversing Tool)
역공학(Reversing)시 이용할 수 있는 툴입니다. 어셈블러로 이루어진 환경 속에서 리버싱 문제를 풀 때 이용됩니다. [도움되는 사이트] OllyDbg 다운로드 & 기본설정 OllyDbg 기본 사용법 OllyDbg 유용한 플러그인
[level3] Write-Up : SetUID의 취약점 3
level3 / can you fly? 접속 후에 바로 cat hint로 어떤 힌트를 줄지 보도록 합시다. 이번 힌트는 조금 길군요. 어셈블러를 리버싱하며 얻은 지식이 여기서 도움이 되는군요. ㅎㅎ int main(int argc, char **argv) 부분을 보시면 int argc : 해당 파일(여기서는 autodig)을 실행시킬 때 넘겨받은 인자 값의 개수 char **argv : 넘겨받은 인자 값들의 스트링을 인자값의 개수만큼 저장하고 있습니다. ...더보기 예를 들어보겠습니다. ./autodig 9 hello 로 이 파일을 실행시켰다고 가정했을 때 argc = 3 *argv[0] = "./autodig" | *argv[1] = "9" | *argv[2] = "hello" 이렇게 저장이 되어 ma..
[level2] Write-Up : SetUID의 취약점 2
지난번에 얻은 level2의 암호를 통해 접속해보도록 합시다. level2 / hacker or cracker cat hint 를 통해 이번은 어떤 힌트인지 보았습니다. 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다고 합니다. 텍스트 파일 편집 프로그램을 제공하는 것 같은데 어떤 건지 한 번 찾아보도록 합시다. find / -user level3 -perm -4000 2> /dev/null editor라는 이름의 실행파일인 것 같습니다. 자세히 한 번 보도록 하죠. ls -l /usr/bin/editor rws
[level1] Write-Up : SetUID의 취약점 1
FTZ(Free Training Zone)의 트레이닝(1~10)을 완료하고 맞이하는 첫 번째 문제입니다. 이제 PuTTY를 실행시키고, level1 / level1 으로 접속해봅시다. ls -l 명령어로 무엇이 존재하는지 살펴보도록 합시다. hint 라고 저긴 파일을 cat 명령어를 통해 알아보도록 합시다. (혹시 한글이 나오지 않고 깨져 보인다면 -> 여기로) level2 권한에 setuid가 걸린 파일을 찾으라는군요. 그럼 'level2' 권한(user)에 'setuid(4000)' (perm)을 가진 파일을 다 찾아봐야겠군요. find 명령어를 통해 찾아보도록 합시다. find / -user level2 -perm -4000 (-perm 뒤에 - 는 '최소한'이라는 의미를 가집니다.) 정보가 너무 ..