Bandit Level 24 입니다.
이번에도 쉘 스크립트 코드를 짜야 합니다.
30002번 포트에서 listen중인 데몬에게, bandit24의 password와 4자리 숫자로 구성된 비밀번호를 전달하면 bandit25의 password를 획득할 수 있다고 합니다.
단, 획득할 수 있는 방법은 10000가지의 비밀번호를 전부 대입해 보는 방법밖에는 없다고 합니다.
전부 하나하나 손으로 입력해야 할까요? 아니죠. brute-force(무작위 대입) 공격을 사용해야 합니다.
일단 포트를 확인해 보도록 하죠.
nc로 30002번 포트에 접속하여, 입력값을 전달해 보았습니다.
포트는 문제가 없어 보입니다. 입력도 잘 되고요.
이제, 30002번 포트에게 0000부터 9999까지 자동으로 입력해 줄 코드를 짜보도록 하겠습니다.
#!/bin/bash
bandit24=VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar
for i in {0000..9999}
do
echo $bandit24 $i>> brute_force.txt
done
짧은 코드입니다. 반복문을 이용해서 0000부터 9999까지 반복하도록 하고 그 값을 brute_force.txt 파일에 저장하는 기능입니다.
chmod u+x exploit.sh
실행 권한이 없기 때문에, 바로 실행하면 실행이 안되실 겁니다.
chmod 명령어로 실행권한을 부여해 줍시다.
그리고 실행!
exploit.sh 프로그램을 실행하여, 성공적으로 brute_force.txt 파일이 생성되었습니다.
파일을 확인해 봅시다.
성공적으로 입력할 패스워드가 들어가 있는 모습입니다.
이 파일을 localhost 30002 포트에 전달하면 되겠습니다.
cat brute_force.txt | nc localhost 30002
이렇게 성공적으로 password를 획득할 수 있었습니다!
'Hacking > [System]Bandit' 카테고리의 다른 글
OverTheWire [Bandit Level 27] (0) | 2023.04.03 |
---|---|
OverTheWire [Bandit Level 25] (0) | 2023.04.02 |
OverTheWire [Bandit Level 23] (0) | 2023.04.02 |
OverTheWire [Bandit Level 22] (0) | 2023.04.02 |
OverTheWire [Bandit Level 21] (0) | 2023.04.02 |