프롤로그
웹 해킹으로는 취직을 할 수 없을 거 같다라는 생각에..그리고 리눅스 관련해서 실력이 늘고 싶은 마음에 이것저것 도전해본다. 일단 bandit 부터 문제풀어보겠다.
사전 준비
우선 bandit 문제를 위한 세팅이 필요하다.
sudo apt-get install openssh-server
이걸 리눅스 계열 터미널에다가 입력하여 주자. 본인은 wsl을 VS CODE에다가 적용시켰다.
설치가 완료되었다.
그 다음
sudo apt-get install ssh
로 ssh를 설치하자
그다음 vim 을 설치한다.
sudo apt-get install vim
bandit 은 포트번호가 2220이다.
https://overthewire.org/wargames/bandit/bandit0.html
OverTheWire: Level Goal
We're hackers, and we are good-looking. We are the 1%. Level Goal The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password
overthewire.org
이 사이트에서 확인할 수 있다.
일단 사전 작업이 끝났다.
최종적으로 접속은 어떻게 해야하느냐?
ssh [USER]@[HOSTNAME] -p [PORT]
인데
USER는 아이디부분에 해당 레벨부분을 적으면 되고, hostname은 bandit.labs.overthewire.org 을 적고, port 부분에는 2220을 적으면 된다
그렇다면 level 0번으로 접속해볼려고 한다면?
ssh bandit0@bandit.labs.overthewire.org -p 2220
이렇게 입력하면 된다.
접속이 잘 되었다.
password는 level0 에서는 bandit0 을 입력하면 된다.
이제 문제를 풀어보자.
문제
https://overthewire.org/wargames/bandit/bandit1.html
OverTheWire: Level Goal
We're hackers, and we are good-looking. We are the 1%. Level Goal The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, us
overthewire.org
다음 레벨의 비밀번호는 홈 디렉토리에 위치한 readme이라는 파일에 저장됩니다. 이 비밀번호를 사용하여 bandit1에 SSH를 사용하여 로그인합니다. 레벨의 비밀번호를 찾을 때마다 SSH(포트 2220)를 사용하여 해당 레벨에 로그인하고 게임을 계속 진행합니다.
그리고 사용되는 명령어는
ls , cd , cat , file , du , find
이렇게 5개라고 적혀있다.
명령어들
ls | 현재 작업중인 디렉터리 또는 지정된 디렉터리 내에 있는 파일과 서브 디렉터리 목록 표시 -l : 긴 형식으로 파일의 상세 정보 표시 -a : 숨겨진 파일 포함 모든 파일 표시 -h : 파일 크기를 쉽게 읽을 수 있게 표시 -r : 역순 표시 -t : 최종 수정 시간 순 정렬 쓰고 싶다면 ls -la 이런식으로 사용 |
cd | 현재 작업 중인 디렉터리를 변경할 때 사용 cd [디렉터리 경로] 이때, cd만 입력하면 홈 디렉터리(또는 cd ~) cd .. : 상위 디렉터리 로 사용할 수도 있다. |
cat | 표준 출력으로 보여주기 또는 파일의 내용을 연결하여 ㅊ ㅜㄹ력하거나 새로운 파일 생성 cat [옵션] [파일명] cat - n 파일명을 하면 각 라인 앞에 번호를 붙여서 출력을 해준다. |
file | 파일의 내용을 조사하여 어떤 종류의 데이터를 포함하는 지 식별 file [옵션] [파일명] file ex.txt : 단일 파일의 유형 확인 file * : 디렉터리 내 모든 파일의 유형 확인 |
du | 파일 또는 디렉터리가 차지하는 디스크 공간의 양 확인 du [옵션] [파일 또는 디렉터리] du : 현재 디렉터리 디스크 사용량 du - h : 사람이 읽기 쉬운형태로 현재 디렉터리 디스크 사용량 확인 |
find | 파일이나 디렉터리 검색할 때 사용 find [경로] [옵션] [표현식] find . : 현재 디렉터리와 하위 디렉터리에서 모든 파일 및 디렉터리 나열 find . -name "*.txt" : txt확장자의 모든 파일 찾기 find . -type d : 디렉터리만 찾기 이런식으로 사용할 수 있다. |
대충 정리하자면
ls : 파일 목록 표시
cat : 파일 읽기
cd : 작업 경로 변경
file : 파일 식별
du : 디스크 양 식별
find : 파일 찾기
이정도가 되겠다. 이 각각의 세부 내용은 나중에 확인하도록 하자.
풀이 전략
일단 level0 에 접속하자
ssh bandit0@bandit.labs.overthewire.org -p 2220
를 접속하고 비밀번호 bandit0 를 입력하면 정상 접속이 된다.
문제를 보면 home 디렉터리에 readme 파일에 비밀번호가 존재한다고 하니까, cd ~ (또는 cd )로 홈디렉터리로 이동 후, ls 로 readme 파일이 존재하는지 확인하고, cat readme 로 파일을 출력하면 비밀번호를 알 수 있을 것이다.
문제 풀이
cd ~
홈 디렉터리로 이동한다.
그리고
ls -al
로 파일 목록을 불러온다.
readme 파일이 존재하는 것을 확인할 수 있다.
이제 읽어보자
cat readme
비밀번호가 출력되었다.
비밀번호는
NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL
이다.
이제
exit로 연결을 끊고 다시 bandit1 로 접속을 시도해보자.
exit
ssh bandit1@bandit.labs.overthewire.org -p 2220
성공이다.
에필로그
명령어 숙지를 우선으로 하자.
'보안 스터디 > bandit' 카테고리의 다른 글
[워게임] bandit level4 -> level5 문제 풀이 (1) | 2024.02.11 |
---|---|
[워게임] bandit level3 -> level4 문제 풀이 (0) | 2024.02.11 |
[워게임] bandit level2 -> level3 문제 풀이 (1) | 2024.02.10 |
[워게임] bandit level1 -> level2 문제 풀이 (1) | 2024.02.10 |
[워게임] bandit 답지 정리 (0) | 2024.02.04 |