1. 문제
다음 비밀번호는 /etc/bandit_pass/bandit14 에 저장되어 있고
사용자 bandit14만 이것을 읽을 수 있다.
하지만 나는 다음단계로 가는 SSH 개인키를 얻을 수 있다.
2. 명령어
SSH
ssh [계정명]@[원격기기의 주소] ( 기본 사용법 )
ssh -p [포트번호] [계정명]@[원격기기의 주소] (기존 포트(22)가 아닌 다른 포트를 사용하여 접속)
ssh -i [개인키 파일 경로] [계정명]@[원격기기의 주소] (개인키 파일을 사용하여 접속)
3. 풀이
현재 개인 sshkey를 가지고 있습니다.
따라서 해당 키를 가지고 bandit14유저에 접속해보겠습니다.
해당 코드로 ssh 원격 접속을 시도합니다.
포트는 2220이고 ssh 개인키를 가지고 bandit14이라는 유저로 접속합니다.
ssh -p 2220 -i ./sshkey.private bandit14@bandit.labs.overthewire.org
이제 저희는 user bandit14이므로 패스워드를 읽을 수 있습니다.
4. SSH 개인키로 원격접속이 가능한 이유
SSH의 공개키 인증방식 때문에 우리는 비밀번호 없이 접속이 가능합니다.
(1)키 쌍 생성
공개키와 개인키로 이루어진 키 쌍을 생성합니다.
공개키는 말 그대로 안전하게 공유될 수 있고, 개인키는 사용자만 알아야 합니다.
(2)공개키 등록
사용자는 원격 서버에 공개키를 등록합니다.
이 공개키는 서버에서 사용자를 인증할 때 사용됩니다.
(3) 인증
사용자가 서버에 접속을 시도하고, 서버는 공개키로 암호화된 메시지를 보내고
사용자는 개인키를 사용하여 복호화 합니다.
복호화하고 서버로 다시 메시지를 보내고 서버는 사용자를 인증합니다.
인증이 완료되면 사용자는 비밀번호 없이 접속할 수 있습니다.
이런식으로 공개키와 개인키를 사용하여 사용자 인증이 이루어집니다.
'Wargame > bandit wargame' 카테고리의 다른 글
Bandit Level 15 -> 16 (0) | 2024.04.30 |
---|---|
Bandit Level 14 -> 15 (0) | 2024.04.30 |
Bandit Level 12 -> 13 (0) | 2024.04.30 |
Bandit Level 11 -> 12 (0) | 2024.04.30 |
Bandit Level 10 -> 11 (0) | 2024.04.30 |