(1) Bandit
(1) 이전 문제 요약
이전 문제는 사람이 읽을 수 있고, 1033바이트 크기,
실행불가능한 파일을 읽어내는 것이었다.
find 명령어를 사용해서 수행하면 되었다.
Bandit 워게임 풀기 [level5 -> level6]
(1) Bandit (1) 이전 문제 요약 이전 문제는 이번 목표는 inhere 디렉토리의 사람이 읽을 수 있는 파일 즉, 흔히 말해서 그냥 텍스트 파일을 찾는 것이었다. 그냥 하나씩 찾아도 되지만 시간상 file명령
suhyeokdevlog.tistory.com
(2) level6 -> level7
이번 문제는 서버 어딘가(경로 모름)에 존재하고
bandit7사용자, bandit6그룹의 사용자에게 속해있다.
또한, 33바이트의 크기를 가진 파일에 저장이 되어있다고 한다.
일단 저번 문제를 더듬어서 찾아보면 find 명령어로 일정 크기의 파일을 찾을 수 있다.
"find [경로] -size [크기]"의 형태로 나타낸다.
일단 경로를 모르니까 최상위 경로에서 찾아보기로 하자.
일단 그냥 대충 봐도 되게 많은 에러들과 파일들을 볼 수 있다.
위에서 받은 힌트들로 gpt를 돌려보면
-user, -group 옵션을 같이 사용하면 된다고 한다.
바로 -size옵션과 같이 사용해보면 또 권한 오류가 발생하는것을 볼 수 있다.
이럴땐 저번에 칼리리눅스 공부할때 배운
표준 파일 입출력(아래표 참고)을 사용해서 리다렉션을 해주면된다.
표준 입력 | 0 |
표준 출력 | 1 |
표준 에러 | 2 |
여기서는 위의 표에 나오는 표준에러를 보기 싫어한다.
그래서 우리가 쓰레기통이라고 부르는 "/dev/null"경로로 에러메세지를 보내자
리다렉션으로 "[원하는 정보] 2> /dev/null"을 하면 표준에러(숫자 2로 표시함)를
리다렉션하고 우리가 원하는 표준 출력만 나올것이다.
우리가 원하는 파일을 찾은것 같다.
ls 명령어로 다시 찾아보면
위의 사진과 같이 소유자와 그룹도 일치하는것을 볼 수 있다.
이번에는 좀 길었지만 비밀번호를 알아냈다.
bandit7의 비밀번호는 "z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S"이다.
*p.s*
<"/dev/null"이 쓰레기통인 이유>
자세한 이유는 모르지만
IBM 홈페이지에 따르면
/dev/null 파일은 특수 파일입니다. 이 파일은 고유한 특성이 있고 항상 비어 있습니다.
따라서 /dev/null에 전송된 데이터는 버려집니다.
이 기능은 사용자가 무시하려는 출력을 생성하는 명령이나 프로그램을 실행할 때 매우 유용합니다.