Bandit Level 16입니다.
포트 스캔이 나오는 문제였습니다.
31000 ~ 32000 사이의 localhost 포트에 현재레벨 password를 입력하면 다음레벨 password를 획득할 수 있습니다.
먼저 열린 포트를 스캔한 후, SSL을 사용하는 포트를 찾아야 합니다.
정답이 되는 1개의 서버를 제외하곤, 나머지 포트는 송신값을 다시 되돌려 준다고 합니다. 이 특성을 이용해 찾아보도록 하죠.
nmap -p 31000-32000 localhost
nmap : 포트 스캔에 활용되는 명령어
-p 31000-32000 : 스캔할 포트 설정
localhost : 현재 시스템
localhost의 31000~32000 사이 포트를 스캔해라
명령어 실행 결과, 5개의 포트가 검색되었습니다.
이 중에서 어떤 포트가 password를 담고 있을지 찾아봅시다.
"hi" 문자열을 5개 포트에 모두 전송해본 결과, 31518, 31790 포트가 아무 것도 응답하지 않았습니다.
문제에서 정답이 아닌 포트는 송신한 문자열을 그대로 돌려준다고 했었죠?
그러므로 아무것도 응답하지 않은 31518, 31790 포트가 후보가 되겠습니다.
openssl s_client -connect localhost:31518
31518 포트에 접속 후 현재 레벨 password를 제출했습니다.
그러나 같은 내용을 되돌려 받았습니다. 이 포트는 아닌가 봅니다.
openssl s_client -connect localhost:31790
31790 포트에 접속해서 password를 제출했더니, 다음 레벨 password 대신 SSH 개인키가 등장하였습니다.
이게 bandit17의 SSH키인 것일까요?
bandit17로 접속을 시도해 봅시다.
일단, 저 개인키를 복사해 둡니다.
맨 위 --- 부터 , 맨 아래 ---END.... 까지 복사하면 됩니다.
그리고, "mkdir /tmp/폴더명" 명령으로 /tmp 폴더 안에 아무 폴더나 하나 만들고 해당 위치에서 작업하도록 합니다.
복사한 값을 이용해 key 파일을 만들어야 하기 때문입니다.
vi hi
vi : 리눅스에서 사용할 수 있는 텍스트 에디터(윈도우의 메모장같은)
hi : 그냥 내가 정한 파일명
즉, hi라는 이름으로 메모장을 하나 연 것과 같습니다.
vi가 열리면,
1. "i" 버튼을 한번 누릅니다. 그러면 위 사진과 같이 아래쪽에 insert 문구가 나옵니다.
2. "shift + insert" 버튼을 누릅니다. 그러면 복사해두었던 key값이 붙여넣기 됩니다.
3. "esc" 버튼을 누릅니다. insert 문구가 사라질 겁니다.
4. ":wq" 를 입력하고 엔터
그러면 hi라는 파일명으로 해당 key값이 저장됩니다.
i : insert , 입력 모드로 들어가겠다는 뜻
shift + insert : 리눅스의 붙여넣기 단축키
: : vi에선 이런저런 명령을 할 수 있는데, 그러려면 :(콜론)을 앞에 붙여야 함.
wq : w는 저장(write) q는 나가기(quit) 즉, 저장하고 나가기
정상적으로 저장되면, 이렇게 key값이 파일에 들어갑니다.
이제 이 파일을 이용해 다음 레벨에 접속하면 됩니다.
단, 그 전에 할 일이 있습니다.
ssh key 파일은 보안상의 이유로 권한이 정해져 있습니다. 위 사진과 같이 반드시 600 이어야 합니다.
chmod 600 hi
chmod를 이용해서 파일의 권한을 변경해 줍시다.
chmod : 파일의 권한을 변경하는 명령어
600 : 600권한으로 설정, 파일 소유자에게 rw(읽기,쓰기) 권한을 주고 그룹 소유자와 제3사용자들에겐 아무런 권한도 주지 않는다. (리눅스 권한에 대한 구체적 정보는 따로 구글링 해보시기 바랍니다)
ssh -i hi -p 2220 bandit17@localhost
자, 접속을 시도해 봅시다.
입력 후 나오는 부분에선 "yes" 입력 후 엔터해주면 됩니다.
bandit17 로그인 성공!!
이렇게 bandit17의 password를 획득할 수 있었습니다.
'Hacking > [System]Bandit' 카테고리의 다른 글
OverTheWire [Bandit Level 18] (0) | 2023.04.02 |
---|---|
OverTheWire [Bandit Level 17] (0) | 2023.04.02 |
OverTheWire [Bandit Level 15] (0) | 2023.03.30 |
OverTheWire [Bandit Level 14] (0) | 2023.03.30 |
OverTheWire [Bandit Level 13] (0) | 2023.03.30 |