리눅스 워게임 bandit (overthewire.org) 32 Level -> 33 Level
·
Wargame/Linux_bandit
Level 31에서 가져온 키 값을 복사해서 bandit32에 접속해 보자 들어가자마자 대문자 Shell에 온 것을 환영한다고 한다. 힌트도 같이 봐보자. 모든 git 문제가 끝나고 탈출하라고한다 굿럭. 명령어를 아무거나 쳐봤더니 대문자로 인식해 실행된 지가 않는다. 그러면 영어 말고 다른 대문자 구분이 없는 특수문자, 숫자를 써야 한다는 걸 알 수 있다. $0를 입력하여 bash 쉘을 키니 바로 bandit33으로 되는 걸 확인할 수 있다. '$0' : 특정 shell 스크립트 내에서 스크립트의 이름을 나타내는 변수이다 ( 하지만 아무 이름이 없기에 $ 으로 만 있고 입력이 가능해진 상태가 됨) 이건 리눅스 환경변수에 대한 정보가 필요해 보인다. https://zetawiki.com/wiki/%EB%A..
리눅스 워게임 bandit (overthewire.org) 30 Level -> 31 Level
·
Wargame/Linux_bandit
Level 29에서 가져온 키 값을 복사해서 bandit31에 접속해 보자. 힌트는 뭐 git 문제들은 다 똑같은 거 같다. (설명 생략) (생략) README.md 파일을 읽어보니 그냥 비어있는 파일을 주고 그냥 웃고 끝이다...? 뭘 해야 하지? 일단 전에 썼던 방법들인 git log , git branch -a를 봤더니 딱히 뭐 힌트 될 게 없는 거 같다. 그러면 막일 밖에 없다고 생각하여 모든 파일들을 다 뜯어보자. 숨김 디렉터리인 '. git'에 들어가 모든 파일을 확인 각 파일 타입을 확인한 뒤 ASCII Text 만 일단 확인해본 결과 'packed-refs' 파일이 수상해 보인다 분명 브랜치는 master 밖에 없었는데 secret 이 있는 걸로 보인다. git show를 이용해서 Secr..
리눅스 워게임 bandit (overthewire.org) 29 Level -> 30 Level
·
Wargame/Linux_bandit
Level 28에서 가져온 키 값을 복사해서 bandit29에 접속해 보자. 힌트를 보면 전에 문제하고 똑같은 힌트를 준다. 똑같이 임시 디렉터리에다가 git clone 받을 준비를 하자 (생략) README.md 파일을 읽어보니 'username'은 있지만 password는 없는 걸로 보인다. in production이라고 하는 걸 보니 다른 저장소가 있는지 확인해 보자. git log를 해도 딱히 힌트는 없다. git branch 명령어에서 -a 옵션을 주었다. git branch -a : 현재 저장소에 있는 모든 브랜치 목록을 표시함 이러면 현재 내가 어디 Branch에 있는지 알 수 있다 현재는 Masster Branch 에 있는 걸로 확인할 수 있다. branch에 대한 설명을 하자면 코드의 분..
리눅스 워게임 bandit (overthewire.org) 28 Level -> 29 Level
·
Wargame/Linux_bandit
Level 27에서 가져온 키 값을 복사해서 bandit28에 접속해보자. 저번 문제랑 똑같은 힌트다. 어째 힌트가 성의가 없어 똑같이 '/tmp' 디렉터리에다가 파일을 받을 곳을 만들어놓자. bandit27 문제랑 똑같이 git에서 'repo' 를 받아보자. git 에서 가져온 README.md라는 text 파일을 읽어봤는데 password 부분이 'xxxxxxxxxx'로 되어있다. 이 부분에서 구글링 해본 결과 git log , git show 명령어를 이용하면 될 거 같다. README.md 파일을 총 3번을 걸쳐서 커밋을 했다. (커밋은 쉽게 말하면 깃허브에 README.md 파일을 올린 것) 맨 밑에 있는 log 가 제일 처음한 커밋이고 올라갈수록 최신 커밋이다. 맨밑 커밋부터 메모를 보면 RE..
리눅스 워게임 bandit (overthewire.org) 27 Level -> 28 Level
·
Wargame/Linux_bandit
Level 26에서 가져온 키 값을 복사해서 bandit27에 접속해 보자. 먼저 힌트를 같이 보자. 포트 2220을 통해서 localhost의 'ssh://bandit27-git@localhost/home/bandit27-git/repo' 주소에 git 저장소가 있다는 거 같다 비밀번호는 bandit27 비밀번호와 동일하다고 한다 명령어 git를 이용해야 할 거 같다. 먼저 외부에서 복제를 하려면 일시적으로 파일을 저장하는 디렉터리인 '/tmp'에 만들어 보도록 하자. bandit28 -> git 두 개의 디렉터리를 만들었다 혹시나 권한문제가 나오면 보기 쉽게 설명하기 위해 하나 더 만들었다. 이제 'git clone' 명령어를 써서 소스 코드에 있는 'repo'를 복제하려고 했는데 port 22를 썼..
리눅스 워게임 bandit (overthewire.org) 26 Level -> 27 Level
·
Wargame/Linux_bandit
Level 25에서 가져온 키 값을 복사해서 bandit26에 접속해 보자. 비밀번호를 입력해서 들어가려는 찰나 화면이 종료된다. bandit25 -> bandit26 문제에서 Shell에서 종료시켰기 때문이다 그러면 bandit25로 다시 접속해 보자. bandit25에서 bandit26 접속 방법은 전에 있는 문제를 살펴보면 된다. https://grayom.tistory.com/27 리눅스 워게임 bandit (overthewire.org) 25 Level -> 26 Level Level 24에서 가져온 키 값을 복사해서 bandit25에 접속해 보자. 힌트 bandit26의 shell 이 /bin/bash 가 아닌 다른 무언가라고 합니다. 작동원리를 알아야 할 필요가 있어 보입니다. 먼저 band..
리눅스 워게임 bandit (overthewire.org) 25 Level -> 26 Level
·
Wargame/Linux_bandit
Level 24에서 가져온 키 값을 복사해서 bandit25에 접속해 보자. 힌트 bandit26의 shell 이 /bin/bash 가 아닌 다른 무언가라고 합니다. 작동원리를 알아야 할 필요가 있어 보입니다. 먼저 bandit25에서 확인해 보니 'bandit26.sshkey'가 보인다 sshkey를 이용하여 bandit26에 접속할라 했더니 22로 접속하지 말라고 한다. 2220으로 지정해서 다시 접속해 보자 보면 기존 명령어에서 '-p 2220'만 추가시킨 거다. 접속을 성공했지만 접속 성공하자마자 바로 쫓아낸다. 힌트에서 봤지만 shell 이 /bin/bash 가 아니고 다른 무언가 이기 때문에 그런 거인 거 같다. bandit25에 대하여 정보를 나타내는 /etc/passwd를 보면 Userna..
리눅스 워게임 bandit (overthewire.org) 24 Level -> 25 Level
·
Wargame/Linux_bandit
Level 23에서 가져온 키 값을 복사해서 bandit23에 접속해 보자. 포트 30002에서 bandit24의 패스워드와 4자리 핀 코드를 받으면 bandit25의 패스워드를 제공한다고 한다 brute-force 방식으로 0000 부터 9999까지 모든 4자리 숫자 조합을 시도하라고 합니다 brute-force 방식은 무작위 대입 공격을 쓰라는 거 같다. nmap를 사용하여 30002 포트가 열려있는지 확인해 보고 아무렇게 입력해 보니까 Fail! ~ 이 뜬다. 일단은 새로운 스크립트를 만들어야 할 거 같으니 임시 디렉터리에다가 ncfor를 만든다. 반복문으로 만들어서 해보자 echo는 출력문 (print)라고 생각하면 된다 $i는 i 값 호출이다 스크립트를 너무 간단하게 짜서 그런지 파이프를 많이?..
리눅스 워게임 bandit (overthewire.org) 21 Level -> 22 Level
·
Wargame/Linux_bandit
Level 20에서 가져온 키 값을 복사해서 bandit21에 접속해 보자. 접속을 했으니 힌트도 보자 주기적으로 실행되는 프로그램이 cron이라는 시간 기반 작업 스케줄러에서 자동으로 실행되고 있다. /etc/cron.d/ 디렉터리에서 해당 설정을 확인하고 실행되는 명령어를 확인해 보라고 한다. 일단 cron , crontab 명령어를 써봤지만 거부한다 일단 cron , crontab에 대해서 간단 설명하자면 Cron 은 컴퓨터가 부팅될 때부터 시작하며 주기적으로 실행되어 야 할 작업을 확인하고 실행하는 역할이다 그러면 Cron table 은 예약된 작업 목록을 저장하는 파일이라고 할 수 있다. 힌트가 알려준 경로에는 cronjob_bandit22 파일이 있다 확인해 보자. 일단 첫 번째 줄부터 해석하..