Bandit 6 -> 10

yhs0202·2023년 8월 29일
0

Level 6 -> 7

owned by user bandit7
owned by group bandit6
33 bytes in size

이러한 조건을 가지고 있다고 하니, 바로 find로 찾으면 될 거 같네요.

$ find / -user bandit7 -group bandit6 -size 33c
find: ‘/var/log’: Permission denied
find: ‘/var/crash’: Permission denied
find: ‘/var/spool/rsyslog’: Permission denied
find: ‘/var/spool/bandit24’: Permission denied
...

뭐가 많이 뜨니깐, 에러들 리디렉션 시켜버립시다.

$ find / -user bandit7 -group bandit6 -size 33c 2>/dev/null'
/var/lib/dpkg/info/bandit7.password
$ cat /var/lib/dpkg/info/bandit7.password
$PASSWD
$ ssh  -p 2220 bandit7@bandit.labs.overthewire.org
Passwd : $PASSWD

Level 7 -> 8

data.txt 안에 있는 데이터 중, millionth 옆에 비밀번호가 있다고 하네요. 대충 cat 결과를 grep로 넘기면 되겠네요.

$ cat data.txt  | grep millionth
millionth       $PASSWD
$ ssh  -p 2220 bandit8@bandit.labs.overthewire.org
Passwd : $PASSWD

Level 8 -> 9

data.txt중에서 단 한번만 나오는게 정답이라고 하네요. 커맨드 역할을 알아봅시다.

sort : stdin을 정렬해서 stdout으로 보내줌
uniq : 중복되는 단어는 없애서, 한 번만 표시해줌, -u옵션을 쓰면 단 한개인 것들만 표시해준다.

그러면, 이렇게 하면 되겠네요!!

$ cat data.txt | sort | uniq -u
$PASSWD
$ ssh  -p 2220 bandit9@bandit.labs.overthewire.org
Passwd : $PASSWD

Level 9 -> 10

해당 파일에서 읽을 수 있는 부분에 있다고 하네요. = 몇 개 이후에 있다고 합니다. 그러면 strings로 찍어봅시다.

$ strings data
...
========== $PASSWD
...

눈에 바로 보이네요,,, ㅎㅎㅎ

$ ssh  -p 2220 bandit10@bandit.labs.overthewire.org
Passwd : $PASSWD
profile
복학 후 다시쓰는 벨로그

0개의 댓글