(1) Bandit
(2) 이전 문제 풀이
이전 문제는 똑같이 cron을 사용하는 문제다.
자동으로 특정 디렉터리에 파일을 특정 사용자로 실행하고, 자동으로 삭제한다.
이 프로그램으로 쉽게 비밀번호를 복사했다.
Bandit 워게임 풀기 [level23 -> level24]
(1) Bandit (2) 이전 문제 풀이 이전 문제는 요즘 많이 풀었던, cron을 이용한 문제였다. sh파일을 사용해 bandit23의 디렉터리를 알아내, 디렉터리로 가서 비밀번호를 알아냈다. Bandit 워게임 풀기 [level22
suhyeokdevlog.tistory.com
(3) level24 -> level25
이번 문제는 30002포트에서 듣고 있고, bandit24의 비밀번호와 4자리 비밀코드를 주면 된다고 한다.
brute forcing이라는 방식으로 만들라고 한다.
일단 gpt에 물어보자
위의 코드를 참조해서, 코드를 짜보자.
일단 tmp디렉토리에 새로운 폴더를 만들어서, 그 안에 sh파일을 만들어준다.
이런 식으로 코드를 짜주었다.
passwd에다 bandit24의 비밀번호를 넣어주고, code로 for문으로 무작위 생성 후
두 개의 데이터를 띄어쓰기로 구분하여 nc명령어로 30002 포트에 바로 보내준다.
그 후에 실행결과를 passwd_result라는 파일에 저장해 준다.
그런데 뭔가 이상하다.
변수명인데 계속 명령어로 인식을 한다. 혹시 변수명이 문제인지, 변수명을 계속 변경하던 차에
구글링 해보니, 띄어쓰기가 없어야지 변수로 인식한다고 한다.
*연관링크*
[ shell script ] command not found 시 확인해야할 부분
쉘스크립트 작업을 하다가 정말 별거 없는 스크립트인데 실행시켜보면 command not found가 뜬다. 그것도 변수명인데 해당 변수명의 command를 찾지 못하겠다니??? RECENTFILE : command not found #!/bin/sh RECENTFI
brocess.tistory.com
위와 같이 띄어쓰기가 없어야 된다고 한다.
이제 다시 실행해 보고 조금 기다리자.
참고로, chmod명령어로 권한을 줘야지 정상적으로 실행이 가능하다.
무작위 대입으로, 시간이 오래 걸린다.
사진이 날아가서 더 이상 사진은 없지만,
코드가 실행되고 나면,
passwd_result에 저장이 된다.
그럼 그파일에서 uniq명령어로 한 가지 다른 줄이 있다.
그 줄이 비밀번호를 나타낸다.
bandit25의 비밀번호는 "p7TaowMYrmu23Ol8hiZh9UvD0O9hpx8d"이다.