FTP

Ryu·2021년 12월 12일
0

정보보안기사

목록 보기
16/16

FTP(File Transfer Protocol) = 파일 전송 통신 프로토콜

  • TCP 프로토콜 사용
  • 명령포트(21), 데이터포트
  • Active Mode = 클라이언트가 포트 선택 (21/20)
  • Passive Mode = 서버가 포트 선택 (21/1024 이후) → 변경=PASV

종류

  • FTP = TCP 프로토콜을 사용하여 사용자와 데이터 송수신
  • tFTP = 인증 과정 없이 UDP 기반(69Port) 사용
  • sFTP = 전송 구간에 암호화 기법 사용

로그인

230 = 로그인 성공

TCP 3 Way handshaking 확인 및 명령포트 확인


접근통제

FTP 접근 통제 파일 = /etc/ftpusers, /etc/hosts.deny, /etc/hosts.allow


Passive Mode

Passive mode 변경 후 파일 다운로드

FTP 서버는 수신 받은 데이터 포트(18526)을 선택하여 클라이언트에게 전달


파일 다운로드

클라이언트가 get 명령을 21번 포트로 서버에 전달

서버가 지정한 포트를 사용하는 것을 볼 수 있다

아래와 같이 파일 다운로드 된것을 확인


로그

vsftpd 자세한 로그 보기
설정 파일인 /etc/vsftpd.conf 파일 수정

dual_log_enable = /var/log/xferlog 파일과 /var/log/vsftpd.log 파일 모두에 FTP 파일 전송 기록이 저장
log_ftp_protocol = 클라이언트와 서버 사이의 모든 FTP 프로토콜 트랜잭션 로그 기록

아래와 같이 xferlog에 파일 전송 기록을 확인

1. 전송 날짜 및 시간 (Sat Dec 11 02:21:37 2021)
2. 전송 소요 시간 (1)
3. 클라이언트 주소 (192.168.90.129)
4. 파일 크기 (13)
5. 파일명 (/home/kali/a.text)
6. 파일 유형 (a=ascii, b=binary)
7. 액션 플래그 (_)
8. 전송 방향 (i=incoming, o=outgoing, d=delete)
9. 엑세스 모드 (r=passwd에 속해 있는 사용자로 접속한 형태, a=anonymous, g=guest)
10. 사용자명 (kali)
11. 서비스명 (ftp)
12. 사용자 인증 방식 (0)
13. 인증 사용자 ID (*)
14. 완료 상태 (c=complete i=incomplete)

FTP 보안 취약점

FTP Bounce Attack

  • FTP 프로토콜 구조의 허점을 이용한 공격 (자료 전송 시 목적지가 '어떤 곳' 인지는 검사 X)
  • 포트 스캔 후 Fake mail 발송

tFTP Attack

  • 인증절차가 없어 설정이 잘못되면 누구나 파일 다운로드 가능

Anonymous FTP Attack

  • Anonymous FTP 서버로 사용자들이 데이터를 upload 및 수정을 할 수 있다
  • /etc/passwd 파일에서 Anonymous계정 삭제 필요

스니핑

  • FTP 서버에 접속시 아이디와 패스워드 입력 후 암호화가 이루어지지 않아 스니핑 공격에 취약

Brute force Attack

  • 무작위 대입법 사용

기타

FTP 사용자는 일반 리눅스 사용자와 동일 하지만 로그인이 필요하지 않아 "nologin"으로 설정

Can Do It
brb

profile
Let me start

0개의 댓글