분류 전체보기 309

[OverTheWire: Bandit] level11 -> level12

사용 툴: cygwin 1) 문제 패스워드는 data.txt 에 있다. 소문자 a-z와 대문자 A-Z는 모든 대문자 및 소문자는 위치상으로 13번 이동되어 있다. 위치상으로 13번 이동되어 있다는 게 무슨 뜻일까? -> 카이사르 암호 2) 문제풀이 A를 기준으로 설명해 보겠다. A가 위치상으로 13번 이동되어 있다. -> N의 자리로 갔다. 한마디로 A라고 했을 때 카이사르 암호로 해독해보면 N이라고 해석할 수 있다. 마찬가지로 B는 O가 된다. 소문자도 똑같이 생각하면 된다. data.txt 내용도 똑같다. 위의 설명처럼 저렇게 다 치환되어 있는 것이다. A-Z를 N-ZA-M a-z를 n-za-m 으로 치환시켜주면 암호를 해석할 수 있을 것 같다. 마침 이때 사용하는 명령어가 tr이다. tr [치환 전..

WAR GAME/Bandit 2020.02.25

[OverTheWire: Bandit] level10 -> level11

사용 툴: cygwin 1) 문제 패스워드는 data.txt에 있고 base64 인코딩 되어있다. 참고로 Base64 Encoding은 Binary Data를 Text로 변경하는 Encoding이다. 2) 문제풀이 bandit10으로 로그인하여 홈디렉터리의 data.txt 를 살펴보았다. 정체모를 문자들(?)이 나열되어있고 맨 마지막에 ==로 끝난다. 이것은 base64 인코딩의 특징인데 맨 마지막에 패딩문자인 =가 붙는다. 저걸 디코딩하면 bandit11의 패스워드가 나오지 않을까 싶다. 방법은 구글링하니까 금방 나왔다. cat data.txt | base64 --decode bandit11의 패스워드로 추정되는 문자열이 나왔다. bandit11로 로그인에 성공해 확인해보니 저 문자열이 bandit11..

WAR GAME/Bandit 2020.02.25

[OverTheWire: Bandit] level9 -> level10

사용 툴: cygwin 1) 문제 패스워드는 data.txt 파일에 있고 그 중에서도 사람이 읽을 수 있는 문자이다. 몇 개의 '=' 문자로 시작한다. 2) 문제풀이 bandit9로 로그인 해 준 다음 홈 디렉터리의 data.txt가 무슨 파일인 지 확인해 보았다. data.txt는 바이너리 파일이라서 이렇게 사람이 읽을 수 없는 언어와 부분적으로 문자 또는 숫자로 저장된 ASCII 문자들은 확인이 가능하게 되어있다. bandit10의 패스워드는 이 중에서 사람이 읽을 수 있는 언어로 되어 있고 그 앞에 몇개의 '=' 문자가 있다고 한다. strings 명령어를 사용해보도록 하겠다. strings 명령어는 바이너리 파일에서 문자열을 추출하는 역할을 한다. strings ./data.txt | grep =..

WAR GAME/Bandit 2020.02.25

[OverTheWire: Bandit] level8 -> level9

사용 툴: cygwin 1) 문제 패스워드는 data.txt 파일에 저장되어 있고, 오직 한 번만 발생하는 텍스트 라인에 있다? 오직 한 번만 발생한다는게 무슨 뜻인지 생각 해보자. 2) 문제풀이 bandit8로 로그인하고 홈디렉터리를 살펴보니 data.txt가 있었다. cat 명령으로 일단 열어보았다. 조금 당황스러웠다. 내가 여기서 처음에 헷갈렸던게 저걸 뭉텅이(?)로 보면 안된다. 한 line씩 살펴보아야 한다. 그래서 일단 sort명령을 사용해 오름차순으로 정렬해보기로 하였다. cat data.txt | sort sort 명령은 오름차순으로 문자들을 정렬한다. 자세히(?) 보면 저렇게 중복된 line들이 있다. 문제에서 오직 한 번만 발생하는 텍스트라고 했으니 중복되지 않고 분명 한 번만 적힌 텍..

WAR GAME/Bandit 2020.02.23

[OverTheWire: Bandit] level7 -> level8

사용 툴: cygwin 1) 문제 패스워드는 data.txt 파일 안에 있고 millionth 단어 옆에 있다. 단어 옆에 있다는 뜻이... 같은 행에 있다는 뜻 같다. 2) 문제 풀이 bandit6로 로그인해주고 ls -al 명령어를 이용하여 홈 디렉터리를 살펴본다. 홈 디렉터리에 data.txt가 있고, cat 명령어를 통해 data.txt를 열어보려고 했다. 꽤 오랫동안... 내용을 출력해냈다. 다시 확인해보니까 4메가였다. 아무튼 캡쳐본을 살펴보면 내가 생각하기에 웬지 왼쪽의 노란색 박스에 millionth 단어가 있을 거 같고 오른쪽 빨간색 박스에 패스워드로 추정되는 문자열이 있을 것 같다. 특정 문자열을 찾고자 할 때 사용하는 명령어인 grep 명령어를 사용 해 보자. cat data.txt ..

