본문 바로가기
Linux/Bandit

[Bandit] Level 9 → Level 10

by 단월໒꒱ 2022. 1. 5.

 

 

문제를 보면 이번 비밀번호는 data.txt에 있으며, 사람이 읽을 수 있는 문자열로 몇 개의 = 뒤에 있다고 한다.

 

 

 

 

일단 이전 단계에서 얻은 비밀번호로 접속해준다.

 

 

 

 

중간에 캡쳐본이 생략됐지만, 접속된 상태로 ls 명령어를 통해 존재하는 파일과 디렉터리를 확인했다.

문제에서 말한 data.txt가 바로 있어서 cat 명령어로 내용을 읽었더니 위와 같은 화면이 나왔다.

읽을 수 없는 문자들로 대부분 이루어져 있어 내용을 파악하기 힘들다.

적당한 명령어를 찾기 위해 문제에 있는 힌트를 살펴보았다.

 

그 중 strings 명령어를 사용하기로 했다.

 

 

 $ strings [옵션] [파일명]

      : 파일의 ASCII 문자를 찾아 화면에 출력한다.

    # -a (all) : 파일을 검색하고 데이터 섹션까지 검색

    # -f (print file name) : 각 문자열 전에 파일명을 출력합니다.

    # -n=[number] (bytes) : 찾자 & 적어도 모든[숫자]문자에서 NULL로 끝나는 순서로 출력

    # -t={o,d,x} (radix) : 문자열의 위치를 8,10,16진수로 출력합니다.

    # -T=<BFDNAME> (target) : 바이너리 파일 형식을 지정한다

 

 

 

 

strings 명령어를 사용하니 아스키문자만을 찾아서 출력되었다.

이 문제의 경우 파일이 그리 길지 않아 눈으로 훑어서 찾을 수 있지만 그럴 수 없는 경우를 생각하여 다른 방법을 고민해보았다.

 

앞선 단계에서 사용했던 grep 명령어를 사용해보았다.

 

 

 

 

위의 명령어에 grep 명령어를 더하여 = 이 들어간 라인을 출력하니 위의 화면과 같이 좀 더 간단하게 나오는 것을 확인할 수 있다.

이렇게 원하던 비밀번호를 구할 수 있었다.

 

 

11단계 진입 비밀번호 : truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk

'Linux > Bandit' 카테고리의 다른 글

[Bandit] Level 8 → Level 9  (0) 2022.01.05
[Bandit] Level 7 → Level 8  (0) 2022.01.05
[Bandit] Level 6 → Level 7  (0) 2022.01.05
[Bandit] Level 5 → Level 6  (0) 2022.01.05
[Bandit] Level 4 → Level 5  (0) 2022.01.01

댓글