2017. 7. 21. 18:20ㆍNetworkHacking/Network
FTP 개념 참고 자료 http://itsaessak.tistory.com/157
1> FTP 서버 구축
#yum -y install vsftpd vsftpd데몬 설치
#yum list installed vsftpd 설치된 vsftpd데몬 확인
2> FTP 서버의 사용자는 리눅스 시스템의 계정과 동일하다
root는 FTP서버를 사용할 수 없다 ! 가상머신에서 일반 사용자계정을 하나 생성하자
#useradd ftp_user 사용자 계정 생성
#passwd ftp_user 사용자 비밀번호 설정
3> FTP 서비스 실행
실습환경 : 가상머신 ( 192.168.6.123 )
[root@localhost /]# service vsftpd start [root@localhost /]# netstat -ant Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 ::1:25 |
* 21번 포트가 열려있음 => FTP 제어 연결이 이루어지는 포트
[ 윈도우에서 FTP접속 ]
[ " d " 옵션적용 ]
FTP접속 시 " -d " 옵션을 통해서 디버깅 모드로 실행할 수 있습니다
입력하는 명령어가 실제로 FTP서버에서 동작하는 방식을 확인 할 수 있습니다
[ help 명령어 실행결과 ]
" help " 명령어를 통해서 FTP서버에서 사용하는 명령어의 종류를 확인할 수 있습니다
4> FTP서버와 통신하기
우선 실습에서 사용할 명령어 " ncat " 입니다
#yum -y install nmap ( nmap에 포함되어 있음 )
문자열 기반의 통신으로 각 사용자간에 또는 서버와 문자를 주고 받을 수 있게한다
#ncat -l -p [포트번호] 해당 포트번호로 통신하기 위해 서버를 열어 놓는다
#ncat [ IP주소 ] [ 포트번호 ] 해당 호스트의 포트로 접속한다
* FTP 또한 ncat과 같은 문자열 기반의 프로토콜이여서 실습에서 ncat을 통해 FTP의 동작과정을 살펴볼 수 있습니다
4-1> Active Mode
[ Active Mode ]
< PORT 명령어 사용법 >
PORT [ ip] [ port ]
PORT xxx,xxx,xxx,xxx,p1,p2
PORT 192,168,6,123,33,137
p1 = 8585 // 256 = 33
p2 8585 mod(%) 256 = 137
FTP서버로 접속한 뒤 이전에 생성해둔 계정으로 로그인합니다
PORT 명령어를 통해서 서버에게 데이터 연결에 사용할 포트번호를 알립니다
서버에서 해당 포트번호로 서버를 열어둡니다
LIST 명령어를 입력하면 해당 서버에서 명령어가 적용되어 파일 리스트들이 출력되어 지는것을 확인할 수 있습니다
4-2> Passive Mode
< Passive Mode 동작순서 >
클라이언트는 서버로 PASV 명령어를 전송한다
서버에서 클라이언트로 1024번 이상의 포트번호를 지정해서 보내준다
ncat으로 해당 서버의 포트번호로 세션을 맺는다
서버로 LIST 명령어 전송 -> ncat으로 서버에 해당 명령어가 실행되어 진것을 확인할 수 있다
'NetworkHacking > Network' 카테고리의 다른 글
SSH Port Forwarding 이해하기 ( 해커의 관점에서의 이론 ) (1) | 2017.08.02 |
---|---|
SSL/TLS Handshake Protocol (0) | 2017.07.21 |
DNS Spoofing 실습 (0) | 2017.07.21 |
DNS Server가 되어보기 실습 (0) | 2017.07.21 |
와이어샤크를 이용한 DHCP분석 및 해킹실습 (0) | 2017.07.20 |