운영체제/Linux | Mac(OSX)

[Overthewire] Bandit level 11~13

며용 2021. 5. 2. 00:05

12.

data.txt에 들어있는데 비밀번호가 알파벳 13개씩 차이가 난다

 

 

- 풀이

더보기

 

카이사르 암호(시저 암호)로, ROT13, 13의 차이가 있는 거다 그래서 A는 N으로 치환된다

 

tr 명령어는 특정 단어를 치환해주거나 삭제해준다

 

tr A B --> A단어를 B로 치환

13개 차이가 나므로 A-Z는 N-ZA-M 순으로 치환해준다

 

 

 

13.

내가 수정할 수 있는 폴더를 하나 만들어서 datafile을 카피하고 헥사로 덤프되어있는 파일의 압축을 풀어라

 

 

- 풀이

더보기

 

 

우선 나만 쓸 수 있는 폴더를 하나 만들어준다'

mktemp -d

이 명령어는 /tmp 밑에 나만 쓸 수 있는 폴더를 하나 생성해준다

 

 

 

이렇게 파일을 보면 헥사 덤프로 되어있다 이걸 먼저 바이너리로 원복해주기

xxd는 16진수 <-> 바이너리 데이터로 변경해준다

 

 

그리고 압축된 파일을 형식에 맞춰서 풀어주면 된다

 

#gzip
gunzip LE12.gz
gzip -d LE12.gz

#bzip
bzip2 -d LE12.gz2

#tar
tar -xvf LE12

 

gzip은 확장자 .gz가 붙어있어야 압축이 풀린다

 

파일명 변경은 mv 원래파일 바꿀이름 으로 해주면 된다

(gzip과 bzip은 압축의 강도의 차이가 있다고 한다)

 

 

 

14.

/etc/bandit_pass/bandit14 밑에 패스워드가 있는데 bandit14로 로그인 해야지만 볼 수 있다

private SSH key를 받아서 로그인한 후 패스워드를 얻기

 

 

- 풀이

더보기

 

개인키는 ssh 접속시에 패스워드와 같은 역할을 한다

패스워드 대신 개인키를 사용해 ssh 접속을 하려고 하면 접속대상 서버는 가지고 있던 해당 사용자의 공개키를 이용해 전송된 개인키를 검증하게 된다 (접속을 위해선 대상 서버는 사전에 해당 사용자의 공개키를 가지고 있어야만 한다)

 

SSH 개인키는 중요한 정보이기 때문에 소유자외 다른 이가 읽을 수 있으면 안된다 (다른 사람은 어떠한 권한도 가지면 안됨)

 

 

 

bandit13으로 로그인한 후 'sshkey.private' 파일을 가져오기 위해서 sftp를 사용했다

 

stfp는 secure ftp로 보안 접속이다 (ftp는 리눅스나 이런 서버에서 파일을 가져올 때 사용하는 프로토콜이다)

가져올 때는 get, 데이터를 올릴 때는 put을 사용한다

 

 

소유자 말고는 권한이 있으면 안되기 때문에 권한 수정을 해줘야한다

리눅스는 (소유자에 대한 권한 | 소유그룹에 대한 권한 | others에 대한 권한) 이렇게 갖게 된다

각 그룹별로 rwx 421 의 값으로 표현된다

 

이렇게 변경해주고 이 키를 이용해서 로그인을 한다

 

 

 

bandit14로 성공적으로 로그인을 했으니 password 위치를 열어보면 비밀번호를 획득할 수 있다