일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- BOJ
- 숙명여자대학교 정보보안 동아리
- hackctf
- hackerrank
- 드림핵
- HTML
- c
- 기계학습
- The Loard of BOF
- 숙명여자대학교 정보보안동아리
- 생활코딩
- 웹페이지 만들기
- 백준
- XSS Game
- SWEA
- 풀이
- Javascript
- siss
- 파이썬
- CSS
- BOJ Python
- WarGame
- 자료구조 복습
- Python
- Sookmyung Information Security Study
- 머신러닝
- lob
- PHP 웹페이지 만들기
- C언어
- c++
- Today
- Total
혜랑's STORY
[2021 겨울 시스템 2주차 : Bandit:Over the wire Level5 -> Level10] 본문
[2021 겨울 시스템 2주차 : Bandit:Over the wire Level5 -> Level10]
hyerang0125 2021. 1. 17. 21:54Level 5 -> 6
문제를 해결하기 위해 전 레벨을 통해 얻은 비밀번호를 사용하여 로그인 해 주었다.
주어진 문제를 통해 비밀번호가 들어있는 파일은 inhere 디렉토리 안에 있으며, -human-readable한 파일이며, 1033 바이트에 실행 불가능한 파일이라는 것을 알 수 있었다.
따라서 나는 정말 inhere 디렉토리가 있는지 확인해 보았고 inhere 디렉토리로 이동하여 크기가 1033 바이트 이상인 파일을 검색해 보았다.
그 결과 maybehre07 디렉토리의 file2 파일에 비밀번호가 담겨 있다는 것을 알 수 있었고, 비밀번호는 다음과 같이 알아낼 수 있었다.
Level 6 -> 7
앞서 알아낸 비밀번호를 통해 6레벨로 이동할 수 있었다.
주어진 문제에 따라 find 명령어를 통해 소유자가 bandit7이면서 그룹이 bandit6이고 크기가 33바이트인 파일들을 찾아 보았다.
많은 파일 중 접근권한 없는 파일을 제외하면 "/var/lib/dpkg/info/bandit7.password"라는 파일을 찾을 수 있었다. 이 파일을 열어본 결과 7레벨로 가는 비밀번호를 얻을 수 있었다.
Level 7 -> 8
앞서 알아낸 비밀번호를 통해 7레벨 문제에 접속해 주었다.
문제에서 주어진 힌트를 통해 비밀번호가 data.txt 파일에 millionth 단어 다음에 존재한다는 것을 할 수 있었다. 따라서 ls 명령어를 통해 data.txt 파일이 정말 존재하는지 알아보았다. 그 후 grep 명령어를 통해 'data.txt'에 'millionth' 단어를 찾아 보았다.
문제에서 주어진 힌트대로 역시 'millionth' 단어 뒤에 비밀번호가 있는 것을 알 수 있었다.
Level 8 -> 9
앞서 얻은 비밀번호를 통해 8레벨에 접속해 주었다.
문제를 통해 9레벨로 가는 비밀번호는 data.txt에 존재하는데 딱 1번만 출현하는 문장이라는 것을 알 수 있었다. cat 명령어를 통해 data.txt 파일을 그냥 실행시켜 보았더니 이런 문장이 나왔다.
주어진 "grep, sort, uniq, string, base64, tr, tar, gzip, bzip2, xxd" 명령어를 사용해야 하는데 uniq 명령어가 쓸모있을 거 같아서 uniq 명령어에 대하여 알아보았다.
uniq
- 중복된 내용의 행이 연속으로 있으면 하나만 남기고 삭제한다. 전체적으로 분산된 중복은 찾아내지 못하기 때문에 정렬하여 순차적으로 만든 뒤에 적용한다.
옵션 | 설명 |
-c | 같은 라인이 몇 번 나오는지를 표시 |
-d | 중복되어 나오는 라인 중 한 라인만 표시 |
-D | 중복되는 모든 라인을 표시 |
-N | 필터링은 무시할 라인을 설정. 시작 라인으부 N번째 라인까지는 검사하지 않는다. |
-i | 중복 라인을 한 라인으로 생각하고 출력 |
-u | 중복 라인이 없는 것만 출력 |
-w | N번째 문자까지만 비교대상으로 하여 uniq 명령을 수행 |
-s | N번째 문자까지는 비교대상에서 제외하고 uniq 명령을 수행 |
-f | N번째 필드를 비교대상에서 제외하고 uniq 명령을 수행 |
역시 uniq명령어가 사용되는 것 같다. sort 명령어를 사용하여 파일의 내용을 정렬한 뒤, uniq 명령어를 통해 유일한 문장(비밀번호)를 찾아 주었다.
Level 9 -> 10
앞서 얻은 비밀번호를 통하여 9레벨에 접속하였다.
문제를 통해 다음 비밀번호는 data.txt 파일에 저장되며, 사람이 읽을 수 있으며 여러개의 '='문자 앞에 나오는 문자열 중 하나라는 것을 알 수 있었다.
ls -al 명령을 통하여 파일을 확인해 본 결과 홈디렉토리에 data.txt 파일이 있는 것을 확인할 수 있었다. 문자열을 찾기 위해 grep 명령어를 사용하는데 strings 명령어를 사용하면 프로그램 안에서 사용된 문자열을 출력해준다고 하여 같이 사용하였다. 그 실행 결과는 다음과 같다.
총 4개의 문자열을 얻어낼 수 있었다. 이제 비밀번호를 찾기 위해 하나씩 대입해 보기로 하였다. 차례대로 입력해본 결과 맨 마지막 문자열인 "truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk"가 비밀번호라는 것을 알 수 있었다.
'2021 SISS 21기 활동 > 겨울방학 System' 카테고리의 다른 글
[LOB RedHat] Lv 2. gremlin -> cobolt (0) | 2021.01.30 |
---|---|
[LOB RedHat] Lv 1. gate -> gremlin (0) | 2021.01.20 |
[2021 겨울 시스템 2주차 : 달고나 문서 정리(5 마무리)] (0) | 2021.01.17 |
[2021 겨울 시스템 1주차 : Bandit: Over the wire Level0->Level5] (0) | 2021.01.10 |
[2021 겨울 시스템 1주차 : 달고나 문서 정리(4-5)] (0) | 2021.01.10 |