목록Linux/OverTheWire : Bandit (34)
김승현
문제 이 모든 깃 문제가 끝나고 새로운 탈출을 할 시간이고 행운을 빈다고 한다고 한다. 풀이 대문자의 셸에 온 것을 환영한다고 하고 입력한 모든 걸 대문자로 바꾸는 것을 볼 수 있다. !나 ?처럼 특수문자나 숫자는 그대로 반환되는 걸 보니까 특수문자나 숫자를 이용해야 될 것 같다. $0은 명령행 인자로 셸스크립트의 이름을 담는 것입니다. 그러나 아무것도 없기 때문에 $0을 입력하면 >>이 $으로 변하면서 입력할 수 있는 상태가 된다. 나는 아래의 블로그를 참고했다. 리눅스 $0 - 제타위키 다음 문자열 포함... zetawiki.com 여기서 bash를 입력하면 이렇게 bandit33에 접속할 수 있다. ls를 써보면 uppershell이라는 ELF파일이 있길래 바로 실행시켜 봤더니 셸로 들어가졌다.. ..
문제 깃 리포지토리가 ssh://bandit31-git@localhost/home/bandit31-git/repo에 있다. 그리고 password는 유저 bandit31의 password와 동일하다고 한다. git 문제의 마지막 문제! 이거만 풀면 자고 일어나서 두 문제만 풀면 bandit은 끝이다! 풀이 오랜만에 ls -al로 시작한다. 지금까지와 다르게 ASCII text로 작성된 .gitconfig라는 파일이 있다. 읽어보면 이메일와 이름을 알려준다. 나중에 힌트가 될 것 같으니 기억해두자. mkdir로 /tmp/big이라는 디렉토리를 만들고 이동해줬다! ssh://bandit31-git@localhost:2220/home/bandit31-git/repo 문제와 달리 포트를 2220으로 지정하지 않..
문제 깃 리포지토리가 ssh://bandit30-git@localhost/home/bandit30-git/repo에 있다. 그리고 password는 유저 bandit30의 password와 동일하다고 한다. 저번이랑 내용이 동일하다. 이걸 풀고도 아직 git 문제가 하나 더 남아있는데 오늘은 그거까지만 깔끔하게 풀어야겠다. 풀이 파일을 생성할 수도 있기 때문에 /tmp/bang이라는 디렉토리를 만들고 들어가줬다. git clone ssh://bandit30-git@localhost:2220/home/bandit30-git/repo 문제와 달리 포트를 지정해주지 않으면 경고가 뜨면서 복사가 되지 않기 때문에 localhost:2220으로 입력해줬다. 이렇게 password까지 입력하면 성공적으로 복사가 된..
문제 깃 리포지토리가 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..