티스토리 뷰

수업 노트/bandit

[lesson18] bandit level 18 → 19

오리지날초이 2021. 9. 28. 19:37

id : bandit18

password : hga5tuuCLF6fFzUpnagiMN8ssu9LFrdg

(203.05 기준)

 

 

홈디렉토리 안 readme 파일에 패스워드가 저장되어 있지만,

불행하게도.. 누군가가 우리가 ssh 에 로그인 했을때 로그아웃 하도록

.bashrc 를 바꿔놓았다고 합니다.

 

풀어봅시다.

 

더보기

bandit17 에서 획득한 패스워드로 로그인 하면 ByeBye 메세지가 나타나며 자동 로그아웃됩니다.

순식간에 로그아웃되서 캡쳐는 못떴습니다..

 

인증 문제는 다 끝난줄 알았는데..

ssh 옵션을 사용해서 어떻게든 해결해햐 할 것 같습니다.

 

그래도 우리는 bandit18 패스워드를 알고 있습니다.

그리고 문제에서는 어마어마한 힌트를 줬습니다.

사용자 홈디렉토리의 readme 파일에 패스워드가 있다고 말이죠.

 

ssh --help 를 찍어보면 어떤 옵션이 눈에 띄나요?

 

[user@]hostname [command] 가 눈에 들어와야 합니다.

 

ssh 를 이용해서 특정계정@주소 커맨드 까지 한번에 전달이 가능합니다.

ssh bandit18@localhost "cat readme" 식으로 말이죠.

 

대충 bandit17 계정에서 ssh 명령을 실행해줍시다.

 

 

위의 ssh 로  최초 접속 인증 화면을 다시 한번 살펴보면..

bandit17 계정에서 보관 중인 /home/bandit17/.ssh/id_rsa 키의 권한이 잘못 되었다고 나오는데 

이것은 이번 문제의 본질은 아닙니다.

 

bandit 17 에서 주어진 공개키, 개인키는 bandit 16단계에서 활용하기 위한 기반 환경이지 

bandit18 의 authorized_keys 에는 등록되어 있지 않기 때문입니다.

 

설령 개인키의 권한을 바꾼다 하더라도 여전히 접속은 잘 되지 않습니다.

 

 

문제의 풀이는 거의 다 왔는데요..

bandit 서버에서 최근에 추가적인 제약상황을 설정한것 같네요.

자세히 보니 로컬 호스트에서의 ssh 접속은 차단한다는 메세지가 보입니다.

 

그렇다면 윈도우 cmd 에서 ssh 를 활용해 봅시다.

역시나 ssh 접속 패스워드를 물어보네요

기존에 확인한 bandit18 패스워드( hga5tuuCLF6fFzUpnagiMN8ssu9LFrdg)를 수동으로 입력하니

추가 커맨드 옵션 cat readme 가 실행되고

 

bandit19 패스워드를 획득했습니다.

 

ssh  커맨드에 세미콜론(;) 을 조금만 더 활용해주면 다양한 작업이 가능합니다.

출제자 의도대로 풀게끔 /etc/bandit_pass/bandit19 는 막아두었네요

 

여러분들은 ssh 개인키 인증과 추가 커맨드를 활용해보았습니다.

 

이 두가지만 잘 활용하면 서버 한대를 컨트롤용으로 설정하고

인증을 미리 확보한 수십, 수백대의 서버에 일괄 명령을 전달하는 작업이 가능하다는 것을

스스로 깨달으셨을 것이라 생각합니다.

 

728x90
반응형

'수업 노트 > bandit' 카테고리의 다른 글

[lesson20] bandit level 20 → 21  (0) 2022.02.04
[lesson19] bandit level 19 → 20  (0) 2021.09.28
[lesson17] bandit level 17 → 18  (0) 2021.09.28
[lesson16] bandit level 16 → 17  (0) 2021.09.21
[lesson15] bandit level 15 → 16  (0) 2021.09.19
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함