분류 전체보기
-
[Bandit] Level 30Wargame/Bandit 2022. 9. 11. 05:00
Level 30으로 가기 위해서는 git의 새로운 기능을 알아야 했다. 하지만 git에 대해 잘 몰라서 구글링을 할 수 밖에 없었고, 많은 정보를 참고했다. 이번 문제에서 가장 중요한 것은 git의 Branch라는 개념이다. 간략하게 말하자면, Branch는 독립적인 작업 공간이라고 하면 될 것 같다. 이번 Level도 이전처럼 git clone 명령으로 저장소를 복사해온다. 그리고 repo 디렉터리 내에 README.md 파일을 읽어보니, 비밀번호 자체도 없다. 그 후 구글링을 통해 알아낸 branch라는 개념을 적용해본다. 현재 master branch에서 작업을 하고 있으니 다른 branch를 지정해 보기로 한다. 우선 존재하는 branch를 알아보기 위해 git branch -a 명령을 사용한다...
-
[Bandit] Level 29Wargame/Bandit 2022. 9. 11. 01:39
Level 29는 Level 28의 문제를 풀 때와 비슷하다. 우선 앞의 git clone으로 저장소를 복사하는 과정까지는 똑같으니 생략했다. ls -al 명령어로 조사해보니 repo라는 디렉터리가 있다. repo 디렉터리에 들어가 다시 ls -al 명령어를 사용하니 README.md 파일과 .git 디렉터리가 있다. README.md 파일을 읽어보니 Level29에 대한 노트인데 비밀번호가 xxxxxxxxxx으로 나와 있다.. 이걸 어떻게 해야 하는지 생각을 해봤지만, 잘 모르겠다. bandit 문제에는 해당 Level의 문제를 풀기 위해 알아야 할 명령어의 종류를 제시해준다. 이 문제에는 git 명령어만 있으므로 git --help로 도움을 얻어야 할 것 같다고 생각했다. 그런데 examine the..
-
[Bandit] Level 28Wargame/Bandit 2022. 9. 11. 00:15
Level 28로 가기 위해서는 git 명령어를 사용해 저장소를 복사해야 한다. 우선 git 저장소를 복사해 올 디렉터리를 생성한다. 그리고 git clone 명령얼 사용해 문제에서 제시한 경로를 복사하는데 port를 지정해줘야 한다. git clone --help | grep port 명령어로 port 번호를 적는 방법을 찾아서 아래의 사진처럼 작성했다. 문제에서 bandit27-git의 비밀번호와 bandit27의 비밀번호가 같다고 했으니 해당 비밀번호를 입력한다. 그러면 무언가 완료했다는 안내가 나타나며 object를 받았다는 것을 확인할 수 있다. 디렉터리에서 목록을 조회해보면 repo라는 디렉터리가 생성된 것을 알 수 있다. 해당 디렉터리로 이동하여 파일을 조회하면 README 파일이 있고, 이..
-
[Bandit] Level 27Wargame/Bandit 2022. 9. 10. 02:29
Level 27로 가는 비밀번호는 Level 26에서 빠르게 획득을 하면 된다. 문제가 이 한줄이 끝이다.. Level 26은 직접 접속 시 연결이 바로 끊기기 때문에 Level 25부터 접속을 해야 한다. Level 26에 접속해 연결이 바로 끊기지 않으려면 Shell을 설정해야 한다. 이전 풀이의 vi 편집기 부분에서 명령어를 다르게 입력해보자. :set shell=/bin/bash :sh 이렇게 명령어를 입력해 Shell을 /bin/bash로 바꾸고 vi 편집기에서 바로 Shell을 실행한다. 그러면 Level 26의 접속이 종료되지 않고 작업을 진행할 수 있다. 이제 작업을 진행해보면 bandit27-do라는 이름의 setuid가 설정된 실행 가능한 파일이 있다. 해당 파일을 실행하면 이전에 풀었..
-
[Bandit] Level 26Wargame/Bandit 2022. 9. 10. 02:10
Level 26으로 가는 방법은 쉬울 수도 있단다. (과연 사실일까?) 우선 ls 명령어로 살펴보면 bandit26.sshkey 파일이 있다. file 명령어로 해당 파일의 종류를 보면 private key이다. 이 private key를 이용해 ssh로 접속을 할 때 -i 옵션으로 바로 bandit26에 접속을 할 수 있다. ssh 명령으로 옵션을 넣고 bandit26으로 접속을 해본다. 하지만, 접속은 바로 끊기는 것을 알 수 있다. 문제에서 bandit26의 Shell은 /bin/bash가 아니라고 한다. /etc/passwd의 마지막 필드는 사용자가 기본으로 지정하는 Shell을 나타내므로 cat 명령으로 조회를 해본다. bandit26의 Shell이 /usr/bin/showtext라고 나온다. ..
-
[Bandit] Level 25Wargame/Bandit 2022. 9. 9. 23:20
Level 25로 가기 위해서는 Brute Force(무작위 대입 공격)를 수행해야 한다. 다행히 숫자로만 구성된 10000개 정도의 대입이라 간단하게 수행이 가능하다. 우선 nc 명령어로 문제에 나온대로 localhost에 Listening 중인 30002번 포트로 연결을 한다. 연결을 하면 비밀번호와 핀 코드를 입력하는 방법에 대한 설명이 나온다. 형식에 맞춰 둘 사이를 한 칸 띄우고 한 줄에 입력을 해본다. Wrong! ...이 나오며 다시 시도를 하라고 한다. 비밀번호와 핀 코드를 연결한 Brute Force 수행을 위해 Shell Script를 작성한다. 새로 디렉터리를 생성하고, brute.sh 라는 이름으로 작성한다. Shell Script는 비밀번호를 입력하고, 핀 코드에 해당하는 i의 값..
-
[Bandit] Level 24Wargame/Bandit 2022. 9. 9. 03:51
Level 24로 가기 위한 문제는 해결하는 것이 좀 어려웠다. 우선, 문제의 주의사항부터 두 개나 된다. 첫 번째 주의사항은 나만의 Shell Script를 작성해야 한다. 두 번째 주의사항은 작성한 Shell Script가 실행 후 사라지기 때문에 어딘가에 복사를 해 두라고 한다. 무슨 말인지 잘 모르겠으니 주의사항을 기억하면서 문제를 풀어보자. 앞의 문제들처럼 /etc/cron.d/ 디렉터리로 간다. cronjob_bandit24 파일을 읽어보면 /usr/bin/cronjob_bandit24.sh 스크립트를 실행하는 것을 알 수 있다. 해당 스크립트를 읽어보면, 먼저 bandit24의 이름으로 /var/spool/bandit24/foo/ 디렉터리로 이동한다. 다음으로 echo를 띄우는데, 그 내용이..
-
[Information Gathering] Brute Force & Dictionary AttackPenetration Test/Information Gathering 2022. 9. 9. 03:11
두 공격의 뜻을 적자면 이러하다. - Brute Force : 무차별 대입 공격 - Dictionary Attack : 사전 공격 이름에서 알 수 있듯, 이 둘은 대입을 통해 해당하는 정보를 알아내는 공격 방법이다. Brute Force는 가능한 모든 것을 무차별하게 대입해 알아내는 방법이라면, Dictionary Attack은 마치 단어 사전을 보듯이 그 파일에 있는 것들을 대입하여 알아내는 방법이다. Brute Force는 Burp Suite의 Intruder 기능을 이용하도록 하겠다. DVWA 환경 내 admin 계정의 비밀번호에 대해 Brute Force를 시도해본다. Burp Suite을 이용하기 위한 기본적인 설정을 한 후 DVWA의 웹 페이지에서 로그인을 시도한다. Intercept한 Req..