프롤로그
저번 비밀번호는 lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR 이었고, 그 풀이과정은
2024.02.11 - [보안 스터디/bandit] - [워게임] bandit level4 -> level5 문제 풀이
[워게임] bandit level4 -> level5 문제 풀이
프롤로그 저번 비밀번호는 2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe 이었다. 그 풀이과정은 2024.02.11 - [보안 스터디/bandit] - [워게임] bandit level3 -> level4 문제 풀이 [워게임] bandit level3 -> level4 문제 풀이 프롤로그 le
taesan-smj.tistory.com
여기서 확인할 수 있다.
전체 비밀번호는
2024.02.04 - [보안 스터디/bandit] - [워게임] bandit 답지 정리
[워게임] bandit 답지 정리
프롤로그 비밀번호 중간중간마다 까먹을 수 있으니, 각 풀이과정과 비밀번호 정리해두는 글 Level0 -> Level1 비밀번호 : NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL 2024.02.04 - [보안 스터디/bandit] - [워게임] bandit level0 -
taesan-smj.tistory.com
여기있다.
되게 오랜만에 문제풀어서(말레이시아 + 코로나라서 문제 풀 여유가 되지 않음)
다 까먹었을 거 같다.
문제
https://overthewire.org/wargames/bandit/bandit6.html
OverTheWire: Level Goal
We're hackers, and we are good-looking. We are the 1%. <!-- Please read and accept the Rules! --> Level Goal The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties: human-readable 10
overthewire.org
inhere 디렉터리 안에 저장되어 있는데, 해당 파일은 사람이 읽을 수 있고 1033바이트이고, 실행불가능하다
명령어들
ls | 현재 작업중인 디렉터리 또는 지정된 디렉터리 내에 있는 파일과 서브 디렉터리 목록 표시 -l : 긴 형식으로 파일의 상세 정보 표시 -a : 숨겨진 파일 포함 모든 파일 표시 -h : 파일 크기를 쉽게 읽을 수 있게 표시 -r : 역순 표시 -t : 최종 수정 시간 순 정렬 쓰고 싶다면 ls -la 이런식으로 사용 |
cd | 현재 작업 중인 디렉터리를 변경할 때 사용 cd [디렉터리 경로] 이때, cd만 입력하면 홈 디렉터리(또는 cd ~) cd .. : 상위 디렉터리 로 사용할 수도 있다. |
cat | 표준 출력으로 보여주기 또는 파일의 내용을 연결하여 ㅊ ㅜㄹ력하거나 새로운 파일 생성 cat [옵션] [파일명] cat - n 파일명을 하면 각 라인 앞에 번호를 붙여서 출력을 해준다. |
file | 파일의 내용을 조사하여 어떤 종류의 데이터를 포함하는 지 식별 file [옵션] [파일명] file ex.txt : 단일 파일의 유형 확인 file * : 디렉터리 내 모든 파일의 유형 확인 |
du | 파일 또는 디렉터리가 차지하는 디스크 공간의 양 확인 du [옵션] [파일 또는 디렉터리] du : 현재 디렉터리 디스크 사용량 du - h : 사람이 읽기 쉬운형태로 현재 디렉터리 디스크 사용량 확인 |
find | 파일이나 디렉터리 검색할 때 사용 find [경로] [옵션] [표현식] find . : 현재 디렉터리와 하위 디렉터리에서 모든 파일 및 디렉터리 나열 find . -name "*.txt" : txt확장자의 모든 파일 찾기 find . -type d : 디렉터리만 찾기 이런식으로 사용할 수 있다. |
풀이전략
저번과 똑같이, 일단 file *로 파일 전체가 어떤 형식으로 되어있는지 확인한다.
그리고 1033바이트 사이즈라고 하니, find를 이용하여 file이고, 1033바이트 파일을 찾으면 되지않을까?
문제풀이
일단 접속하자.
ssh bandit5@bandit.labs.overthewire.org -p 2220
lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR
그 다음 ls 로 확인해보자.
inhere폴더가 있고, 안에 들어가서 ls를 확인해봤더니 파일들이 굉장히 많았다.
file *로 확인해봒더니
file *
싹 다 디렉터리였다.
저기 내부에 각각 엄청난 양의 파일들이 존재하고 거기서 파일을 찾아야하는 것이니까 굉장히 복잡해진다.
이제 쓰일 것은 find 명령어이다.
find 명령어를 조금 정리해보자.
find명령어
find [경로] [옵션] [동작]
이게 기본 명령어이다.
옵션들을 한 번 볼까?
-mtime | 수정시간 기준 ex) find . -mtime -1 (24시간 이내 수정) |
-size | 특정 크기의 파일 찾기 |
-type | 파일 유형 검색하기 |
자 보면, 우리가 찾아야할 파일은 size는 1033이고, 파일이어야 한다.
파일 유형을 좀 볼까?
b | 블록 특수 파일 |
c | 문자 특수파일 |
d | 디렉터리 |
p | 이름이 있는 파이프(FIFO) |
f | 일반 파일 |
l | 심볼릭 링크 |
s | 소켓 |
d | 도어 |
즉, 우리가
찾아야하는 건 일반파일이니 -type f 하고 뒤에 -size 1033을 붙이면 될 것이다.
해보자.
find . -type f -size 1033c
여기서 c가 무엇이냐?
c는 바이트 단위를 의미한다. b는 블록, k는 킬로, m은 메가, g는 기가를 의미한다.
해보니까 7번 에서 file2번이 우리가 찾던 파일인 것 같다. 저게 이제 실행불가능한지 실제로 확인해볼까?
x가 없으니 실행 불가능한 파일이다.
저 파일을 cat으로 읽어보자.
cat ./.file2
비밀번호는
P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
이다.
에필로그
오랜만에 해서 다 까먹었다...아..
추가적으로 실행 가능한 것은 어떻게 표현할까?
-executable
속성을 이용하면된다.
그러니까
우리가 찾을려고 했던 거 다시 정리하면
find . -type f -size 1033c ! -executable
를 하면 되는 것이다.
'보안 스터디 > bandit' 카테고리의 다른 글
[워게임] bandit level6 -> level7 문제 풀이 (3) | 2024.03.08 |
---|---|
[워게임] bandit level4 -> level5 문제 풀이 (1) | 2024.02.11 |
[워게임] bandit level3 -> level4 문제 풀이 (0) | 2024.02.11 |
[워게임] bandit level2 -> level3 문제 풀이 (1) | 2024.02.10 |
[워게임] bandit level1 -> level2 문제 풀이 (1) | 2024.02.10 |