목록Linux/OverTheWire : Bandit (34)
김승현
문제 data.txt에 다음 단계로 가는 password가 있는데 반복적으로 압축된 파일의 hexdump라고 한다. 이 단계에서 mkdir을 이용해서 /tmp 아래에 디렉토리를 만드는 게 작업하는데 좋다고 합니다. 디렉터리 제작 예시 mkdir /tmp/myname123. 위와 같이 만들고 파일을 cp명령어를 이용해서 복사하고 mv를 이용해서 이름을 고치라고 하는 것 같습니다. hexdump란? 컴퓨터의 저장장치에 있는 데이터를 16진법으로 출력하는 방법 xxd : 파일을 hexdump로 만드는 명령어 -r 옵션을 이용해서 16진수를 binary로 만드는 것도 가능함 mkdir : 디렉터리를 새롭게 생성하는 명령어 cp : copy의 줄임말로 파일을 복사하는 명령어 mv : move의 줄임말로 파일을 이..
문제 password는 data.txt에 있고 소문자(a-z), 대문자(A-Z)들은 13번 이동됐다? 이런 의미인 것 같다. 구글에 찾아보니까 rot13이라는 카이사르 암호의 일종으로 영어 알파펫을 13글자씩 밀어서 만드는 것이고 흔히 ROT-13으로 불린다고 한다. 그림으로 설명하면 A는 13칸 이동해서 N자리에, N은 12칸을 이동하면 Z의 자리까지 이동하는데 이때 제일 앞자리인 A로 이동해서 숫자를 이어서 센다. O의 경우 Z의 자리까지 11칸 이동했기 때문에 A로 이동하면 12칸 이동, B로 이동하면 13칸을 이동했기 때문에 그 자리에 위치하게 된다. 사용할 명령어에서 tr이라는 것이 있는데 이건 특정 문자들을 새로운 문자들로 치환해주는 명령어이기 때문에 이 명령어를 이용해서 해결하면 될 것 같다..
문제 password는 data.txt에 있고 base64로 인코딩 되어있다고 한다. 여기서 base64란 binary data들을 일련의 문자열로 바꾸는 인코딩 방식이다. 명령어를 통해 base64를 디코딩할 수 있지만 간단하게 사이트를 통해서도 디코딩할 수도 있다. 참고 사이트 Base64 - Wikipedia From Wikipedia, the free encyclopedia Group of binary-to-text encoding schemes using 64 symbols (plus padding) In computer programming, Base64 is a group of binary-to-text encoding schemes that represent binary data (more..
문제 암호는 data.txt 파일에 있다. 암호는 앞에 몇개의 =문자가 있고 사람이 읽을 수 있는 문자열 중 하나라는 것 같다. 필요한 명령어에 보면 strings라는 명령어가 있는데 문제에도 strings가 있고 이 명령어를 사용하면 될 것 같다. 풀이 문제에 적혀있듯이 data.txt라는 파일이 있다. data.txt를 cat 해보면 읽을 수 없는 문자들이 많이 나열되어 있는 걸 볼 수 있는데, 이럴 때 사용할 수 있는 명령어가 strings 명령어다. strings : 실행하는 파일의 출력가능한 문자들만 출력해주는 명령어 위 사진에서 첫 번째 줄로 예시를 들면 fDld=V ......... ezcF 그러나 strings만 하면 여전히 내용이 많은데 이전 문제들에 자주 나온 grep 명령어를 사용하면..
문제 암호는 data.txt 파일 안에 있으며 암호는 한 줄인데 중복되지 않는 내용의 한 줄만 있다는 문제이다. 홈페이지에서 주어진 명령어 중 uniq가 있는데 이 명령어는 중복을 제거하는 명령어이기 때문에 uniq를 활용해서 문제를 해결하면 될 것 같다. 풀이 ls를 해보면 설명에서 있던 것처럼 data.txt가 있는 걸 확인할 수 있다. data.txt를 cat 해보면 한 줄씩 암호들이 나열되어 있다.여기서 중복되지 않고 하나만 있는 문자를 찾아야 한다. 이때 필요한 명령어가 uniq와 sort이다. uniq : 중복된 내용이 연속된 행에 존재한다면 하나만 남기고 제거한다. ex1) asd asd zxc → zxc asd asd ex2) asd asd asd → zxc zxc uniq의 옵션 -c :..
문제 암호는 data.txt에 있고 millionth라는 단어 옆에 암호가 있는 문제이다. 풀이 data.txt 대충봐도 용량이 엄청 크기 때문에(약 4MB) 눈으로 하나하나 볼 순 없을 것 같다. 이럴 때 필요한 명령어가 grep이다. grep : 파일 내 특정 단어가 들어간 문자열을 찾는 명령어 (+ man에서 옵션을 찾을 때도 자주 활용함) grep millionth data.txt 위의 명령어를 이용하면 data.txt 파일 내 millionth라는 단어가 들어가는 문자열을 출력해준다. 오늘은 여기까지만 해야겠다.... 아직 문제는 좀 할만 한 것 같은데 블로그 정리하니까 생각보다 시간도 오래 걸리고 체력이 빨리 닳는 것 같다.... 남들이 안 볼 수도 있지만 쓰다보니 생각보다 재밌고 자기만족이 ..
문제 server 어딘가에 암호가 담긴 것이 있으며 그것은 소유자가 bandit7이며 소유 그룹명은 bandit6 크기는 33bytes다. 파일의 특징 소유자 : bandit7 그룹명 : bandit6 크기 : 33bytes 풀이 find / -user bandit7 -group bandit6 -size 33c 위의 코드를 사용하면 소유자명은 bandt7 그룹명은 bandit6 사이즈는 33bytes의 조건을 만족하는 파일을 찾을 수 있다. 실행해보면 우리가 필요한 것들보다 더 많은 파일들이 뜨게 되는데 전부 error가 뜨는 것을 확인할 수 있다. find에선 에러값들을 특정할 수 있는 옵션이 있다. err인 2를 이용해서 dev/null로 보내면 find 했을 때 에러가 뜨지 않은 파일들만 출력할 수..
문제 저번 문제와 비슷하게 password가 담긴 파일은 inhere 디렉터리 아래 어딘가에 있는데 인간이 읽을 수 있고 1033bytes이며 실행할 수 없다고 합니다. 풀이 inhere 디렉터리 안에 maybehere00부터 maybehere19까지 총 20개의 디렉터리가 또 있었고 각 디렉터리 안에 또 -file1~3, spaces file1~3 파일들이 있다. 방법은 여러가지가 있겠지만 일단 파일 크기로 제일 먼저 찾아보자. find 명령어의 옵션을 이용하면 특정 size의 파일을 찾을 수 있는데 이를 이용할 것이다. 위 사진에 입력된 명령어 find . -size 1033c에 대한 설명 ⑴ .은 현재 디렉터리 및 하위 디렉터리들에서 찾을 거라는 뜻 ⑵ -size는 size를 이용하여 찾을 거라는 ..
문제 password가 들어있는 사람만 읽을 수 있는 파일이 inhere 디렉터리에 있는 문제입니다. ( + 터미널이 더러워지면 reset 명령어를 사용하라는 팁) 풀이 -file00부터 -file09까지 총 10개의 파일이 있으며 파일명이 -로 시작하기 때문에 '(작은 따옴표) 사이에 묶거나 ./ 또는 ~/inhere/-file00 등과 같은 방식을 사용해야 한다. 처음 보면 하나하나 확인해야 되나 생각이 들 수도 있는데 앞서 올린 file 명령어와 와일드카드 문자를 활용하면 한 눈에 확인할 수 있다. 사진을 보면 -file07만 ASCII text 타입이기 때문에 07파일만 cat 해주면 쉽게 password를 얻을 수 있다. 다음 문제 https://kshind.tistory.com/7 [OverT..
문제 password는 inhere 디렉터리 안에 숨겨진 파일에 있다고 한다. 풀이 ls를 해봤을 때 inhere 디렉터리를 확인할 수 있다. cd 명령어를 통해서 inhere 디렉터리로 들어가서 ls를 해봐도 아무것도 뜨지 않는데 이건 숨겨진 파일이기 때문에 그냥 ls만 사용해선 찾을 수 없는데 이때 필요한 게 옵션이다. 자주 사용하는 ls 명령어 옵션 (내 기준 ㅎ) -a : 숨겨진 파일까지 출력해준다 -l : 자세하게 출력해준다. -R : 하위 디렉토리까지 모두 출력해준다. 우리는 당연히 숨겨진 파일을 봐야 되기 때문에 -a 옵션을 사용해야 하고 ls -a을 입력하면 숨겨진 .hidden 파일을 볼 수 있다. 다음문제 https://kshind.tistory.com/6 [OverTheWire] Ba..