목록분류 전체보기 (151)
김승현
문제 깃 리포지토리가 ssh://bandit29-git@localhost/home/bandit29-git/repo에 있다. 그리고 password는 유저 bandit29의 password와 동일하다고 한다. 저번이랑 내용도 똑같고 진짜로 저번에 생각보다 쉽다고 한 걸 이번엔 진짜로 플래그를 회수시키려는 목적인 것 같다... 풀이 (ls -al해도 딱히 힌트가 없는 것 같아서 작성하지 않았습니다) 이번 문제에서도 파일을 만들기 위해 /tmp/bangit이라는 디렉토리를 만들고 해당 디렉토리로 이동했다. git clone ssh://bandit29-git@localhost:2220/home/bandit29-git/repo 문제와 다르게 포트를 지정해줘야 되기 때문에 위와 같이 입력해줬다. password까지..
문제 깃 리포지토리가 ssh://bandit28-git@localhost/home/bandit28-git/repo에 있다. 그리고 password는 유저 bandit28의 password와 동일하다고 한다. 저번 27 → 28문제와 문제 설명이 동일한 거 보니까 난이도를 확 올린 버전인가 보다.... 저번 문제에서 git이라는 게 나온 거 치고 쉽다라고 했는데 바로 플래그 회수해갑니다.... 풀이 저번 문제처럼 바로 /tmp/gi 디렉토리를 만들고 거기에 git clone 명령어를 통해 내 디렉토리에 복사를 진행했다. 문제와 다르게 포트를 2220으로 지정해야 해서 localhost:2220으로 입력해야지 정상적으로 접속할 수 있습니다!!(중요) ls -al을 해서 repo 디렉토리로 이동해서 보니까 R..
문제 ssh://bandit27-git@localhst/home/bandit27-git/repo에 깃 리포지토리가 있다고 한다. 그리고 password는 유저 bandit27과 동일하다고 한다. git 개인 혹은 팀 간의 프로젝트를 관리하는 데 가장 널리 사용되고 있는 툴이라서 개발자들 사이에선 꼭 익숙해져야 한다고 한다. 이런 게 나오니까 해보기도 전에 벌써 어려워 보인다.... 풀이 (ls -al 해도 힌트가 없는 것 같아 작성하지 않았습니다) git clone 명령어를 이용해서 ssh://bandit27....../repo를 입력해봤는데 repo의 경우 권한 거부가 떴다. 파일을 만들기 위해 /tmp/gith 디렉토리를 만들어서 들어가줬다. 이제 명령어를 입력해서 접속이 되는가 싶더니 포트가 22라..
문제 셸을 얻을 걸 축하하고 얼른 bandit27의 password를 얻으라고 한다. 풀이 들어가기 전 bandit26에 접속하는 방법을 알려드리겠습니다! 이번 문제는 Level 25 → Level 26 문제에서 이어지는 거라서 Level 25를 일단 로그인 해서 거기서 접속해야 됩니다! more을 이용해서 일단 vi편집기까지는 열었을 거라고 생각하고 진행합니다! 만약 기억 안 난다면 요기로 ↓↓↓↓↓↓↓↓↓ [OverTheWire] Bandit Level 25 → Level 26 문제 bandit25에서 26으로 접속하는 건 쉽지만 bandit26의 셸은 /bin/bash가 아닌 다른 무언가라고 한다. 그게 뭔지 알아내고 어떻게 작동 발생되는지 알아내라고 하는 것 같다. 풀이 ls -al을 해보면 ba..
문제 bandit25에서 26으로 접속하는 건 쉽지만 bandit26의 셸은 /bin/bash가 아닌 다른 무언가라고 한다. 그게 뭔지 알아내고 어떻게 작동 발생되는지 알아내라고 하는 것 같다. 풀이 ls -al을 해보면 bandit26.sshkey가 있는 걸 볼 수 있다. 반가운 마음에 바로 ssh 명령어를 사용했다. 오랜만이라 기억 안 나는 사람들이 있을까 봐 명령어 형식을 적어뒀다. -i 옵션을 통해 sshkey를 지정해서 접속할 수 있다. ssh -i [sshkey] [username]@[hostname] -p [포트] bandit 문제에서 ssh를 통해 접속할 때 포트를 지정하지 않으면 22로 자동으로 지정되는데 22로 접속하게 되면 경고창이 뜨면서 접속이 되지 않으니 처음에 문제를 접속할 때 ..
문제 포트 30002포트로 리스닝을 하고 bandit24의 password와 4자리 암호를 주면 bandit25의 password를 준다고 하는 것 같다. pincode를 얻는 방법은 브루트포싱이라고 불리는 방법밖에 없다고 한다. 브루트 포스 공격이란? 무차별 대입 공격으로 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 것을 의미한다. 모든 가능한 경우의 수를 시도하기 때문에 돈과 시간만 있다면 모든 암호를 얻을 수 있지만 웹사이트의 경우 대부분 각자의 방지책을 마련하고 있다. 풀이 (ls -al을 해도 힌트가 딱히 없는 것 같아서 넣지 않았습니다) nc 명령어를 이용해서 localhost의 30002포트에 접속해보면 두 줄 정도의 문장이 출력된다. 짧게 요약하자면 bandit24의 password..
문제 제시된 명령어가 같으면 내용도 거의 비슷한 내용들인 것 같다. 프로그램은 cron으로 규칙적인 텀마다 자동으로 실행되는 시간 기반의 작업 스케쥴러라고 하고 /etc/cron.d를 봐서 설정이나 어떤 커맨드가 실행되고 있는지 보라는 말인 것 같다. NOTE : 이 level에선 우리가 우리의 첫 셸스크립트를 만들길 요구한닥 ㅗ한다. 이건 매우 큰 스탭이고 이 문젤 스스로 풀면 자랑스러워 해도 된다고 한다. NOTE1 : 한 번 실행된 우리가 만든 셸스크립트는 지워진다는 걸 명심하라고 하고 미리 저장해두라는 말인 것 같다. 풀이 문제에서 말한대로 /etc/cron.d에 들어가서 ls -al을 했다. bandit24의 password가 필요하기 때문에 cronjob_bandit24파일을 읽어봤다. /us..
문제 프로그램은 cron으로 규칙적인 텀마다 자동으로 실행되는 시간 기반의 작업 스케쥴러라고 하고 /etc/cron.d를 봐서 설정이나 어떤 커맨드가 실행되고 있는지 보라는 말인 것 같다. NOTE : 다른 사람들에 의해 쓰여진 셸 스크립트는 유용하다. 이 단계의 스크립트는 의도적으로 읽기 쉽게 만들어졌다고 한다. 풀이 (ls -al을 해도 얻을 힌트가 없는 것 같아서 하지 않았습니다.) 저번 21 → 22단계를 풀었던 것처럼 문제에 적혀 있는 cd를 사용해서 /etc/cron.d/에 들어가보면 많은 파일들이 있는데 우리는 23level을 가야 되기 때문에 cronjob_bandit23을 봐야 될 것 같다. 간단하게 설명하면 부팅을 할 때마다, 그리고 매시 매분마다 /usr/bin/cronjob_band..
문제 프로그램은 cron으로 규칙적인 텀마다 자동으로 실행되는 시간 기반의 작업 스케쥴러라고 하고 /etc/cron.d를 봐서 설정이나 어떤 커맨드가 실행되고 있는지 보라는 말인 것 같다. 아닐 수도 있지만 어느정도 비슷한 말 아닐까요....? cron, crontab, crontab(5)명령어가 문제 푸는데 필요할 거라며 주어졌다. crontab : cron table의 줄임말로 리눅스에서 특정 작업을 주기적으로 사용하기 위해서 사용되는 명령어 풀이 (ls -al은 해도 딱히 힌트가 없는 것 같아서 넣지 않았습니다.) cron과 crontab 모두 사용해봤는데 Permission denied가 떴다. 어쩔 수 없이 문제에 적혀있던 /etc/cron.d/에 가봐야겠다. /etc/cron.d/ 디렉토리에는..
문제 홈디렉토리에 setuid binary가 있는데 이건 커맨드라인 인자로 특정시킨 로컬호스트의 포트로 연결하게 해주는 그런 파일이라고 한다. 그리고 bandit20의 password와 비교해서 일치한다면 다음 단계로 가능 password를 전송해준다고 한다. 풀이 일단 ls -al 해보면 suconnect라는 ELF 파일이 있다. 파일을 실행시키면 사용법과 거기에 대한 설명이 뜬다. 이 프로그램은 TCP를 이용해서 localhost의 주어진 포트로 접속을 한다고 하고 또 만약 다른 쪽에서( port를 open한 쪽 ) bandit20의 password를 보내면 bandit21의 password를 전송한다고 한다. 이번 문제를 풀기 위해서 bandit20에 두 개를 동시에 접속시켜 풀어야 할 것 같다. ..