WAR GAME/Bandit 2020.02.23

[OverTheWire: Bandit] level6 -> level7

사용 툴: cygwin 1) 문제 패스워드는 서버 어디엔가에 저장되어 있고, 세가지 특징이 있다. 소유자는 bandit7 그룹은 bandit6 사이즈는 33bytes 2) 문제풀이 일단 bandit6으로 로그인 해 준 후 홈 디렉터리를 살펴보았다. 음 딱히 도움되는 정보는 보이지 않는 것 같다. 문제로 돌아가서 패스워드가 가진 특징 3가지를 보겠다. 소유자는 bandit7 그룹은 bandit6 사이즈는 33bytes 앞의 문제에서처럼 특징에 해당하는 파일을 루트에서 찾으면 나오지 않을까? find / -user bandit7 -group bandit6 -size 33c 해당 명령을 실행시켜 보겠다. 아,,, 에러메시지가 어마어마하다. 물론 여기서 스크롤바를 움직이면서 에러메시지가 없는 파일을 찾으면 된다..

WAR GAME/Bandit 2020.02.23

[OverTheWire: Bandit] level5 -> level6

사용 툴: cygwin 1) 문제 패스워드는 inhere 디렉터리 어딘가에 있고, 패스워드 파일의 특징이 세가지 나열되어 있다. 사람이 읽을 수 있다. 1033 바이트 이다. 실행할 수 없다. 2) 문제풀이 저 보라색? 글자의 의미는 디렉터리이다. 설마 저기 디렉터리 안에 들어가서 하나하나 1033바이트인 파일을 찾아서 문서를 열어서 확인해야하나? 라고 생각을 했다. 몇개 디렉터리를 들어가다가 조금 아닌 것 같다는 것을 깨달았다.... 구글링을 열심히 해본 결과 find라는 명령어를 찾았다. find -size 1033c find의 -size 옵션을 사용하여 1033 바이트에 해당하는 파일을 찾아보았다. 참고로 1033 뒤의 c는 바이트를 뜻한다. 파일을 찾고 cat 명령어를 이용하여 파일을 열어주면 b..

WAR GAME/Bandit 2020.02.22

[OverTheWire: Bandit] level4 -> level5

사용 툴: cygwin 1) 문제 패스워드는 inhere 디렉터리 안에 인간이 읽을 수 있는 파일에 있다. 팁: 터미널이 지저분하다면 reset 명령어를 이용해라 2) 문제풀이 level3 -> level4의 문제와 동일하게 inhere 디렉터리에 들어와서 ls -al 명령어를 입력해보았다. 뭔소린지 모르겠다면 level3 -> level4 풀이를 다시 보러 가보자 더보기 https://jiravvit.tistory.com/entry/OverTheWire-Bandit-level3-level4 [OverTheWire: Bandit] level3 -> level4 사용 툴: cygwin 1) 문제 패스워드는 inhere 디렉터리의 hidden 파일에 있다고 한다. 2) 문제풀이 저번 게시글에서 얻은 band..

WAR GAME/Bandit 2020.02.22

[OverTheWire: Bandit] level3 -> level4

사용 툴: cygwin 1) 문제 패스워드는 inhere 디렉터리의 hidden 파일에 있다고 한다. 2) 문제풀이 저번 게시글에서 얻은 bandit3의 패스워드를 가지고 bandit3 계정으로 로그인을 해준다. 그리고 홈디렉터리의 파일을 보기 위해 ls -al 명령어를 입력한다. 여기서 볼 게 있다. 보라색으로 표시된 것들이 디렉터리를 의미한다. 어떻게 알 수 있느냐, 맨 앞에 - 대신 d라고 적혀져 있으면 디렉터리를 의미한다. 그리고 파일 명에 . 이 있으면 숨겨진 파일을 의미한다. 한 마디로 ls 명령어로는 보이지 않는 다는 뜻이다. ls -al 옵션까지 입력해야 숨겨진 파일이 보인다. 아무튼 cd 명령어를 이용하여 inhere 디렉터리로 이동하였다. ls -al 명령어를 입력하니 바로 hidden..

WAR GAME/Bandit 2020.02.22

[OverTheWire: Bandit] level2 -> level3

사용 툴: cygwin 1) 문제 패스워드는 홈디렉터리의 spaces in this filename 파일에 들어있다고 한다. 2) 문제풀이 일단 bandit3의 패스워드를 얻기 위해서 bandit2의 계정으로 로그인을 한다. bandit2의 홈디렉터리에 spaces in this filename 파일이 보여서 cat 명령으로 파일 내용을 읽으려고 했으나 실패한 모습이 보인다. 그 이유는 띄어쓰기 때문이다. 띄어쓰기 때문에 spaces, in, this, filename 이렇게 4개의 파일로 착각해서 읽으려고 한다. 문제풀이-1 일단 file 명령어를 통하여 홈디렉터리의 파일들이 무슨 타입인지 알아보자. ASCII text라고 했으니까 cat으로 파일을 읽을 수 있다. 그래서 위와 같이 cat ./*으로 ..

WAR GAME/Bandit 2020.02.22