오늘도 달려봅시다
Bandit Level 4 → Level 5 문제 풀이
ssh bandit4@bandit.labs.overthewire.org -p 2220
password : 2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe
Bandit Level 4 → Level 5 문제 내용은 inhere 경로의 인간이 읽을 수 있는 파일에서 비밀번호를 찾는 문제입니다
inhere 경로에 들어가서 cat 명령어의 현재 경로의 있는 파일을 읽어보니 파일이 깨져서 보입니다
이건 data 파일이어서 인간이 읽을 수 있는 파일이 아닌 걸 알 수 있습니다 이렇게 일일이 하나씩 읽어보니 -file07 파일에 비밀번호가 있는 걸 확인할 수 있었습니다
하지만 하나씩 대입해서 찾는 것보단 file 명령어를 이용하여 비밀번호의 text 값을 한 번에 찾을 수 있습니다
file ./*는 현재 경로에서 모든 파일을 보여주는 명령어입니다
추가로 파이프 명령어를 이용하면 현재 경로에 있는 모든 파일에서 text 가 포함된 파일만 찾아서 보여줍니다
[ 파이프 사용법 ]
Bandit Level 5 → Level 6 문제 풀이
ssh bandit5@bandit.labs.overthewire.org -p 2220
password : lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR
Bandit Level 5 → Level 6 문제는 inhere 경로에서 인간이 읽을 수 있고, 파일 크기가 1033 바이트와 실행할 수 없는 파일에서 비밀번호를 찾을 수 있다고 합니다
ls ./* -al 명령어를 이용하여 inhere 경로에 있는 모든 파일들을 확인할 수 있습니다
노란색 사각형 : x 면 파일이 실행 가능합니다 ( 우리는 x가 없는 파일을 찾으면 됩니다 )
빨간 사각형 : 파일 크기 byte
이렇게 커서를 내려 해당 파일을 찾아낼 수 있습니다
찾은 파일은 cat으로 읽어오면 됩니다
더 간단한 방법은 find 명령어를 이용하여 한 번에 찾을 수 있습니다 find 옵션 중 -size는 파일 크기를 찾을 수 있습니다
1033c = 1033 byte입니다
Bandit Level 6 → Level 7 문제 풀이
ssh bandit6@bandit.labs.overthewire.org -p 2220
password : P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
Bandit Level 6 → Level 7 문제는 현재 서버 어딘가 소유권이 bandit7, 그룹이 bandit6이고, 크기가 33 바이트 파일에서 비밀번호를 찾는 문제입니다
ls를 입력하니 아무것도 나오지 않아 /(최상위 디렉터리)로 이동했습니다
여기서 find 명령어를 이용하여 위에 조건 (파일 크기 33과 user 소유권과 group 그룹)을 지정 후 파일을 찾아보았지만 Permission denied 문구 표시가 파일 절반을 차지하여 비밀번호 찾기가 어려웠습니다
그래서 표준 에러를 이용한 리다이렉션을 사용했습니다 (fd[파일 디스크립터] : 2)
find -size 33c -user bandit7 -group bandit6 2> /dev/null 명령어를 사용하여 Permission denied 문구 표시를 걸러냈더니
bandit7의 비밀번호를 찾게 되었습니다
[ 표준 에러 리다이렉션 사용법 ]