Post

[wargame] overthewire bandit 24 -> 25

Bandit Level 24 -> Level 25

user_id : bandit24
password : gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8

목표

image

데몬은 포트 30002에서 듣고 있으며, bandit24의 암호비밀 숫자 4자리 핀코드가 주어지면 bandit25의 암호를 알려줍니다. 10000 가지 조합을 모두 거치는 것 외에는 핀코드를 검색할 수 있는 방법이 없습니다. 매번 새 연결을 만들 필요가 없습니다

  1. 30002번 포트는 열려있다
  2. bandit24의 암호 + 비밀 숫자 4자리 를 보내면 bandit25의 암호를 돌려준다
  3. 비밀 숫자는 10000가지 조합중 하나이다
  4. 한번 연결하면 굳이 새 연결을 만들 필요가 없다

해결법

간단한 brute force공격 문제이다

스크립트를 만들고 무차별 대입을 해보자

image

일단 혹시해서 nmap을 통해 포트 스캐닝을 해보니 30002번 포트가 열려있는 것이 확실해 졌다

image

스크립트 생성을 위해 하던대로 내 작업장을 만들었다

btureforce를 위한 비밀번호 조합 생성 스크립트는 다음과 같다

1
2
3
4
5
6
7
#!/bin/bash
pwd24=gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8

for i in {0000..9999}
do
    echo $pwd24 $i >> pwdlist.txt
done

image

리스트를 만들고 나면 이제 접속을 시도해 보자

ERROR

image

혹시 나처럼 결과가 반복문이 실행되지 않는 분들을 위해 하나 말하자면

실행할 때 sh로 실행하는 것이 아니라

image

이렇게 ./로 실행해 보아라

물론 실행하기 전에 권한도 줘야하고

스크립트 실행하는 방법에 따른 차이점이 글을 읽고 나면 어느정도 이해가 간다

bash쉘이 아니라 sh 기본 쉘로 실행되다 보니 반복문의 { } 부분을 이해하지 못한 것 같다

다시 접속

그럼 이제 만들어진 리스트를 가지고 접속을 시도해보자

image

순식간에 결과가 나왔다

역시 한번 틀려봐야 지식이 늘어난다

비밀번호 : iCi86ttT4KSNe1armKiwbQNmB3YJP3q4

This post is licensed under CC BY 4.0 by the author.