Developer / Student of USW

Bandit Level 0-1 풀이

Level 0

목표: SSH로 접속하기

풀이: 비밀번호 bandit0 입력

ssh bandit0@bandit.labs.overthewire.org -p 2220

배운 점: …


Level 0-1

목표: readme 파일 열기

풀이: ls로 파일 구조 확인 후 cat readme

ssh bandit0@bandit.labs.overthewire.org -p 2220

배운 점: …


Level 1-2

목표: - 파일 열기

풀이: - 는 제대로 인식이 안 되기 때문에, 파일명이라는 것을 명시해주기 위해 cat ./- 사용

ssh bandit1@bandit.labs.overthewire.org -p 2220

배운 점: …


Level 2-3

목표: –spaces in this filename– 파일 열기

풀이: - 와 공백을 입력하기 위해 “./–spaces in this filename–” 사용

ssh bandit2@bandit.labs.overthewire.org -p 2220

배운 점: …


Level 3-4

목표: hidden 파일 열기

풀이: cat hidden 2-3

ssh bandit3@bandit.labs.overthewire.org -p 2220

Level 4-5

목표: human-readable 파일 찾기

풀이: ./-file01 부터 ./-file09까지의 파일이 존재하는데 다 열어볼 수는 없으니 file ./-*를 사용해 속성을 확인함.

-file07만 아스키코드로 작성된 것을 확인한 후 파일 오픈

ssh bandit4@bandit.labs.overthewire.org -p 2220

Level 5-6

목표: 조건에 맞는 파일 찾기

풀이: 파일이 특정되는 조건을 이용해 찾기

ssh bandit5@bandit.labs.overthewire.org -p 2220
find . -type f -size 1033c


Level 6-7

목표: 조건에 맞는 파일 찾기(2)

풀이: 파일이 특정되는 조건을 이용해 찾기

ssh bandit6@bandit.labs.overthewire.org -p 2220
find / -type f -size 1033c -user bandit7

Level 7-8

목표: 파일 속 특정 단어 찾기

풀이:

ssh bandit7@bandit.labs.overthewire.org -p 2220
grep millionth data.txt


Level 8-9

목표:

풀이: sort data.txt 같은 문자열끼리 인접하도록 정렬 uniq -u 딱 한 번만 등장한 줄을 출력

ssh bandit8@bandit.labs.overthewire.org -p 2220
sort data.txt | uniq -u


Level 9-10

목표: 특정 문자열로 이루어진 부분 찾기

풀이: strigs 파일 -> 바이너리 파일 안에서 읽을 수 있는 문자열만 추출

ssh bandit9@bandit.labs.overthewire.org -p 2220
strings data.txt | grep "==="


Level 10-11

목표: base64로 인코딩 된 문자열 찾기

풀이:

ssh bandit10@bandit.labs.overthewire.org -p 2220
cat data.txt | base64 -d


Level 11-12

목표:

풀이:

ssh bandit11@bandit.labs.overthewire.org -p 2220

Level 12-13

목표: 다중 압축 해제

풀이:

ssh bandit12@bandit.labs.overthewire.org -p 2220


Level 13-14

목표: SSH 키를 이용해 다음 단계로 넘어가기

풀이:

ssh bandit13@bandit.labs.overthewire.org -p 2220

—

Level 14-15

목표: 포트 번호 30000에 접속

풀이:

ssh bandit14@bandit.labs.overthewire.org -p 2220
nc 0 30000
# 0: 로컬


Level 15-16

목표:

풀이:

ssh bandit15@bandit.labs.overthewire.org -p 2220
openssl s_client -connect localhost:30001
8xCjnmgoKbGLhHFAZlGE5Tmu4M2tKJQo


Level 16-17

목표:

풀이:

ssh bandit16@bandit.labs.overthewire.org -p 2220

kSkvUpMQ7lBYyCM4GBPvCvT1BfWRy0Dx

Level 17-18

목표: 두 파일의 차이 찾기

풀이:

ssh bandit17@bandit.labs.overthewire.org -p 2220
diff passwords.new passwords.old


Level 18-19

목표: SSH로 로그인 하자마자 명령 실행하기

풀이:

ssh bandit18@bandit.labs.overthewire.org -p 2220 cat readme

cGWpMaKXVwDUNgPAVJbWYuGHVn9zl3j8


Level 19-20

목표:

풀이:

ssh bandit19@bandit.labs.overthewire.org -p 2220
ls /etc/bandit_pass/
./bandit20-do cat /etc/bandit_pass/bandit20
0qXahG8ZjOVMN9Ghs7iOWsCfZyXOUbYO


Level 20-21

목표:

풀이:

ssh bandit20@bandit.labs.overthewire.org -p 2220

EeoULMCra2q0dSkYj561DX7s1CpBuOBt


Level 21-22

목표: cronjob

풀이:

ssh bandit21@bandit.labs.overthewire.org -p 2220

tRae0UfB9v0UzbCdn9cY0gQnds9GF58Q


Level 22-23

목표: cronjob

풀이:

ssh bandit22@bandit.labs.overthewire.org -p 2220

0Zf11ioIjMVN551jX3CmStKLYqjk54Ga


Level 23-24

목표: cronjob

풀이:

ssh bandit23@bandit.labs.overthewire.org -p 2220

gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8

STEP1

- \* * * * * 매 1분마다
- bandit24 권한으로
- /usr/bin/cronjob_bandit24.sh 를 자동 실행

STEP2

/var/spool/bandit24/foo 폴더 안에 있는 파일 중 소유자가 bandit23인 파일을 찾아서 bandit24 권한으로 실행한 뒤 삭제함

STEP3


Level 24-25

목표:

포트 30002에 접속
bandit24 비밀번호 + 핀코드 형식으로 입력
핀코드는 0000~9999 전부 시도
연결은 한 번만 하고 계속 입력 가능 → 스크립트로 자동화해야 함

풀이:

ssh bandit24@bandit.labs.overthewire.org -p 2220

iCi86ttT4KSNe1armKiwbQNmB3YJP3q4

STEP1 nano 편집기로 브루트포스 스크립트 작성

$ nano /tmp/mydir24/brute.sh

#!/bin/bash
for i in $(seq -w 0000 9999)
do
    echo "gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8 $i"
done | nc localhost 30002

STEP2

저장 후 실행
bash /tmp/mydir24/brute.sh