OverTheWire 16->17. (정답O)

0_0·2023년 3월 22일
0

OverTheWire

목록 보기
16/22

✔ 문제풀이 해설이 상세함. 정답 스포 주의!!! ✔

계정 로그아웃 : ctrl + d
계정 로그인 : (로그아웃 상태에서) ssh 계정명@bandit.labs.overthewire.org -p 2220

[OverTheWire 16->17.]

암호는 31000~32000 범위의 localhost 포트에 현재 레벨 암호를 제출하여 검색할 수 있다. => openssl을 이용하여 현재 레벨 암호를 제출하기
수신 대기하는 포트를 찾아야 한다. => nmap을 이용하여 찾기
찾은 포트 중 SSL을 말하는 것과 그렇지 않은 것을 찾아야 한다. (찾는 서버가 아니면 보내는 그대로 되돌아온다) => openssl 명령어를 이용하여 결과 확인하기

netstat 네트워크 연결에 대한 정보를 제공하는 도구
netstat -tunlp 수신 중인 모든 TCP 또는 UDP 포트를 나열
-t TCP 포트를 표시
-u UDP 포트를 표시
-a 모든 포트를 표시
-n 호스트 대신 숫자 주소 표시
-l 수신 포트만 표시
-o PID 표시
-p 수신기 프로세스의 PID 및 이름 표시 (루트나 sudo 사용자로 실행하는 경우만)

nmap 호스트, 호스트의 제공 서비스, 실행 중인 운영 체제, 방화벽 유형을 검색 가능
nmap [Scan Type(s)][Options] {target specification}
-sT tcp 연결을 사용해서 포트를 스캔 (보통 포트 스캔 시 nmap -sT 포트)

chmod 파일 권한 변경 (change + mode)
chmod [OPTION][MODE] [FILE]
rwxrwxrwx 파일 사용자 권한, 그룹 권한, 그 외 사용자 권한 (0(---)~7(rwx))
r(읽기) -> 4, w(쓰기) -> 2, x(실행) -> 1, -(권한 없음) -> 0

tmp 프로그램 실행 중 일시적으로 모든 파일이 존재

ls -> ll -> nmap -sT localhost -p 31000-32000 (31046, 31518, 31691, 31790, 31960 포트 확인) -> openssl s_client -connect localhost:31046 (바로 종료되는 것 확인) -> openssl s_client -connect localhost:31518 (현재 레벨 제출 시 그대로 반환하는 것 확인) -> openssl s_client -connect localhost:31691 (바로 종료되는 것 확인) -> openssl s_client -connect localhost:31790 (RSA 키 획득) -> ctrl+Insert 이용하여 복사 -> ll (디렉터리 쓰기 권한 없는 것을 확인) -> cd /tmp -> cd key -> vi bd17_priv_rsa -> shift+Insert 이용하여 붙여넣기 (안되면 마우스 우클릭) -> esc -> :wq -> cat bd17_priv_rsa -> ssh -i bd17_priv_rsa bandit17@localhost -p 2220 (private key 파일은 다른 사람이 접근할 수 없어야 한다는 오류) -> ll -> chmod 600 bd17_priv_rsa -> ssh -i bd17_priv_rsa bandit17@localhost -p 2220

ssh -i bd17_priv_rsa bandit17@localhost -p 2220


0개의 댓글