Linux/bandit

Level 16 -> Level 17

ㅇㅅㅇ.. 2024. 1. 4. 15:05

 

 

  • login PW: JQttfApK4SeyHwDlI9SXGR50qclOAil1
  • 문제설명: 다음 단계의 PW는 localhost 31000~32000 범위 SSL 통신으로 연결된 하나의 포트에서 얻을 수 있다. 

 

두 가지 방법으로 portscan을 진행해보겠습니다.

 


1. nc 명령어

아래는 portscan에 자주 사용되는 옵션입니다.

 

nc -nv -w 1 -z [ address ] [ port ]

  • -nv: 상세 결과 출력
  • -w 1: 연결 종료 옵션
  • -z: 아무 데이터도 보내지 않음

*nc: netcat

*nv: network verbose

 

# nc -nv -w 1 -z localhost 31000-32000 2>&1 | grep succeeded

 


2. nmap

# namp -p 31000-32000 localhost

 

 

nmap => https://yskr.tistory.com/3


 

계속해서 다섯개의 port가 열려있고 이 중에서 SSL 통신을 하는 포트를 찾아보겠습니다.

 

# openssl s_client -connect localhst:[port]

 

31046번 포트는 연결이 안됩니다.

 

 

31790번 포트가 연결이 되는 것을 확인할 수 있습니다.

 

마지막 부분에 현재 login PW를 입력하면

 

다음 단계의 PW가 나올 줄 알았는데 Correct! 문자가 나오고 RSA private 가 출력된 뒤 종료됩니다.

 

 

RSA private 키를 복사해주겠습니다.

 

 

/tmp에 bandit16_key라는 폴더를 만들겠습니다.

해당 경로 이동한 다음 vi를 이용해 방금 복사한 key값을 저장합니다.

 

 

ssh 명령어를 사용하여 연결을 해보겠습니다.

# ssh -i sshkey bandit17@localhost

 

key "sshkey"에 접근이 정상적으로 되지 않았습니다.

위 문장들을 조금 더 읽어보면 sshkey의 접근 권한이 너무 열려있으며

private key는 다른 사람들이 액세스 할 수 없어야 된다고 합니다.

 

접근권한을 살펴보니 모두가 읽을 수 있게 되어있네요.

아래의 명령어로 접근권한을 바꿔주겠습니다.

 

# chmod 600 sshkey

 

 

다시 시도를 하면

# ssh -i sshkey bandit17@localhost -p 2220

 

bandit17로 로그인이 되었습니다.

 

/etc/bandit_pass 의 bandit17 파일을 읽어주면 PW가 나옵니다.

댓글수0