반응형

overthewire.org 문제 풀이 / Bandit Level 24 → Level 25

 

우선 netcat으로 localhost의 30002에 접근해 봅니다. 

그러면 bandit24의 패스워드와 pincode를 한줄에 입력하라고 합니다. 

그 두 데이터는 스페이스로 분리하라고 합니다. 

아래와 같이 두 데이터를 입력하는 방법을 알았으니, pin code를 찾도록 하겠습니다.  

 

brute-forcing.sh 이라는 스크립트를 만들어 bandit24의 패스워드와 0000부터 9999까지 출력하는 부분을 list.txt에 넣도록 합니다. 이제 이 list.txt 파일을 netcat의 전달인자로 넣어보겠습니다. 

아래와 같이 명령어를 실행합니다. 

그러면 어느 순간엔가 정확한 pincode를 찾게되고, bandit25의 패스워드를 확인할 수 있습니다.

반응형
반응형

overthewire.org 문제 풀이 / Bandit Level 23 → Level 24

 

 

아래 shell script를 분석해보겠습니다.

먼저 /var/spool/bandit24/ 디렉토리로 이동합니다. 

이 디렉토리 안에 "."와 ".."이 아닌 파일이 있다면, 그 파일을 다룹니다. 

그리고 그 파일의 owner를 확인합니다. 

owner가 bandit23이라면 60초 이후에 한번 실행하고, 그 파일이 삭제됩니다. 

bandit24 권한으로 파일을 실행하기 때문에 bandit24 권한으로 실행할 수 있는 bandit24 패스워드 파일을 열어보도록 합니다. 그 파일을 열어, 내용을 /tmp/test24/bandit24_pass 파일에 복사하도록 하여 패스워드를 확인할 수 있습니다.

반응형
반응형

overthewire.org 문제 풀이 / Bandit Level 22 → Level 23

 

 

먼저 /etc/cron.d/ 디렉토리의 cronjob_bandit23의 내용을 확인합니다. 

내용을 보면 /usr/bin/cronjob_bandit23.sh를 실행하는 것으로 보이고, 

cronjob_bandit23.sh는 /etc/bandit_pass/$myname의 내용을 /tmp/$mytarget에 쓰게됩니다. 

 

우리가 원하는 비밀번호는 bandit23이기 때문에 $myname은 bandit23이 될 것이고,  

"echo I am user bandit23 | md5sum | cut -d ' ' -f 1"를 실행해보면, bandit23의 패스워드가 저장될 경로가 출력됩니다.

 

그 경로에 있는 내용이 바로 bandit23의 패스워드입니다.

반응형
반응형

overthewire.org 문제 풀이 / Bandit Level 21 → Level 22

 

먼저 /etc/cron.d/ 디렉토리를 보겠습니다. 

cronjob_bandit22 파일의 내용을 보면 /usr/bin/cronjob_bandit22.sh를 실행하는 것으로 보입니다. 

/usr/bin/cronjob_bandit22.sh 파일의 내용을 보면 /tmp/t.....gv 파일의 권한을 설정합니다. 

그리고 /etc/bandit_pass/bandit22 패스워드 파일을 이 파일에 출력하게 되어 있습니다.

즉, 이 /tmp/t706...fgv 파일에 bandit22의 패스워드를 출력하는 것인데, 이 파일을 열어보면 패스워드를 확인할 수 있습니다. 

반응형

+ Recent posts