본문 바로가기

Linux/Bandit11

[Bandit] Level 9 → Level 10 문제를 보면 이번 비밀번호는 data.txt에 있으며, 사람이 읽을 수 있는 문자열로 몇 개의 = 뒤에 있다고 한다. 일단 이전 단계에서 얻은 비밀번호로 접속해준다. 중간에 캡쳐본이 생략됐지만, 접속된 상태로 ls 명령어를 통해 존재하는 파일과 디렉터리를 확인했다. 문제에서 말한 data.txt가 바로 있어서 cat 명령어로 내용을 읽었더니 위와 같은 화면이 나왔다. 읽을 수 없는 문자들로 대부분 이루어져 있어 내용을 파악하기 힘들다. 적당한 명령어를 찾기 위해 문제에 있는 힌트를 살펴보았다. 그 중 strings 명령어를 사용하기로 했다. $ strings [옵션] [파일명] : 파일의 ASCII 문자를 찾아 화면에 출력한다. # -a (all) : 파일을 검색하고 데이터 섹션까지 검색 # -f (pr.. 2022. 1. 5.
[Bandit] Level 8 → Level 9 문제를 읽어보니 비밀번호는 data.txt라는 파일에 있으며 딱 한번 나타나는 라인에 존재한다고 한다. 일단 이전 단계에서 얻은 비밀번호로 접속해준다. ls 명령어로 파일과 디렉터리 목록을 확인한 후에 data.txt 파일을 cat 명령어로 읽어보았다. 위의 화면처럼 아주 복잡하고 긴 내용을 갖고 있음을 알 수 있다. 문제의 힌트로 돌아가서 명령어를 참고해보니 sort라는 명령어를 쓰기에 적합할 것 같았다. $ sort [옵션] [파일] : 파일의 내용을 정렬하거나 정렬된 파일의 내용을 병합할 때 사용 # -r, --reverse : 역순으로 정렬한다. # -k, --key=POS1 : 정해진 필드를 기준으로 정렬한다. # -u, --unique : 정렬 후 중복된 내용을 제거한다. # -t, --fie.. 2022. 1. 5.
[Bandit] Level 7 → Level 8 문제를 읽어보니 비밀번호는 data.txt 파일에 있는데 millionth라는 단어 옆에 존재한다고 한다. 일단 이전 단계에서 얻은 비밀번호로 접속해준다. ls 명령어로 현재 위치에 존재하는 파일과 디렉터리를 확인하니 data.txt가 바로 있음을 확인할 수 있었다. cat 명령어로 data.txt 파일을 읽어보니 아주 긴 내용이 출력되었다. 하나하나 찾아보기엔 시간도 오래 걸리기 때문에 문제 힌트에 있는 명령어들을 참고했다. $ grep [옵션] [표현식] [파일명] : 파일 속 특정 문자열을 찾는다. # -c : 문자와 일치하는 줄의 수 출력 # -h : 여러 파일에서 문자열을 찾을 때, 파일이름이 붙는것을 방지 # -i : 대소문자를 구분하지 않는다. # -n : 줄의 번호와 내용을 같이 출력 # .. 2022. 1. 5.
[Bandit] Level 6 → Level 7 문제를 읽어보니 비밀번호가 담긴 파일의 속성이 나와있다. user가 bandit7이고 group이 bandit6이며 33byte 크기를 가진 파일이라고 한다. 일단 이전 단계에서 얻은 비밀번호로 접속해준다. 중간과정은 캡쳐가 날아가서 없다. 문제에서 원하는 파일을 찾기 위해 find 명령어에서 user는 bandit7이고 group은 bandit6이며 크기는 33 btype인 파일을 찾도록 검색 조건을 설정해주었다. 검색을 해보니 조건을 만족하는 파일이 주르륵 출력됐다. 하지만 거의 대부분이 Permission denied이라고 뜨고 있다. 쭉 내려가면서 살펴보니 유일하게 접근할 수 있는 파일을 하나 발견할 수 있었다. 해당 파일을 cat 명령어를 이용하여 읽어보니 비밀번호를 구할 수 있었다. 2022. 1. 5.
[Bandit] Level 5 → Level 6 문제를 읽어보니 inhere 디렉터리 안 어딘가에 있는 파일에서 비밀번호를 찾아내라고 한다. 이 파일은 사람이 읽을 수 있고, 1033byte이며 실행할 수 없는 파일임을 알려주었다. 일단 이전 단계에서 얻은 비밀번호로 접속해준다. ls 명령어로 inhere 디렉터리를 발견한 뒤 inhere 디렉터리 안으로 들어가서 다시 ls -al 명령어로 모든 파일이나 디렉터리를 출력하도록 했다. 출력하니 여러개의 디렉터리가 있음을 파악할 수 있었다. 아직은 어떻게 할지 잘 모르겠어서 아무 디렉터리나 들어가서 파일들을 살펴보았다. 하지만 파일 개수도 그렇지만 디렉터리 개수도 너무 많아서 일일이 확인하기엔 시간이 너무 오래 걸릴 듯 싶었다. 다른 손쉬운 방법이 없나 생각해보다가 힌트를 참고했다. 사용하기로 한 건 fi.. 2022. 1. 5.
[Bandit] Level 4 → Level 5 문제를 읽어보니 inhere 디렉터리에 사람이 읽을 수 있는 파일에 비밀번호가 있다고 한다. 이번에도 똑같이 접속해준다. inhere 디렉터리로 디렉터리를 옮겨주고 혹시 모르니까 바로 -al 옵션을 사용해서 숨겨진 파일과 자세한 정보를 출력했다. 파일이 여러개 있음을 확인 할 수 있다. 일단 하나하나 cat 명령어로 열어보니 열리긴 하는데 읽을 수 없는 이상한 말로 되어있다. 이렇게 하나씩 열어서 보다보니 파일7은 우리가 읽을 수 있는 알파벳으로 이루어져있다는 걸 발견했다. 혹시 모르니 캡쳐에 없는 다른 파일들도 확인해보았지만 모두 읽을 수 없었다. 따라서 파일 7에 있는 내용이 비밀번호임을 알 수 있다. 하지만 이렇게 하나씩 열어보면 시간도 걸리고 파일이 아주 많을 때는 하나하나 확인하기 힘드니 다른 .. 2022. 1. 1.
[Bandit] Level 3 → Level 4 이번에는 inhere이라는 디렉터리 안에 숨겨진 파일이 있는데 그 숨겨진 파일에 비밀번호가 있다고 한다. 매번 했던 것처럼 똑같이 접속해준다. 일단 ls -l을 이용해서 바로 inhere 디렉터리를 찾아냈고 cd 명령어를 통해 inhere 디렉터리로 들어갔다. inhere 디렉터리 안에서 ls -l을 다시 써보았지만 나오는 건 없었다. 파일이 숨겨져 있다는 것이 생각나서 이번에는 숨겨진 파일도 출력해주는 -a 옵션까지 추가해서 리스트 명령어를 쓰니 숨겨진 것들이 나타났다. 바로 cat 명령어로 .hidden 파일을 열어보니 비밀번호를 얻을 수 있었다. 2022. 1. 1.
[Bandit] Level 2 → Level 3 문제를 보니 이번에는 파일이름이 spaces in this filename 이라는 공백이 들어간 이름을 가진 파일에 비밀번호가 있음을 알 수 있다. 이번에도 ssh를 이용해서 전 게시물에서 구한 비밀번호를 입력해서 level 2에 접속해준다. ls로 파일 이름을 확인하니 그냥 spaces in this filename이라고 떴는데, 이게 한 파일인지 아닌지 헷갈릴 수 있어서 더 자세한 정보를 출력해주는 -l 옵션을 사용해서 다시 한번 파일 목록을 출력했다. cat 명령어로 입력하면 spaces in this filename 이 각각의 파일 이름으로 인식되므로 이름을 묶어서 입력해줘야 한다. 검색을 하니 큰 따옴표나 작은 따옴표를 이용해서 묶어주면 된다고 해서 큰따옴표를 이용할때, 작은 따옴표를 이용할 때.. 2022. 1. 1.
[Bandit] Level 1 → Level 2 문제를 보니 -라는 이름을 가진 파일에 다음 단계로 가기 위한 비밀번호가 있음을 알 수 있다. 다시 ssh 명령어를 이용해서 1단계로 접속해주는데, 여기서 전 게시물에서 구했던 비밀번호를 치면 성공적으로 접속할 수 있다. 이런 화면이 뜨며 접속되었다. 이번에도 ls 명령어를 이용해서 파일을 확인하니 우리가 확인해야 하는 - 파일이 존재함을 볼 수 있다. 여기서 -는 특수문자라 그냥 읽을 수가 없기 때문에 검색을 통해 알아보니 cat ./- 또는 cat < - 명령을 써서 읽을 수 있다고 한다. 알아낸 내용을 바탕으로 두 가지 방법을 다 적용해보니 둘 다 성공적으로 - 파일의 내용을 읽어내어 비밀번호를 알아낸 것을 볼 수 있다. 2022. 1. 1.