Wargame Writeup/OverTheWire - Bandit

이 문제의 password는 data.txt 파일 안의 내용 중 중복되지 않은 유일한 행이다. cat data.txt 너무 많은 문자들이 보인다. 중복된 문장을 처리하는 명령어가 필요해 보인다. uniq : 연속해서 중복된 문장들 중 하나만 출력 uniq -u : 연속해서 중복된 문장들 모두 제거하여 출력 uniq -u data.txt uniq -u 명령어를 사용해도 중복되지 않은 문장 하나가 아닌 수많은 문자들이 보인다. 왜냐하면 uniq 명령어는 '연속해서' 중복된 문장들을 처리하기 때문이다. data.txt 파일 안의 문장들은 연속해서 중복된 것이 아니라 무작위 순서로 중복되어 있기 때문에 uniq 명령어가 먹히지 않았다. sort 명령어를 사용하여 문자열을 오름차순으로 정렬한 후 uniq -u 명..
이번엔 password가 data.txt 파일 안에 millionth 단어 옆에 있다고 한다. ls data.txt 파일이 보인다. cat data.txt 너무 많은 텍스트가 들어있다. 여기서 millionth 단어를 찾는 것은 어려워 보인다. grep 명령어를 이용하여 원하는 문자를 검색해보자. cat data.txt | grep millionth millionth 단어를 찾았고, 그 옆에 다음 레벨로 가기 위한 password가 보인다.
이번엔 현재 디렉토리가 아닌 서버 어딘가에서 위의 3가지 조건을 만족시키는 파일 속 비밀번호를 찾는 것이 문제이다. find / -user bandit7 -group bandit6 -size 33c 현재 디렉토리가 아닌 루트 디렉토리에서 찾아야 하므로 /를 붙인다. -user 옵션을 통해 user bandit7이 소유한 파일을 찾는다. -group 옵션을 통해 group bandit6가 소유한 파일을 찾는다. -size 옵션을 통해 33바이트 파일을 찾는다. 그럼 아래와 같은 결과가 나온다. permission이 denied되지 않은 파일은 /var/lib/dpkg/info/bandit7.password밖에 없다. cat /var/lib/dpkg/info/bandit7.password 다음 레벨로 가기 ..
이번에는 inhere 디렉토리 안의 파일들 중 위의 3가지 조건을 만족시키는 파일 속 password를 찾는 것이 문제이다. ls maybehere00, maybehere01, ... , maybehere17까지 디렉토리가 너무 많다. 일일이 확인할 수는 없을 것 같다. find 명령어를 통해 조건을 만족하는 파일을 찾자. find 옵션 중 -size를 통해 해당하는 용량을 지닌 파일을 찾을 수 있다. 바이트 단위는 c이다. find -size 1033c ./maybehere07/.file2 경로가 보인다. 다행인지 불행인지 1033바이트에 해당하는 파일이 하나밖에 없다. cat ./maybehere07/.file2 다음 레벨로 가기 위한 password를 확인할 수 있다. 하지만 이대로 넘어가기 찜찜하..
Level5로 가기 위한 password는 inhere 디렉토리 안에 사람이 읽을 수 있는 파일에 있다. ls inhere 디렉토리가 보인다. cd inhere inhere 디렉토리로 이동한다. ls -file00, -file01, ... , -file09가 있다. 파일들의 속성을 알아보기 위해 file 명령어를 사용한다. 파일 이름들이 -로 시작하므로, 옵션 앞의 문자가 아님을 명시해주기 위해 현재 디렉토리 안의 파일이라는 의미로 ./을 붙여준다. 또한, 10개의 속성을 한번에 알아보기 위해 *을 이용한다. file ./* 그러면 아래와 같이 파일들의 속성이 보인다. -file07만 ASCII text로 쓰여있어 사람이 읽을 수 있는 파일임을 알 수 있다. cat ./-file07 다음 레벨로 가기 위..
Level4 문제는 inhere 디렉토리 안의 숨겨진 파일 속 password를 찾는 것이다. ls inhere 디렉토리가 보인다. cd inhere inhere 디렉토리로 이동한다. ls 아무것도 보이지 않는다. 숨겨진 파일이라고 했으므로 -a 옵션을 사용하여 숨겨진 파일까지 확인한다. ls -a .hidden이라는 숨겨진 파일이 보인다. cat .hidden 다음 레벨로 가기 위한 password를 확인할 수 있다.
Level3문제는 spaces in this filename 이라는 파일 안에 있는 password를 찾는 것이다. cat 명령어를 통해 파일 안의 내용을 확인해본다. cat spaces in this filename 그러면 아래 사진과 같이 해당 이름을 가진 파일 또는 디렉토리가 없다고 나온다. 스페이스를 인식해서 'spaces in this filename'을 하나의 파일이 아닌 'spaces' 파일, 'in' 파일, 'this' 파일, 'filename'파일로 인식하기 때문이다. 이 문제를 푸는 데에는 여러 가지 방법이 있다. 1. 백슬래쉬 \ cat spaces\ in\ this\ filename \는 쉘이 \ 뒤에 오는 문자를 해석하지 못하도록 막아준다. 2. 작은 따옴표 ' ' cat 'spa..
Level2 문제는 - 라는 파일 안에 있는 password를 찾는 것이다. Level1과 동일하게 cat 명령어를 이용해본다. cat - 결과가 나오지 않는다. -을 옵션 앞에 오는 문자라고 인식하기 때문이다. -을 파일 이름이라고 인식할 수 있도록 현재 디렉토리 안의 파일 -라고 명시해주어야 한다. cat ./- .은 현재 디렉토리를 의미하며, /는 경로를 구분해주는 역할을 한다. -파일 안의 내용이 다음 레벨을 위한 password이다.
Level1 문제는 readme라는 파일 안에 있는 password를 찾는 것이다. 먼저, 각 명령어의 기능에 대해서 알아보자. ls : 디렉토리 내용 확인 cd : 홈 디렉토리로 이동 cat : 파일 내용 확인 file : 파일 종류 및 속성 확인 du : 디렉토리 및 파일 용량 확인 find : 디렉토리 및 파일 내용 검색 ls ls를 입력하면, 현재 디렉토리 안에 readme라는 파일 하나가 보인다. cat readme readme 파일 안의 내용이 다음 레벨을 위한 password이다.
je1att0
'Wargame Writeup/OverTheWire - Bandit' 카테고리의 글 목록 (3 Page)