wargame/bandit 8

Bandit31 ~ Bandit34 문제 풀이

Bandit31 → Bandit32-문제-앞에서 풀어봤던 문제들과 동일한 방식으로 git clone을 한 뒤에 패스워드를 입력하자. 풀이방법 : 그냥 열심히 찾아보자. 이번 문제도 앞에서 했던 문제들과 초반은 동일하기에 생략하겠다.README.md 파일을 읽으면 이런 메시지가 출력이 된다.원격 레포지토리에 파일 하나를 push하라는 내용이다.현재 branch는 master니까 branch를 바꿀 필요는 없고 key.txt파일을 만들어서 그 안에 May I come in?을 입력하고 push를 하면 된다.이렇게 key.txt파일을 생성했다. 이제 push를 해주자. 어떻게 push를 할까? git 저장소에 자료를 추가 및 업로드 하기 위해서는, 일반적으로 add, commit, push의 순서를 따른다. ..

wargame/bandit 2024.07.03

Bandit26 ~ Bandit31 문제 풀이

Bandit26 → Bandit27-문제-bandit27 패스워드를 찾아보자 풀이방법 : 그냥 열심히 찾아보자. 리스트 정보를 봤더니 어디서 많이 봤던 형태의 파일이 하나 보인다. 역시나 bandit19에서 했었던 setduid binary이다.이 파일은  특정 사용자의 권한으로 실행될 수 있도록 설정된 파일이었다. 그럼 한번 실행해보자.이처럼 동작 방법을 알려준다.사용 방법 그대로 입력해 보니 이 파일은 bandit27의 권한으로 실행한다는 것을 확인했다. 그럼 이 것을 이용해서 bandit27의 패스워드를 얻으면 해결된다.    Bandit27 → Bandit28-문제-bandit27-git을 clone 하고 다음 단계의 패스워드를 찾자. bandit27-git의 패스워드는 bandit27의 패스워드..

wargame/bandit 2024.07.03

Bandit21 ~ Bandit26 문제 풀이

Bandit21 → Bandit22-문제-cron이라는 프로그램이 규칙적인 간격으로 자동으로 실행 중이고 시간 기반 직업 스케줄러이다. /etc/cron.d/를 확인해서 어떤 명령어가 실행 중인지 확인하자. 풀이방법 : /etc/cron.d을 확인해보자. 문제에서 말한 경로로 들어가니 여러 개가 나온다.bandit22 패스워드가 필요하기 때문에 저걸 실행해 보자.그랬더니 이렇게 두 개의 줄이 출력된다.첫 번째는 bandit22라는 사용자가 시스템이 재부팅될 때마다 /usr/bin/cronjob_bandit22.sh를 /dev/null로 보낸다는 뜻이다.두 번째는 bandit22라는 사용자가 매분 /usr/bin/cronjob_bandit22.sh를 /dev/null로 보낸다는 뜻이다. 이 두 개의 줄이 ..

wargame/bandit 2024.07.03

Bandit16 ~ Bandit21 문제 풀이

Bandit16 → Bandit17-문제-다음 단계로 가는 패스워드는 현제 단계의 패스워드를 이용해서 localhost의 31000~32000포트 사이에 전송하면 얻을 수 있다. 먼저 서버가 동작하고 있는 포트를 찾아야 한다. 그리고 그중에서 SSL을 사용하는 서버를 찾아야 한다. 오직 하나의 서버만이 다음 단계로 가는 패스워드를 갖고 있고 다른 서버들은 내가 보낸 메시지를 다시 보낸다. 풀이방법 : 31000~32000 포트사이에서 동작중인 SSL 서버를 찾고 패스워드를 보내자. 자 우선 bandit16번의 패스워드부터 파악하자.이 패스워드를 바탕으로 현재 오픈중인 서버에 넣어줄 것이다. 이제 오픈중인 서버를 찾아야 하는데 어떻게 찾을 수 있을까?nmap을 사용하여 현재 동작중인 서버의 포트번호를 찾을..

