Level 0
Goal
The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password is bandit0. Once logged in, go to the Level 1 page to find out how to beat Level 1.
-개념 정리
SSH(Secure Shell)
네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.
출처
https://ko.wikipedia.org/wiki/%EC%8B%9C%ED%81%90%EC%96%B4_%EC%85%B8
시큐어 셸 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rsh, rlogin, 텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다. SSH는
ko.wikipedia.org
-풀이
원격ssh(putty)로 접속. Host name에 bandit.labs.overthewire.org 를 port에 2220 입력
username는 bandit0로 login as에 입력하면 password를 치라 나온다.
password는 bandit0 이고 칠때 안보인다. password가 일치하면 아래와 같은 내용이 나온다.
level 0 -> level 1
Goal
The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH (on port 2220) to log into that level and continue the game.
-개념 정리
ls
list directory contents에서 유래된 명령어로 해당 디렉토리 내에 있는 디렉토리 및 파일을 화면에 출력한다.
$ ls [옵션] [파일/디렉토리]
간단하게 ls 명령어의 옵션을 간단히 알아보면 다음과 같다.
-a 디렉토리 안에 있는 모든 파일과 디렉토리를 보여준다. all
-l 파일에 대한 정보를 자세하게 보여준다. 사용자의 권한, 소유자 그룹, 크기, 날짜 등을 자세하게 보여준다. list
cat
concatenate 또는 catenate에서 따온 이름으로 파일이름을 인자로 받아서 그 내용을 쭉 이어주는 역할을 한다.
결국 어떤 내용을 받아서 그냥 그대로 터미널 화면에 뿌려주는 역할을 한다.
$ cat [옵션] [파일명]
간단 사용법
$ cat file
$ cat file1 file2 file3
즉 파일 한 개 이상의 내용을 화면에 출력할 때 이용한다. 한 화면을 넘어가더라도 그냥 쭉 계속해서 출력한다. 만약 내용이 한 화면이상이면 제대로 읽을 수 없기 때문에 보통 more, less 명령어와 같이 사용한다.
출처
http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/ls
Linux/기본명령어/ls
# 리눅스 기본명령어 - ls
www.incodom.kr
http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/cat
Linux/기본명령어/cat
#리눅스 기본명령어 - cat
www.incodom.kr
-풀이
next level password: boJ9jbbUNNfktd78OOpsqOltutMc3MY1
level 1 ->level 2
Goal
The password for the next level is stored in a file called - located in the home directory
-개념 정리
파일 이름에 특수문자가 포함된 경우 (\, -)
특수문자로 인해 정상적으로 삭제가 안될 경우, 특수문자 앞에 파일의 절대 경로나
현재 경로를 뜻하는 ./를 붙여 문자로 인식 하게 해주면 됩니다.
ex)
[root@localhost hostway]# rm /home/hostway/\hostway.txt
[root@localhost hostway]# rm ./-hostway.txt
출처
Linux ETC - 이름에 공백이나 특수문자가 포함된 파일 수정,삭제하기
쉘상에서 이름에 공백/특수문자가 포함된 파일을 수정하거나 삭제하기 힘들 경우가 있습니다. 1. 특수문자가 포함된 경우 (\, -) 특수문자로 인해 정상적으로 삭제가 안될 경우, 특수문자 앞에 파일의 절대 경로나 현재 경로를 뜻하는 ./를 붙여 문자로 인식 하게 해주면 됩니다. ex) [root@localhost hostway]# rm /home/hostway/\hostway.txt[root@localhost hostway]# rm ./-hostway.tx
faq.hostway.co.kr
- 풀이
비밀 번호 입력시 하나하나씩 치고 있지 말고 아래의 단축기를 이용하도록 하자.
복사: ctrl+lnsert
붙여넣기: shift+insert
password입력후 cat ./-를 입력하면 해결됨
next level password: CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
level 2 ->level 3
Goal
The password for the next level is stored in a file called spaces in this filename located in the home directory
-개념 정리
파일 이름에 공백이 포함된 경우
공백이 있는 경우는 파일명 앞뒤에 큰 따옴표를 붙여주면 인식하게 됩니다.
ex)
[root@localhost hostway]# rm " hostway.txt"
-풀이
다른 방법으로 cat spaces\ in\ this\ filename도 가능하다
next level password: UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
level 3 ->level 4
Goal
The password for the next level is stored in a hidden file in the inhere directory.
-개념 정리
cd
change directory에서 따온 말로 경로 이동 명령어이다.
$ cd [디렉토리]
이는 해당 디렉토리로 이동하는 명령어이다. 만약 해당 디렉토리가 있다면 해당 디렉토리로 이동을 하지만 없다면 다음과 같이 에러 메시지를 출력한다.
-bash: cd: directory: No such file or directory
따라서 이 경우에는 먼저 해당 디렉토리가 생성되어 있어야 하는데 mkdir를 이용해서 디렉토리를 생성할 수 있다.
추가적으로 점(.)은 현재 디렉토리를 의미한다. 점점(..)은 현재 디렉토리의 상위 디렉토리를 의미한다.
출처
http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/cd
Linux/기본명령어/cd
#리눅스 기본명령어 - cd
www.incodom.kr
-풀이
next level password: pIwrPrtPN36QITSp3EQaw936yaFoFgAB
level 4 ->level 5
Goal
The password for the next level is stored in the only human-readable file in the inhere directory.
Tip: if your terminal is messed up, try the “reset” command.
-개념 정리
file
파일의 종류 확인 및 파일 속성 값을 확인할때 사용하는 명령어
주로 acsii나 text, date와 같은 파일 속성을 출력하는데, /usr/share/magic이나 /usr/lib/magic에 저장한 파일 정보를 참고하여 파일 속성을 출력한다
file [옵션]... filename
출처
https://shaeod.tistory.com/738
[리눅스 명령어] file - 파일 종류 확인 및 정보 출력
※ 요약 리눅스 명령어 file은 파일의 종류 확인 및 파일 속성 값을 확인할때 사용하는 명령어다. 주로 acsii나 text, date와 같은 파일 속성을 출력하는데, /usr/share/magic이나 /usr/lib/magic에 저장한 파일..
shaeod.tistory.com
-풀이
불행하게도 노가다가 필요하다. 아래에는 3번만 적어넣었지만 00~07까지 가봐야 찾을 수 있다.
next level password: koReBOKuIDDepwhWk7jZC0RTdopnAYKh
level 5 ->level 6
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
-
1033 bytes in size
-
not executable
-개념 정리
du
Disk Usage를 의미하며, 지정된 디렉토리의 디스크 사용량을 표시하는 명령어
# du [ 옵션 ] [ 파일 ] [ 디렉토리]
옵션
-a : 디렉토리가 아닌 모든 파일에 대한 정보를 출력
-b : 표시단위를 기본 KB대신 Byte로 한다
기타 사용 예 -GB이상의 디렉토리를 표시하기
# du -h | grep [0-9]G
grep
파일 내에서 지정한 패턴이나 문자열을 찾은 후에, 그 패턴을 포함하고 있는 모든 행을 표준 출력함
물론, 한 디렉토리 내에서 지정한 패턴을 포함하는 파일 출력 가능
grep 명령은 하나 이상의 파일로부터 프로그램 수정 등을 위해 변수, 또는 함수명을 찾을 때 많이 사용됨
$ grep [옵션] [찾을 문자열 정규 표현식] [파일명]
grep은 다른 명령어들과 함께 “필터”로 자주 사용되며 사용자가 명령의 수행결과에서 불필요한 정보를 제거할 수 있도록 함
grep을 필터로 사용하려면, 반드시 명령의 수행 결과를 grep을 통해 파이프(|) 해야 한다.
ex) $ps -aux | grep python
출처
http://faq.hostway.co.kr/Linux_ETC/3817
Linux ETC - 리눅스 du 사용법
리눅스 du 사용법 1. 기능 du 는 Disk Usage를 의미하며, 지정된 디렉토리의 디스크 사용량을 표시하는 명령어 입니다. 2. 형식 # du [ 옵션 ] [ 파일 ] [ 디렉토리] 3. 옵션 -a : 디렉토리가 아닌 모든 파일에 대한 정보를 출력 -k : 결과 값을 KB 단위로 출력(기본값) -m : 결과 값을 MB 단위로 출력 -h : 사용자가 이해하기 쉬운 용량의 단위(KB,MB,GB)...
faq.hostway.co.kr
http://www.dreamy.pe.kr/zbxe/CodeClip/155478
du 명령어 사용법(디스크 용량 확인)
결론. 현재 폴더(하위폴더 포함)의 사용용량을 알고 싶으면 du -sh . 폴더내의 각각 폴더별로도 보고 싶으면 du -h . du-명령어를 이용하면 디렉토리 별로 사용량을 확인할 수 있다 사용방법 du [-옵션] [--세부옵션] [경로] 옵션 -a : 모든 파일들의 기본정보를 보여준다 -b : 표시단위를 기본 KB대신 Byte로 한다 -k : 표시단위르 KB단위로 한다 -h : 사용량을 1K, 234M , 2G 등의 형태로 보여준다 -c : 모든 파일의
www.dreamy.pe.kr
http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/grep
Linux/기본명령어/grep
# 리눅스 기본명령어 - grep
www.incodom.kr
-풀이
next level password: DXjZPULLxYr17uwoI01bNLQbtFemEgo7
level 6 ->level 7
Goal
The password for the next level is stored somewhere on the server and has all of the following properties:
-
owned by user bandit7
-
owned by group bandit6
-
33 bytes in size
-개념 정리
find
파일 및 디렉토리를 검색할 때 사용하는 명령
find [찾을 디렉토리 경로] [옵션]
[찾을 디렉토리 경로]
/ : 루트에서부터 검색을 한다. 즉 전체를 검색한다.
. : 현재 디렉토리를 포함하여 하위 디렉토리까지 검색한다.
/디렉토리 : 지정된 디렉토리에 검색
[옵션]
-size [+파일크기/-파일크기/파일크기][bckw중 택1] : 파일크기와 일치하는 파일
b : 블록단위 512kb
c : byte
k : kbyte
w : 2byte 워드
아무런 단위를 붙이지 않은 경우 : 디폴트 값 b
-user [유저] : 유저와 일치
-group [그룹] : 그룹과 일치하는 파일
출처: https://geundi.tistory.com/37 [Geundi]
파일크기에 +1024k 이렇게 +를 붙이는 경우에는 크기가 1024kbyte 이상인 것을 찾고, -는 그 이하, +,-를 붙이지 않는 경우에는 그 크기의 파일을 찾는다.
출처
리눅스 find 명령어
파일을 찾는 명령어 find 1. 기능 다양한 옵션을 통해 찾고자 하는 파일의 조건을 설정할 뒤 그 조건에 맞는 파일을 검색할 수 있다. 2. 사용법 find [찾을 디렉토리 경로] [찾기옵션] 3. 찾을 디렉토리 경로 / :..
geundi.tistory.com
-풀이
enter을 누르면 밑으로 우다다 글자가 나옴
만족한 파일을 찾았음
next level password: HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs
level 7 ->level 8
Goal
The password for the next level is stored in the file data.txt next to the word millionth
-풀이
level5->6에서 grep이 필터로서 사용될 수 있다는 것을 보였다. 동일한 방법을 이용하였다.
다른 풀이로 grep millionth data.txt도 존재함
next level password: cvX2JJa4CFALtqS87jk27qwqGhBM9plV
level 8 ->level 9
Goal
The password for the next level is stored in the file data.txt and is the only line of text that occurs only once
-개념 정리
uniq
uniq 명령어를 사용하여 파일내용을 출력시 파일 내용안에 중복된 열은 삭제된채로 출력이 됩니다.
(중복되지 않는 열은 그대로 출력됩니다.)
#uniq [옵션] [파일명]
-c : 같은 열에서 중복되서 나오는지 파일명 앞에 숫자로 출력합니다.
-d : 중복되어 나오는 라인 중 한 열만 출력합니다.
-D : 중복되는 모든 열을 출력합니다.
-u : 중복 열이 없는 것만 출력합니다.
sort
파일내의 내용을 정렬하거나 파일의 내용을 병합할때 사용
#sort [옵션] [파일]
-n : 숫자를 기준으로 정렬
-r : 역순으로 정렬
-u : 중복행 제거 (#uniq)
-o : 출력결과를 파일로 저장
필터로서 이용 ex)
# cat /etc/passwd | sort
-> 정렬한다
# cat /etc/passwd | sort >> passwd.sort
-> 정렬해서 다른파일로 저장한다.
# cat /etc/passwd | sort | uniq -c >> passwd.sort
-> 정렬하고 중복을 제거하고 저장한다
-출처
http://faq.hostway.co.kr/Linux_ETC/4497
Linux ETC - 리눅스 uniq 명령어
uniq 명령어를 사용하여 파일내용을 출력시 파일 내용안에 중복된 열은 삭제된채로 출력이 됩니다. (중복되지 않는 열은 그대로 출력됩니다.) 1. 사용방법 #uniq [옵션] [파일명] -c : 같은 열에서 중복되서 나오는지 파일명 앞에 숫자로 출력합니다. -d : 중복되어 나오는 라인 중 한 열만 출력합니다. -D : 중복되는 모든 열을 출력합니다. -u : 중복 열이 없는 것만 출력합니다. 2.EX #cat test (test...
faq.hostway.co.kr
[linux][리눅스 sort 명령어]
# 리눅스 sort 명령어 <기본> # cat /etc/passwd | sort -> 정렬한다 # cat /etc/passwd | sort >> passwd.sort -> 정렬해서 다른파일로 저장한다. # cat /etc/passwd | sort | uniq -c >> passwd.sort -> 정렬하..
linuxmadang.tistory.com
[Linux] 기본명령어 sort
sort -파일내의 내용을 알파벳 순서대로 정렬 형식 #sort [옵션] [파일] 옵션 -n : 숫자를 기준으로 정렬 -r : 역순으로 정렬 -u : 중복행 제거 (#uniq) -o : 출력결과를 파일로 저장 실습 )) - sort_test 디렉토..
goitgo.tistory.com
-풀이
앞에서 설명한 # cat /etc/passwd | sort | uniq -c >> passwd.sort 와-u : 중복행 제거 (#uniq)
응용해서 아래와 같은 결과를 얻을 수 있다.
next level password: UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR
level 9 ->level 10
Goal
The password for the next level is stored in the file data.txt in one of the few human-readable strings, beginning with several ‘=’ characters.
-개념 정리
strings
바이너리 데이터를 문자열로 변환해주는 명령어
strings [바이너리 파일명]
위 명령은 오브젝트 파일에 있는 모든 인쇄 가능한 문자를 화면에 출력함
기본적으로 strings 명령은 실행파일의 ASCII 문자를 찾아 화면에 출력함
필터로서 이용 ex)
& cat [파일이름] | strings | grep [검색할 문자열]
-출처
http://blog.naver.com/PostView.nhn?blogId=bomyzzang&logNo=220217101708
Linux Strings Command 문자열 추출
strings 오브젝트 파일(바이너리 파일)의 내용을 확인하기 위해서 vi 또는 cat 명령을 사용할수 없다, 그렇...
blog.naver.com
-풀이
next level password: truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk
Level 10 ->level 11
Goal
The password for the next level is stored in the file data.txt, which contains base64 encoded data
-개념 정리
base64 명령어
문자열을 base64로 언코드 또는 디코드 해주는 명령어
base64[-옵션][파일명]
-d : base64 디코드, 옵션이 없으면 언코드
-i : 디코딩 할때, 알파벳 아닌 문자 무시
-w : COLS문자 뒤에 줄바꿈 ex)-wrap=COLS
* Base 64 (베이스 육십사)란비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념 [출처-위키백과]
-출처
https://websecurity.tistory.com/84
리눅스(Linux) base64 명령어
strings * base64 란? 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념..
websecurity.tistory.com
-풀이
next level password: IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR
Level 11 ->level 12
Goal
The password for the next level is stored in the file data.txt, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions
-개념 정리
ROT13(Rotate by 13)
단순한 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다.
유닉스 계열 시스템들은 tr(transliterate의 약자)이라는 표준 유틸리티를 지원하기 때문에 다음과 같은 방법으로 ROT13 암호화 및 복호화를 할 수 있다.
$ echo "Or fher gb qevax lbhe Binygvar" | tr 'A-Za-z' 'N-ZA-Mn-za-m'
tr
ranslate 의 약어로서, 지정한 문자를 바꾸어주거나 삭제하는 명령어
tr [옵션] 문자열1 [문자열2]
-d 문자열 1에서 지정한 문자를 삭제 후 출력
-s 문자열 2에서 반복되는 문자를 삭제
-t 문자열1을 문자열 2의 길이로 자름
-출처
https://ko.wikipedia.org/wiki/ROT13
ROT13 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 ROT13은 영어 알파벳을 13글자씩 밀어내는 방식으로 문자들을 치환한다. 예를 들어 'HELLO'는 'URYYB'로 치환된다. ROT13(Rotate by 13)은 단순한 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다. 흔히 ROT-13 혹은 rot13이라고도 쓴다. 예를 들어서 'I LOVE YOU'를 ROT13으로 암호화하면 'V YBIR LBH'가 된다. 이 방법은
ko.wikipedia.org
https://hack-cracker.tistory.com/98
[ Linux - CentOS ] 명령어 tr
linux 기초 -명령어 tr tr tr 명령어는 translate의 약어로써, 지정한 문자를 바꿔주거나 삭제하는 명령어이다. 특정한 문자를 다른 문자로 바꾸거나 또는 특정 문자를 제거하는데 쓰인다. 명령어 사용 #>tr [옵션..
hack-cracker.tistory.com
-풀이
다른 방법으로 cat data.txt | tr ‘n-za-mN-ZA-M’ ‘a-zA-Z’도 있다.
next level password: 5Te8Y4drgCRfCx8ugdwuEX8KFC6k2EUu
Level 12 ->level 13
Goal
The password for the next level is stored in the file data.txt, which is a hexdump of a file that has been repeatedly compressed. For this level it may be useful to create a directory under /tmp in which you can work using mkdir. For example: mkdir /tmp/myname123. Then copy the datafile using cp, and rename it using mv (read the manpages!)
-개념 정리
mkdir
make directory의 약어로서 새로운 디렉토리를 만들때 사용하는 리눅스 명령어
mkdir [옵션] 생성할디렉토리
-m : 디렉토리를 생성할때 권한을 설정, 디폴트는 755
-p : 상위 경로도 함께 생성 ex) mkdir -p /경로/디렉토리명
-v : 디렉토리를 생성 후, 생성된 디렉토리에 대해 메시지 출력
cp
copy의 약어로 파일이나 디렉토리를 복사할때 사용하는 리눅스 명령어
mv
mv 명령을 이용하여 파일 이동(move)을 할 수 있습니다. 같은 폴더에서 파일, 디렉토리 이동을 하는 경우 이름변경 효과가 있습니다.
옵션에 상관 없이 옮길 대상과 옮겨질 경로(혹은 변경될 파일명)는 필수 인자이다.
$ mv [옵션] [원본파일/디렉토리] [사본파일/디렉토리]
xxd
주어진 파일이나 standart input으로 들어온 문자들에 대해서 hex dump(컴퓨터 데이터의 16진법적인 보임새)를 만들어 준다. Endian에 관계 없이 파일에 존재하는 순서대로 나옵니다.
xxd [옵션][file name]
-b : bit로 표시
-l <value> : <value>만큼만 hexdump 함
-p : 포맷이 없는 hexdump를 출력
-s <offset> : <offset>의 위치부터 hexdump를 보여줌
-u : byte를 대문자로 출력
-r : hexdump를 binary로 바꾸는 명령어
tar
압축/해제 리눅스 명령어이자 해당 파일 형식을 말함
여러 파일을 하나의 파일로 묶음
-x : 압축 파일 풀기
-v : 압축 파일 생성
-f : 파일 이름을 지정
gzip
압축 명령어(확장자: .gz)
여러 파일 또는 디렉터리를 하나의 파일로 압축하기 위해 보통 tar와 함께 사용됨
-d : 압축 해제 옵션,gunzip(gzip으로 압축된 파일을 압축 해제하는 명령어)와 같음
bzip2
압축 명령어(확장자: .bz2)
bunzip2
bzip2로 압축된 파일을 압축 해제하는 명령어
-출처
https://shaeod.tistory.com/500
[리눅스 명령어] mkdir - 디렉토리 생성
※ 요약 mkdir 명령어는 make directory의 약자로써 디렉토리를 생성할 때 사용하는 명령어다. 자주 사용하지만 옵션의 종류도 별로 없고 매우 쉬운 명령어 중에 하나이다. ※ 경로 /bin/mkdir ※ 사용법 mkdir [..
shaeod.tistory.com
https://twpower.github.io/122-xxd-command-usage
[Linux] 파일을 16진수로 보여주는 xxd 명령어의 사용법과 예제
Practice makes perfect!
twpower.github.io
http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/mv
Linux/기본명령어/mv
# 리눅스 기본명령어 - mv
www.incodom.kr
https://ifuwanna.tistory.com/31
[Linux 리눅스] 압축, 해제 ( tar / gzip gz / bzip bz2 )
※ Linux 리눅스 압축, 해제 ( tar / gzip gz / bzip2 bz2 ) - 윈도우즈(Windows) 에서의 압축은 zip 등의 방식으로 파일이나 폴더들을 묶음과 동시에 압축(compress) 하는 것을 의미하나 리눅스(Linux)에서는 파..
ifuwanna.tistory.com
-풀이
시키는 대로 mkdir을 이용하여 /tmp 아래에 새로운 디렉토리 newthing을 만들었다. 그리고 cp을 이용하여 data.txt 파일을 newthing으로 옮겼다.
xxd -r을 사용하여hex dump를 바이너리로 바꾸어주고 file을 사용해 파일의 종류를 확인해 보았다.
gzip으로 압축된 data2.bin이 나타났다. 이제 이놈을 풀어봐야 한다.
풀어보니 bzip2로 압축된 놈으로 또 나왔다. 확장자 .bz2를 달고
다시 gzip으로 압축된 놈...
푸니 tar로 압축된 놈이 나왔다. 이제 위 작업들을 쭉 반복하다 보면 data8에서 axcii 발견
next level password: 8ZjyCRiBWFYkneahHwxCv3wb2a1ORpYL
Level 13 -> Level 14
Goal
The password for the next level is stored in /etc/bandit_pass/bandit14 and can only be read by user bandit14. For this level, you don’t get the next password, but you get a private SSH key that can be used to log into the next level. Note: localhost is a hostname that refers to the machine you are working on
-개념 정리
ssh 사용
접속에 성공하면 그때부터는 원격 호스트의 쉘을 사용하게 됨
언제든지 exit 명령어를 통해 원격 호스트의 쉘을 종료하고 원래의 쉘로 돌아올 수 있음
$ ssh user@hostname
$ ssh user@127.0.0.1
-i 공개 키 인증을 위한ID(개인키)가 읽히는 파일을 선택한다. 주로 RSA인증을 위한 비밀 키를 읽어 올 아이덴티티 파일을 선택할때 쓰임
신뢰할 수 없는 호스트에 한해서 ssh 접속을 할때 항상 비밀번호를 묻게 되어 있음
-출처
Linux SSH 사용법 :: JDM's Blog
이번 포스트는 리눅스(CentOS)에서 SSH의 사용법에 대해 알아보고자 합니다. 간단한 ssh의 설명부터 시작하겠습니다! SSH? Secure Shell, or SSH, is a cryptographic (encrypted) network protocol to allow remote login and other network services to operate securely over an unsecured network. https://en.wikip
jdm.kr
https://hack-cracker.tistory.com/131
[ Linux - CentOS ] ssh 정의 및 사용법
linux 기초 - ssh 정의 및 사용법 ssh 정의 시큐어 쉘( Secure Shell, SSH )은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용..
hack-cracker.tistory.com
-풀이
yes를 입력하면 bandit14에 접속함
cat /etc/bandit_pass/bandit14 입력하면 비밀번호 확인 가능
next level password: 4wcYUJFw0k0XLShlDzztnTBHiqxU3b3e
'Hacking Study > 포너블 스터디(2020-1) 과제' 카테고리의 다른 글
포너블 5주차 과제 (0) | 2020.05.24 |
---|---|
포너블 4주차 과제 (0) | 2020.05.17 |
포너블 3주차 과제 (0) | 2020.04.17 |
2주차 보충 - Format String Bug (0) | 2020.04.12 |
2주차 과제 (0) | 2020.04.10 |