
1\. 사진에 보이는대로 이것이 이번에 포스팅할 대상이다.Level0부터 Level34 까지 존재한다.2\. Level0 로그인 방법이다.(꼭 칼리 리눅스 환경이 아니어도 된다.)칼리 리눅스 터미널에서 사진과 같이 입력해준다.3\. 접속방법은 (1) 사진 왼쪽 상단 부

1\. 사진에 보이는대로 Level0 -> Level1로 넘어가는 문제이다.2\. cat /etc/passwd | grep bandit0 커맨드를 입력해준다.이로써 알 수 있는건 bandit0에 홈 디렉토리는 /home/bandit0이다.라는걸 알 수 있다.3\. 이어

Level1에서 Level2로 넘어가는 문제이다. ls 커맨드로 -(대쉬)가 있음을 알 수 있다. 지난번에 사용한 cat 커맨드로 -를 읽어보려고 했더니 아무것도 안나온다. 아무거나 aaa, 123을 입력했더니 입력한 값을 그대로 출력할 뿐이다. -(대쉬)의

1\. Level 2 -> Level 3으로 넘어가는 문제이다.2\. 지금 있는 경로가 /home/bandit2임을 알 수 있다.3\. ls -l으로 어떤 것이 있는지 알아볼 수 있다.파일이 하나 있는 것을 알 수 있다.spaces in this filename 이라는

Level

Level 4 -> Level 5로 넘어가는 문제이다.

1\. Level 5 -> Level 6으로 넘어가는 문제이다.2\. cd inhere/ 커맨드로 경로를 이동해준다.20가지 파일들이 보인다.3\. 이 안에 또 파일이 존재한다.지난번과는 다르게 하나씩 보기에는 힘들다.4\. 문제에 제시된 조건에 맞게 커맨드를 입력해준
1\. Level 6 -> Level 7으로 넘어가는 문제이다.2\. 전 포스팅 글을 보면 알겠지만 이번에는 전체 경로를 통하여 파일을 찾아보았는데 문제가 발생한것임을 알 수 있다.bandit6의 권한 밖에 없기 때문에 권한 에러가 나는 것이다.3\. 아까와 같은 커맨

Level 7 -> Level 8으로 넘어가는 문제이다.

1\. Level 8 -> Level 9로 넘어가는 문제이다.2\. data.txt가 있어서 cat으로 읽어보았다.3\. 무수히 많은 내용이 포함되어 있음을 알 수 있다.이 많은 내용중에 한번만 나온걸 찾아야 한다.4\. man uniq으로 살펴보자5\. 'report

1\. Level 9 -> Level 10으로 넘어가는 문제이다.2\. data.txt라는 파일을 cat으로 읽어본다.3\. 글자까 깨져서 보인다.사람이 읽을 수 있는 텍스트 파일이 아닌 것으로 보인다.사람이 읽을 수 있는 글자만 추출할 수 있는 명령어가 strings

Level 10 -> Level 11로 넘어가는 문제이다.BASE64 인코딩에 대하여 먼저 알아야 한다. 인코딩이란 글자의 모양을 바꿔주는 것이다.쉽게 떠올릴 수 있는 것은 암호화 이다.그래서 사람들이 간혹 BASE64를 암호화와 혼동하는 사람들이 있다."BASE64를

1. Level 11 -> Level 12로 넘어가는 문제이다.

Level 12 -> Level 13d으로 넘어가는 문제이다.그 다음 비밀번호는 data.txt에 있다.그런데 data.txt는 hexdump된 file이라고 한다. 어떤 일련의 반복적으로 압축된 파일인데 그것을 hexdump 했다.그리고 Level 12에서 /tmp

Level 13 -> Level 14으로 넘어가는 문제이다.다음 레벨로 넘어가는 비밀번호는 /etc/bandit_pass/bandit14 에 있다고 한다.그런데 저건 bandit14 계정만 읽을 수 있다고 한다.bandit14가 돼야 하는데, bandit14 계정만 읽

Level 14 -> Level 15로 넘어가는 문제이다.문제를 보면 localhost에 30000번 포트로 현재 비밀번호를 전송해라 라고 나와있다.이 문제의 핵심은 localhost에 30000번 포트에 데이터를 연결할 수 있느냐? 해당 포트에 내가 원하는 데이터를

Level 15 -> Level 16으로 넘어가는 문제이다.문제를 읽어보면 이전 문제는 30000번 포트에 데이터를 전달 했다면, 이번에는 30001번 포트에 데이터를 전달 하면 된다.그런데, SSL 암호화 통신을 사용해서 데이터를 보내라고 한다.SSL에 대해서 알려주

