전체 글 207

[Overthewire] level 13 -> level 14

문제를 보겠습니다. 해석을 하자면, 다음 레벨의 비밀번호는 /etc/bandit_pass/bandit14에 저장되어 있으며, 사용자만 읽을 수 있다. 이말은 즉, bandit14의 계정으로 로그인을 하라는 뜻이다. 바로 문제를 풀어보겠습니다. ls 명령어를 해보니 sshkey.private 파일이 있었고, 출력을 해보니 RSA 공개키가 있었다. 그래서 문제에 맞게, 경로를 이동 해보도록 하자. 출력을 해보니 권한에 막힌다.. 우리가 문제를 풀 때 ssh로 접속을 하는 것으로 보아, 마찬가지로 똑같이 접속이 가능할 것이다. 바로 접속을 해보도록 하자. 로그인이 되었다. 패스워드 경로는 문제에서 주어졌고, 그대로 출력하면 패스워드를 구할 수 있다.

bandit 2022.06.07

[Overthewire] level 12 -> level 13

문제를 보겠습니다. 해석을 하자면, 다음 레벨로 가는 비밀번호는 반복적으로 압축된 16진 덤프인 data.txt 파일에 저장된다고 합니다. 즉, 압축을 계속 해제해야되는 오뚜기 같은 친구로 보이네요...과정은 생략하고 명령어들만 설명하고 넘어 가겠습니다. mkdir = 디렉터리 생성 cp = 복사 data.txt는 다음과 같이 16진 덤프파일(hex dump)로 되어 있습니다. xxd 명령어는 16진 덤프 파일을 보는 명령어인데, -r 옵션을 주고 명령어를 실행하면 역으로 hex dump파일을 binary파일로 변경 시켜줍니다. 요기서부터 시작입니다... file 명령어로 weasley 파일이 어떤 파일로 되어 있는지 봅시다. gzip이네여..? 그래서 mv명령어로 확장자를 바꿔줍시다. 이제 gzip으로..

bandit 2022.06.07

[Overthewire] level 9 -> level 10

문제를 보겠습니다. 해석을 하자면, 다음 레벨의 비밀번호는 "=" 문자 앞에 오는 사람이 읽을 수 있는 형태의 문자열로 구성되어 있다. 즉, =가 1개이든 ===== 여러개이든 사람이 읽을 수 있는 형태의 문자열로 되어 있다고 한다. 바로 풀어보겠습니다. 명령어를 해석해보자면, 문자열의 형태로 되어 있다고 했습니다. 즉, data.txt 파일이 바이너리로 되어 있는것을 문자열 형태로 바꿔주고, 특정한 문자열을 찾는 grep명령어로 "=" 만 찾았습니다.

bandit 2022.06.06

[Overthewire] level 8 -> level 9

문제를 보겠습니다. 해석을 해보면, 다음 패스워드는 data.txt에 저장되며, 한번만 나타나는 텍스트입니다. 쉽게 말해서 줄 단위로 패스워드가 있을텐데, 중복되는 문자열은 다 지워라 라는 소리입니다. 바로 풀겠습니다. sort 명령어는 파일안에 있는 내용들을 정렬해주는 명령어이며, uniq는 생소하지만 중복된 데이터를 제거 해주는 명령어입니다. -u 옵션은 중복 라인이 없는것만 보여주며, -i옵션은 중복 라인을 한라인으로 생각하고 출력해줍니다. 그래서 중복된 데이터를 없애보면 패스워드를 구할 수 있었습니다.

bandit 2022.06.06

[Overthewire] level6 -> level7

문제를 보겠습니다. 문제를 해석하면, 암호는 서버 어딘가에 저장되어 있으며, 사용자의 이름이 bandit7, 그룹은 bandit6, 33바이트의 크기를 가졌다. 조건 그대로 명령어를 입력하겠습니다. 명령어를 간략하게 설명드리자면, find(찾다) 명령어를 쓰고, / 최상위 디렉터리, -user(사용자의 이름), -group(그룹) , -size (파일 사이즈) 까지 입력을 한 후 엔터를 누르면, 권한이 없는 파일이 많이 나오기 때문에 에러 메세지를 출력하지 않기 위한 추가옵션이다. 그래서 경로를 따라가서 출력을 하면 패스워드를 얻을 수 있다.

bandit 2022.06.06

[OvertheWire] level5 -> level6

문제를 보겠습니다. 문제를 해석하면, level6에 필요한 비밀번호는 inhere 디렉토리 아래 어딘가에 있는 파일에 저장되며, 1033바이트의 크기를 가졌다. 보시는것과 같이 inhere 디렉터리에 들어온 후, ls 명령어를 해보니 많은 디렉터리가 존재했습니다. 그래서 find(찾기) 명령어로 파일의 크기가 1033바이트(c)인 파일만 찾아달라. 하니까 maybehere07에 .file2의 명칭을 가진 파일이 하나 검색이 되었고, 실행을 시켜보니 패스워드를 찾을 수 있었습니다.

bandit 2022.06.06