
1. Target Overview (머신 요약)
- Target Name: Fawn
- OS: Unix/Linux
- Difficulty: Tier 0 (Starting Point)
- Vulnerability: Anonymous FTP Login (비인가 익명 접근 허용), Insecure Protocol (평문 전송 프로토콜 사용)
- Attack Vector: FTP Misconfiguration (잘못된 권한 및 인증 설정)
2. 핵심 개념 총정리
① FTP (File Transfer Protocol)
- 네트워크 환경에서 클라이언트와 서버 간에 파일을 송수신하기 위해 고안된 표준 프로토콜
- 데이터 전송 제어를 위한 21/tcp(Control Port)와 실제 데이터 전송을 위한 20/tcp(Data Port)를 분리하여 사용
- 보안 취약점
- 인증 정보(ID/Password)와 전송되는 파일 데이터를 암호화하지 않고 평문(Plaintext)으로 전송하므로, 패킷 스니핑(Sniffing) 공격에 매우 취약
② SFTP (SSH File Transfer Protocol)
- FTP의 평문 전송 취약점을 해결하기 위해 설계된 보안 파일 전송 프로토콜
- SSH(Secure Shell) 터널링을 기반으로 22/tcp 포트를 사용
- 종단 간 암호화(E2EE)를 통해 전송 구간의 기밀성(Confidentiality)과 무결성(Integrity)을 보장
③ 익명 FTP 로그인 (Anonymous FTP)
- 불특정 다수에게 공개 파일 저장소를 제공하기 위해, 인증된 자격 증명(Credential) 없이 anonymous라는 공용 계정으로 접근을 허용하는 설정
- 관리자의 설정 오류로 인해 민감한 디렉토리나 파일에 익명 사용자의 읽기/쓰기 권한이 부여될 경우 치명적인 정보 유출 및 시스템 장악으로 이어질 수 있음
[Task 1] What does the 3-letter acronym FTP stand for?
- 정답: File Transfer Protocol
- 분석: TCP/IP 네트워크 상에서 컴퓨터 간에 파일을 교환하기 위한 클라이언트-서버 모델 기반의 표준 통신 규약입니다.
[Task 2] Which port does the FTP service listen on usually?
- 정답: 21
- 분석: FTP 서버가 클라이언트와의 세션 연결 및 명령어 제어(Control Connection)를 위해 기본적으로 대기(Listen)하는 TCP 포트
[Task 3] What acronym is used for the secure version of FTP?
- 정답: SFTP
- 분석: 암호화되지 않은 FTP의 대안으로, SSH 보안 채널 위에서 안전하게 파일을 전송하는 프로토콜입
[Task 4] What is the command we can use to send an ICMP echo request to test our connection to the target?
- 정답: ping
- 분석: L3(네트워크 계층)에서 대상 호스트의 도달 가능성(Reachability)을 확인하기 위해 ICMP 패킷을 전송하는 명령어
[Task 5] From your scans, what version is FTP running on the target?
- 정답: vsftpd 3.0.3
- 분석: nmap -sV [Target IP] 명령을 실행하여 서비스 배너 그래빙(Banner Grabbing)을 수행한 결과, 구동 중인 FTP 데몬의 버전을 식별했
nmap -sV [Target IP]
[Task 6] From your scans, what OS type is running on the target?
- 정답: Unix
- 분석: Nmap 스캔 결과에 반환된 서비스 정보 및 배너 데이터를 기반으로 타겟의 운영체제(OS) 제품군을 식별했습니다.

[Task 7] What is the command we need to run in order to display the 'ftp' client help menu?
- 정답: ftp -h
- 분석: CLI 환경에서 FTP 클라이언트 도구의 실행 옵션 및 도움말 매뉴얼을 출력하는 명령어
ftp -h
[Task 8] What is username that is used over FTP when you want to log in without having an account?
- 정답: anonymous
- 분석: 인증 정보(ID/Password)가 없는 비인가 사용자가 시스템 접근을 시도할 때 사용하는 표준 익명 계정명입니다.
[Root Flag] 시스템 침투 및 플래그 추출
- 분석: ftp [Target IP] 명령으로 타겟 서버에 접속을 시도합니다. Name 프롬프트에 식별된 anonymous 계정을 입력하고, 패스워드는 공란(Blank)으로 엔터를 입력하여 인증 우회 및 접속에 성공했습니다.
- FTP 쉘 환경에서 ls 명령을 통해 flag.txt 파일을 확인하고, get flag.txt 명령어를 사용하여 로컬 공격자 시스템으로 파일을 탈취합니다.
- 이후 로컬 쉘에서 cat flag.txt 명령으로 해시값을 추출하여 침투를 완료했습니다.
# 타겟 FTP 접속 및 플래그 파일 탈취
ftp [Target IP]
Name: anonymous
Password: [Enter]
ftp> ls
ftp> get flag.txt
ftp> exit
# 로컬에서 해시값 확인
cat flag.txt


Discussion 0