Level 16 -> Level 17으로 넘어가는 문제이다.31000번부터 32000번 포트 그중에서 어떤 포트인지는 모른다.그런데, 그 중에서 열려있는 포트가 몇개 있는데, 31000 ~ 32000 이 포트 사이에, 하나의 포트가 열려있고, 그 중에 SSL 통신을 하

1. Level 17 -> Level 18으로 넘어가는 문제이다.

Level 18 -> Level 19으로 넘어가는 문제이다.지난번 문제에서, bandit18으로 로그인을 할려고 했더니, Byebye!! 가 뜨고, 연결이 종료가 되었다.자, 그것부터 해결을 해야 한다.문제 지문을 보면, 홈 디렉토리에 readme라는 파일에 다음으로

Level 19 -> Level 20으로 넘어가는 문제이다.다음 레벨에 접근하기 위해서는 setuid binary를 이용해야 한다. 라고 되어있다.binary는 실행파일을 뜻한다.정확하게 말하면 실행파일은 아닌데, 2진수로 된 숫자로 된 데이터 파일을 말한다.근데 보통

Level 20 -> Level 21으로 넘어가는 문제이다.이번에도, setuid binary가 설정되어 있다. 라고 한다.그니까, 이 프로그램은 뭐냐면, 네트워크 연결을 맺은 다음에 거기에 자신에게 맞는 비밀번호를 입력하면? 비밀번호를 준다. (밑에 사진과 설명으로

Level 21 -> Level 22으로 넘어가는 문제이다.문제 지문을 읽어보면, 시간에 기반한 프로그램 일정 기간을 두고 일정 기간마다 어떤 특정 프로그램이 실행되게 만드는 cron이 설정되어 있다고 한다.이 cron 파일이, /etc/cron.d디렉토리에 있는데,

1.) 전 문제랑 똑같이 cron관련 문제이다.2.) bandit23에 cron이 작동하고 있다.3.) 쉘 스크립트로 코드가 짜여져 있다.이런식으로 바꿔서 실행을 할거다.4.) /tmp 파일로 이동을 하고, .sh파일을 만들어서 아까 작성한 코드를 저장해준다.이렇게 해

1.) cron 문제이다.2.) 전 문제랑 똑같이 작업한다.3.) 코드이다.

이러면 Wrong이 나오는데, grep -v "Wrong"을 적어주면 해당 부분은 안나온다.

작게 만든 상태에서 실행한다.키보드 v를 누르면 vi가 실행된다.여기서 사진처럼 입력해준다. vi에서 shell을 실행하는 방법이다.:sh를 입력해주면 쉘을 사용할 수 있다.알아낸 비밀번호로 로그인을 할 때도 작게 만들어서 more 기능을 활용해서 접근해야 한다.똑같이

전 문제에서 얻은 쉘방식으로 로그인을 해주고 진행하면 된다.ls를 하면 bandit27-do가 있는데, setuid를 활용해서이렇게 하면 euid부분이 bandit27로 뜬다.이렇게 하면 전에는 id를 입력했을 때 euid가 bandit27로 보였는데, 문제가 패치가

/tmp로 이동해서 본인의 저장소를 만들어 주고, 이동한다.비밀번호는 bandit27것을 입력해주면 된다.살펴보면 git clone으로 repo파일을 다운받았다.읽어보면 다음으로 가는 비밀번호이다.

작업공간을 만들고, git clone으로 다운받는다.비밀번호는 bandit28것으로 입력하면 된다.fix info leak <- 이번 commit에서 고쳤다고 적혀있다.그러면 이전버전으로 돌아가면, 평문 비밀번호가 적혀있을 확률이 높다.그러면, 그 밑에 적힌 co

비밀번호는 bandit29것이다.배포버전에서는 == production에서는 비밀번호가 없다! 라고 되어 있다.2가지 버전이 있다. 밑에 있는 commit으로 가보자여기도 똑같다.dev 개발브랜치가 수상하다.개발 브랜치에서는 비밀번호가 노출되고 있었다.

비밀번호는 bandit30이다.

비밀번호는 bandit31이다.저장하고 나와주면 된다..txt 파일형태는 깃 업로드 하지 말라는 의미이다.하지만 우리는 key.txt를 업로드 해야한다.\-f옵션을 주면 강제로 업로드 되게 할 수 있다.다음으로 가는 비밀번호가 적혀있다.

로그인을 하면 이런 모양의 쉘이 뜬다.id를 입력했을 때, uid가 bandit33으로 뜬다.다음으로 가는 비밀번호를 알아내기 위해 밑에 커맨드를 입력하면 된다.