FTP(File Transfer Protocol)
TCP/IP 네트워크(인터넷)상의 장치가 파일을 전송할 때 사용하는 규칙
Protocol
전자기기가 서로 통신하는 데 필요한 절차나 규칙
TCP/IP
컴퓨터 사이의 통신 표준 및 네트워크의 라우팅 및 상호연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트
이는 인터넷에서 광범위하게 사용되며 이를 통해 학회, 대학, 정부, 기업에서 서로 통신할 수 있다.
칼리 리눅스에서 바로 하면 네트워크 바꿀 필요 없음.
그런데 IDLE를 사용하여 하면 metasploitable 네트워크를 어뎁터에 브리지로 바꿔야 함.
(윈도우즈 호스트에서 사용하고 있는 대역을 그대로 여기에서 브리지 방식으로 사용하는거.)
로그인하고 ifconfig 명령을 통해 ip대역을 보면 intet address 확인 가능. 192.168.0.17임을 알 수 있다.
윈도우 cmd 창에서 확인한 ip주소도 같음을 볼 수 있다.
무선 LAN 어댑터 와이파이를 사용
윈도우즈하고 메타랑 대역이 같으면 윈도우즈에서 메타쪽으로 접속이 가능하다는 뜻
새 창에서 192.168.0.17을 치면 이와 같은 창이 나와야 한다.
윈도우즈 창에서 연결
anonymous 연결을 해보자.
<- 익명 연결
위와 다르게 암호를 치지 않아도 로그인에 성공한 것을 볼 수 있음.
msfadmin으로 로그인했을 때 (아이디 비밀번호 모두 msfadmin)
파일 전송에 성공한 것을 볼 수 있음.
이러한 것을 파이썬 코드로 알아보자.
어떤 특정한 대역에서 익명 대역이 되는 것을 찾아보겠다. 이런 것도 되고
특정한 msfadmin처럼 특정 아이디를 찾아보고 싶음.
from ftplib -> 큰 함수들의 모음. 이 모듈 아넹 많은 기능이 포함되어 있음. 로그인 기능이 있는데 이를 ftp.login() 이름으로 가져올거임.
이런 경우 권한이 없어서 리스트 값에 아무것도 안 보임.
이런 경우는 디렉토리 정보까지 볼 수 있음
FTP document
리스트에 파일 생성이나 올릴 수 있음
악의적인 코드들을 자동으로 열려 있으면 생성해서 거꾸로 공격할 수도 있음.