문제
Level 14. The password for the next level can be retrieved by submitting the password of the current level to port 30000 on localhost.
리눅스 nc 명령어
nc(NetCat) 설명
nc는 NetCat의 약자로 TCP 또는 UDP 프로토콜을 사용하는 네트워크 환경에서 데이터를 읽/쓰기를 하는데 사용되는 프로그램이다.
추가적으로 특정 서버의 포트 오픈을 확인하는데에도 사용되고, 방화벽 확인을 할 수도 있다.
하지만 포트를 특정지어 연결을 확인해야하니 확실한 포트랑 연결할 때 사용할 것 같다.
nc 사용법
nc [옵션] [IP] [PORT]
nc 옵션 종류
- default : tcp로 IP / PORT 로 연결
- -u : udp에 연결
- -l : LISTEN 모드
- -p : 소스 포트 지정
- -z : 포트 스캔만 진행
예시
- nc localhost 3000 (localhost에 3000 포트로 접속 후 메세지 입)
- nc -zv bandit.labs.overthewire.org 2220 (해당 host, port에 연결 확인)
풀이
이 문제는 nc 명령어를 통해 단순 데이터 전송을 하는 방법을 안다면 매우 쉽게 끝나는 문제이다.
하지만 이 방법을 몰랐어서,,, 오래 걸렸다는게 정말 함정이다. (확실히 리눅스에서 네트워크 간의 무언가를 하는 명령어를 아직 잘 모르는 만큼 점점 알아가는 재미가 있을 예정이다!)
자 이제 풀기 위해선 어떤 과정을 거쳐야하는지 생각해보자!
- 이번 단계의 패스워드를 제출해야한다?!
- localhost 30000포트와 통신하여 패스워드를 전송해라!
- 받은 데이터가 다음 단계의 패스워드이다.
위의 순서를 보고 문제를 풀어보세요!
이번엔 위에서 배운 nc 명령어를 통해 데이터 통신을 할 수 있는 포트에 연결해보도록 하자!
nc -vz localhost 30000
nc localhost 30000
위의 명령어는 단순히 localhost 의 30000 포트가 열려있는지 확인해봤다.
succeeded! 라는 결과값을 보니 제대로 열려있는 것으로 보이니 이제 아래 명령어를 통해 통신을 시도해보자!
아래처럼 이번 단계의 패스워드를 보냈더니 Correct! 라는 답과 함께 다음 패스워드가 나왔다면, level 15로 바로 올라가보도록 하자!
더보기를 눌러 비밀번호를 확인하세요!
비밀번호는 다음과 같다.
Level14. jN2kgmIXJ6fShzhT2avhotn4Zcka6tnt
'Bandit' 카테고리의 다른 글
리눅스 nmap 포트 스캔 | Bandit Level 16 -> Level 17 (0) | 2023.09.03 |
---|---|
리눅스 ncat SSL 네트워크 통신 | Bandit Level 15 -> Level 16 (0) | 2023.09.03 |
리눅스 ssh key 접속 / RSA 공개키 암호화 | Bandit Level 13 -> Level 14 (0) | 2023.09.01 |
리눅스 압축 풀기 gzip, tar, bzip2 | Bandit Level 12 -> Level 13 (0) | 2023.08.31 |
리눅스 문자 변환, 삭제 명령어 tr | Bandit Level 11 -> Level 12 (0) | 2023.08.31 |