전체 글 37

Bandit Level 13 → Level 14

문제 : /etc/bandit_pass/bandit14에 PW가 있지만 bandit14 사용자만 읽을 수 있다. 하지만 다음 레벨로 넘어갈 수 있는 SSH 키가 있다고 한다. 문제풀이 : home 디렉터리에 파일을 보니 sshkey.privae 파일이 있다 이 파일은 RSA private key라고 한다. 이 키를 이용하여 bandit14로 로그인을 한다. ssh 옵션 -i : RSA 인증을 위한 비밀 키를 읽어 올 아이덴티티 파일을 선택한다. banit14로 접속해서 /etc/bandit_pass/bandit14 파일을 확인해서 PW를 확인한다. 정답 : 4wcYUJFw0k0XLShlDzztnTBHiqxU3b3e

Bandit Level 12 → Level 13

문제 : 반복적으로 압축된 파일의 hex dump인 data.txt 파일에 PW가 있다고 한다. 문제풀이 : data.txt 파일을 열어보니 hex dump로 이루어진걸 볼 수 있다. 먼저 작업을 하기 위해 tmp에 디렉터리를 만들고 data.txt 파일을 복사해서 가져온다. 16진수 데이터를 바이너리 데이터로 변환하기 위해 xxd 명령어와 16진수 -> 바이너리 데이터로 변환하는 옵션인 -r 을 이용해 변환 시킨다. 그렇게 만든 data 파일의 파일종류를 확인해보니 gzip으로 압축되었다고 한다. gzip 압축을 푸는 옵션으로 -d 를 사용하여 압축을 풀려고했지만 실패했다. 이유는 확장자명이였다. gzip 파일의 압축을 풀때는 무조건 확장자가 .gz이여야된다. 파일의 이름을 data -> data.gz..

Bandit Level 8 → Level 9

문제 : data.txt 파일 안에 딱 한번만 출력되는 줄이 Pw라고 한다. 문제풀이 : cat으로 data.txt 파일을 열어봤더니 수많은 문자들이 있었다. sort 로 해당 문자들을 정렬하고 uniq 로 중복을 지웠다. uniq 옵션 : -c : count[몇번 반복되었는지 숫자로 표현해준다] grep "1 " 로 1번만 반복된 문자열을 찾는다. "1"로 검색하게 되면 1만 나오기 때문에 "1 "

Bandit Level 6 → Level 7

문제 : 서버 어느곳에 -user = bandit7 -group = bandit6 -file size = 33byte 인 파일안에 Pw가 있다고한다 문제풀이 : 전 문제와 똑같이 find 를 통해 찾아준다 find [경로] -user [user] -group [group] -size [용량] find 옵션 : -user : 사용자 -group : 그룹 -size : 용량 c : byte 한개의 파일뺴고 전부 Permission denied = 오류가 발생하였다. 파일이 많이 않아서 쉽게 찾을 수 있었다. 오류가 뜬 파일을 제외하고 정상적인 파일만 찾기 위해 2>/dev/null 명령어를 추가로 붙여주었다. 파일 디스크립터 0 -> 표준 입력 1 -> 표준 출력 2 -> 표준 에러 리다이렉션 기호 > : ..

Bandit Level 5 → Level 6

문제 : inhere 디렉터리 밑에 - 사람이 읽을 수 있는 - 1033 byte - 실행 불가능한 파일에 Pw가 있다고 한다 문제풀이 : inhere 하위 디렉터리들을 확인해봤더니 20개 정도의 하위 디렉터리가 있었다. 20개 밖에 안되기 때문에 ls -al로 하위 디렉터리 하나하나 들어가서 1033에 용량을 찾는 방법도 있지만... find 명령어를 이용해 1033byte를 가진 파일을 검색할 수 있다. find 옵션 : -size : 용량 c : byte -f : 파일 -f 옵션까지 붙여주면 1033byte를 가진 파일만 찾아주게됩니다. 정답 : DXjZPULLxYr17uwoI01bNLQbtFemEgo7

Bandit Level 4 → Level 5

문제 : inhere 디렉터리안에 사람이 읽을 수 있는 파일 있다. 문제풀이 : inhere 디렉터리 안을 확인했더니 파일여러개가 존재했다. 여기서 하나만이 사람이 읽을 수 있는 문자형을 되어 있다고한다. 이런식으로 파일 하나하나 열어서 확인할수 있지만 파일에 갯수가 10개 밖에 안되서 가능했던거다. file 이란 명령어를 통해 해당 파일의 종류를 확인할 수 있다. inhere/* = inhere 디렉터리 밑에 모든 파일을 뜻한다. 정답 : koReBOKuIDDepwhWk7jZC0RTdopnAYKh