OverTheWire - Bandit
강의목차: Level 7 → Level 8(grep)
Bandit 웹페이지
https://overthewire.org/wargames/bandit/
1. Bandit Level 7 → 8
Level Goal
The password for the next level is stored in the file data.txt next to the word millionth
Commands you may need to solve this level
man, grep, sort, uniq, strings, base64, tr, tar, gzip, bzip2, xxd
다음 레벨 패스워드는 data.txt 파일 내부에 "millionth" 단어 옆에 있다.
Level 7 접속
$ ssh -p 2220 bandit7@bandit.labs.overthewire.org
패스워드: z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
$ ls
$ ls -al
→ 숨김파일 있는지 확인
$ file ./data.txt
→ data.txt 파일 형태 확인
$ more ./data.txt
→ more 명령어 사용 ( cat 과 비슷하지만 1페이지씩만 보여준다 ) 하여 data.txt 파일 출력
데이터를 확인해보니 좌측에는 '키' , 우측에는 '값'이 존재한다.
좌측의 '키'는 사람이 읽을 수 있는 데이터, 우측의 '값'은 암호로 보인다.
$ cat ./data.txt
→ cat 명령어를 사용해보니 data.txt 파일 내부에 수많은 데이터들이 존재한다.
일일히 찾기는 어려울거 같으므로 grep 명령어를 사용해본다.
grep 명령어
리눅스에서 grep 명령어는 특정 파일에서 지정한 문자열이나 정규표현식을 포함한 행을 출력해주는 명령어이다.
사용법
grep [옵션][패턴][파일명]
문자열로 찾기
# 특정 파일에서 'error' 문자열 찾기
grep 'error' 파일명
# 여러개의 파일에서 'error' 문자열 찾기
grep 'error' 파일명1 파일명2
# 현재 디렉토리내에 있는 모든 파일에서 'error' 문자열 찾기
grep 'error' *
# 특정 확장자를 가진 모든 파일에서 'error' 문자열 찾기
grep 'error' *.log
정규 표현식으로 찾기
# 특정 파일에서 문자열이 포함된 행을 찾는다.
grep '^[ab]' 파일명
# 특정 파일에서 a로 시작하는 모든 단어를 찾는다.
grep 'a*' 파일명
# 특정 파일에서 a로 시작하고 z로 끝나는 5자리 단어를 찾는다.
grep 'a...z' 파일명
# 특정 파일에서 a,b,c로 시작하는 단어를 모두 찾는다.
grep [a-c] 파일명
# 특정 파일에서 apple 또는 Apple로 시작하는 단어를 모두 찾는다.
grep [aA]pple 파일명
# 특정 파일에서 a나 b로 시작되는 모든 행을 찾는다.
grep '^[ab]' 파일명
# 특정 파일에서 apple로 시작되고 0나 9의 숫자로 끝나로 시작되는 모든 행을 찾는다.
grep 'apple'[0-9] 파일명
옵션
-c : 일치하는 행의 수를 출력한다.
-i : 대소문자를 구별하지 않는다.
-v : 일치하지 않는 행만 출력한다.
-n : 포함된 행의 번호를 함께 출력한다.
-l : 패턴이 포함된 파일의 이름을 출력한다.
-w : 단어와 일치하는 행만 출력한다.
-x : 라인과 일치하는 행만 출력한다.
-r : 하위 디렉토리를 포함한 모든 파일에서 검색한다.
-m 숫자 : 최대로 표시될 수 있는 결과를 제한한다.
-E : 찾을 패턴을 정규 표현식으로 찾는다.
-F : 찾을 패턴을 문자열로 찾는다.
$ grep 'millionth' data.txt
→ 'millionth' 문자열을 data.txt 파일에서 찾아라.
패스워드: TESKZC0XvTetK0S9xNwm25STk5iWrBvP
$ grep 'millio...' data.txt
→ 'millio' 로 시작하는 9자리 단어 data.txt 파일에서 찾는다.
millionth 를 포함한 여러 단어들이 검색된다.
$ cat ./data.txt | grep millionth
→ 현재 위치의 data.txt 에서 | grep 으로 millionth 단어 찾기
→ data.txt 파일의 cat 결과를 grep 명령어 millionth 단어로 필터링 한다.
# shift + \ 을 입력하면 | ( 파이프라인 ) 기호가 나온다.
패스워드: TESKZC0XvTetK0S9xNwm25STk5iWrBvP
$ exit ( ssh 접속 상태에서 홈으로 나가기 )
Level 8 로그인 시도
$ ssh -p 2220 bandit8@bandit.labs.overthewire.org
Level 8 패스워드: TESKZC0XvTetK0S9xNwm25STk5iWrBvP
$ whoami
$ id
입력하여 현재 로그인한 계정 확인
취미로 해킹1 강의 : https://www.inflearn.com/course/linux-3
'보안 > Bandit 워게임' 카테고리의 다른 글
OverTheWire - Bandit : Level 9 → Level 10 (0) | 2023.04.05 |
---|---|
OverTheWire - Bandit : Level 8 → Level 9 (0) | 2023.04.04 |
OverTheWire - Bandit : Level 6 → Level 7 (0) | 2023.03.31 |
OverTheWire - Bandit : Level 5 → Level 6 (0) | 2023.03.30 |
OverTheWire - Bandit : Level 4 → Level 5 (0) | 2023.03.29 |