wargame/bandit 2024.06.28

Bandit11 ~ Bandit16 문제 풀이

Bandit11 → Bandit12-문제-다음 단계로 가는 패스워드는 data.txt파일 안에 저장되어 있고, 그 안에 저장된 내용들은 소문자와 대문자 알파벳 모두 13번 회전되어 있다. 풀이방법 : 13번 회전되었다는 의미를 파악할것. 알파벳이 13번 회전되었다는 것은 ROT13 암호화 방식이다. ROT13은 rotate by 13 places의 줄임말로 단순한 암호화 기법이고, 알파벳 문자들을 13자리씩 회전시키는 방법이다.  예를 들어, 'A'는 13자리 뒤의 문자 'N'으로 변환되고 소문자도 마찬가지로, 'a'는 'n'으로 변환된다.  여기서 우리는 치환을 생각할 수 있다.  치환을 하기 위한 명령어 tr를 사용하면 쉽게 풀릴 것이다.A-Z를 N-M으로 바꾸고 a-z를 n-m으로 치환시키자. A-..

wargame/bandit 2024.06.26

Bandit6 ~ Bandit11 문제 풀이

Bandit6 → Bandit7-문제-다음 단계로 가는 패스워드는 아래조건에 해당하는 어딘가에 있다. 파일의 유저가 bandit7, 그룹이 bandit6, 사이즈는 33 bytes 풀이방법 : user bandit7, group bandit6, 사이즈는 33byte인 파일을 찾자.fine / -user bandit7 -group bandit6 -size 33c 명령어를 사용했더니  permission denied가 엄청 많이 뜬다...Permission denied가 뭐지? Permission denied 메시지는 파일이나 디렉토리에 대한 접근 권한이 없는 경우에 발생하는 표준 에러 메시지이다.  표준 입력 (stdin): 파일 디스크립터 번호 0표준 출력 (stdout): 파일 디스크립터 번호 1표준 ..

wargame/bandit 2024.06.24

Bandit1 ~ Bandit6 문제 풀이

Bandit1 → Bandit2 -문제-다음 단계로 가는 패스워드는 home 디렉터리 안에 있는 - 라는 파일 안에 저장되어 있다. 풀이방법 : cat명령어로 home 디렉터리 안에 있는 - 파일을 출력하자. ls 명령어로 - 파일을 확인 후 cat 명령어를 사용했으나 이러한 방법은 잘못된 방법이다.'cat - '명령어는 터미널에서 입력한 내용을 출력하기 때문이다. 해결방법으로 파일의 경로를 지정하자.이렇게 현재 디렉터리에 있는 - 라는 파일을 출력하겠다는 식으로 바꿔주면 정상적으로 비밀번호가 출력이 된다.Bandit2 → Bandit3  -문제-다음 단계의 비밀번호는 home디렉터리 안에 있는 spaces in this file name에 저장되어 있다.풀이방법 : cat 명령어로 spaces in t..

wargame/bandit 2024.06.21

리눅스 기반 Wargame 소개(Bandit) 및 Bandit0 문제 풀이

Wargame : 보안 관련 기술을 학습하고 연습하기 위해 설계된 시뮬레이션 게임  Bandit Wargame : Linux 서버에 대한 기본적인 명령어와 보안 개념을 배우기 위한 온라인 게임 이 게임은 OverTheWire라는 사이트에서 제공하며, 여러 단계의 레벨로 구성되어 있다. 각 레벨의 비밀번호를 찾아내어서 다음 단계로 넘어가는 방식(총 34단계로 구성) https://overthewire.org/wargames/bandit/여기서 bandit 단계별 문제를 확인할 수 있다. 자 이제 접속을 해보자putty로 접속이 가능하고 IP는 bandit.labs.overthewire.org이다. port번호는 2220을 입력하면 된다.  login ID는 bandit0 password는 bandit0이다..

wargame/bandit 2024.06.21