본문 바로가기

OverTheWire/Bandit

OverTheWire Level 6 → 7 ~ 11 → 12

  • 접속 : ssh bandit6@bandit.labs.overthewire.org -p 2220
  • key : DXjZPULLxYr17uwoI01bNLQbtFemEgo7

 

Level 6 → 7


이미지 클릭 시 문제로 이동

문제 : 서버 어딘가에 키가 저장되어 있고 다음 속성을 따른다.
사용자 bandit7
그룹 bandit6
사이즈 33 bytes

 

접속하고 ls로 보면 아무것도 없다.

bandit6@bandit:~$ cd /
bandit6@bandit:/$ ls
bin      dev   initrd.img      lib32   lost+found  opt         root  share  tmp  vmlinuz
boot     etc   initrd.img.old  lib64   media       proc        run   srv    usr  vmlinuz.old
cgroup2  home  lib             libx32  mnt         README.txt  sbin  sys    var

루트 디렉토리로 가보니 많다.

 

find로 찾아보면 엄청나게 많이 나온다.

 

 /dev/null  : 오류 출력을 지정할 수 있음. 출력이 필요 없는 경우 사용

2> /dev/null를 통해 표준 출력, 표준 오류 출력 둘 다 안 보이게 한다.

bandit6@bandit:/$ find / -size 33c -user bandit7 -group bandit6 2> /dev/null
/var/lib/dpkg/info/bandit7.password
bandit6@bandit:/$ cat /var/lib/dpkg/info/bandit7.password
HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs

 

Level 7 → 8


문제 : 비밀번호는 data.txt 파일 안 millionth 단어 옆에 있음

 

스크롤이 엄청 길다.. 내용을 찾는 명령어를 써줘야할 것 같다.

bandit7@bandit:~$ find . -type f -print | xargs grep -i "millionth" /dev/null
./data.txt:millionth    cvX2JJa4CFALtqS87jk27qwqGhBM9plV

현재 위치부터 하위 모든 파일 중에서 millionth 라는 문자열을 검색해주면 키가 나온다.

 

 

Level 8 → 9


data.txt 파일 안에 있고 중복되지 않는 문자열이 비밀번호이다.

sort : 정렬

uniq : 중복되는 거 제거(한 행만 출력)

-u : 중복제거 옵션(중복없는 거만 출력)

bandit8@bandit:~$ cat data.txt | sort |  uniq -u
UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR

 

Level 9 → 10


비밀번호는 사람이 읽을 수 있고, = 문자 뒤에 있다.

 

data 파일을 보면 읽을 수 가 없다.

 

strings : 파일에 포함된 문자열 출력

bandit9@bandit:~$ strings data.txt | grep "="
========== the*2i"4
=:G e
========== password
<I=zsGi
Z)========== is
A=|t&E
Zdb=
c^ LAh=3G
*SF=s
&========== truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk
S=A.H&^

해당 명령어를 통해 = 가 있는 문자열을 출력해보면 비밀번호(truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk)가 있다.

Level 10 → 11


문제 : 비밀번호는 data.txt 파일 안 base64로 인코딩되었다.
bandit10@bandit:~$ cat data.txt
VGhlIHBhc3N3b3JkIGlzIElGdWt3S0dzRlc4TU9xM0lSRnFyeEUxaHhUTkViVVBSCg==
bandit10@bandit:~$ base64 --decode data.txt
The password is IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR

base64 --decode는 디코딩해주는 명령어이다.

Level 11 → 12


문제 : 비밀번호는 ROT13으로 암호화되어 있다.( a-z, A-Z)

감이 안와서 참고 문헌을 보니 ROT13방식으로 암호화해준 것 같다.

 

tr : 지정한 문자를 바꿔주거나 삭제하는 명령어

 

tr명령어를 통해 data 파일 안 내용을 바꾸어주면 될 듯 하다.

사진 클릭 시 출처로 이동

위 사진을 참고해서 써주면 된다.

bandit11@bandit:~$ cat data.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
The password is 5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu

각 알파펫의 13번째 뒤에 숫자로 해주면 값이 성공적으로 치환되어 나온다.

 

비밀번호를 입력했더니 성공적으로 다음 단계로 넘어갔다.


- 끝 -