리눅스 워게임 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) 31 Level -> 32 Level
·
Wargame/Linux_bandit
Level 30에서 가져온 키 값을 복사해서 bandit31에 접속해 보자 힌트는 전에 문제하고 다 똑같다. clone 통해 repo를 받았다. README.md 를 읽어보니 파일을 푸시하라고 한다. 그리고. gitignore를 보니 '*. txt' 적혀있는 거 보니 txt파일을 보내지 못하게 하는 거 같다?? 일단 넘어가 보자 파일명 : key.txt 내용 : May I come in? 브랜치 : master vi를 이용해서 key.txt 파일을 만들어보자 이제 key.txt를 저장소에 추가하려고 했는데 노란 줄을 git add에 강제적 옵션인 -f (아까 말한. gitignore)을 무시하라는 거 같다. 그리고 바로 git commit 명령을 이용하여 커밋을 해보자 git add [파일명] : 파일을..
리눅스 워게임 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) 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) 23 Level -> 24 Level
·
Wargame/Linux_bandit
Level 22에서 가져온 키 값을 복사해서 bandit23에 접속해 보자. cron이라는 시간 기반 작업 스케줄러를 통해 자동으로 실행되는 프로그램을 확인하라고 한다. /etc/cron.d/ 디렉터리에서 스케줄 구성을 찾아 실행되는 명령을 알아내야 한다고 한다 자신만의 스크립트를 만들라고도 한다. 자주 들어오는 디렉터리이다. cronjob_bandit23를 확인해 보자. 이 스크립트에 내용을 설명하자면 '/var/spool/$myname/foo' 디렉터리에 있는 스크립트 파일을 찾아서 소유자가 'bandit23'인 경우에만 실행하고 60초 지나서? 삭제한다. 일단 /var/spool/$myname/foo 경로에 bandit24 비밀번호를 얻을 수 있는 셸 파일을 만들라고 하는 거 같다. 임시파일 디렉터..
리눅스 워게임 bandit (overthewire.org) 22 Level -> 23 Level
·
Wargame/Linux_bandit
Level 21에서 가져온 키 값을 복사해서 bandit22에 접속해 보자. 주기적으로 실행되는 프로그램이 cron이라는 시간 기반 작업 스케줄러에서 자동으로 실행되고 있다. /etc/cron.d/ 디렉터리에서 해당 설정을 확인하고 실행되는 명령어를 확인해 보라고 한다. 다른 사람들에 의해 쓰인 쏄 스크립트는 유용하다 의도적으로 읽기 쉽게 만들어졌다. 이거까지는 badirt21 하고 과정이 똑같다. 시스템이 부팅할 때 bandit23 권한으로 /usr/bin/cronjob_bandit23.sh 셸 스크립트가 실행 표준출력과 에러, 실행결과를 출력하지 않는다. 매 분마다 bandit23 권한으로 /usr/bin/cronjob_bandit23.sh 스크립트 실행 똑같이 실행결과를 출력하지 않는다. 그러면 뭘..
리눅스 워게임 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 파일이 있다 확인해 보자. 일단 첫 번째 줄부터 해석하..