본문 바로가기
CTF/HTB

Fawn

 

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
 

 

'CTF > HTB' 카테고리의 다른 글

Preignition  (0) 2026.04.06
Explosion  (0) 2026.04.06
Redeemer  (0) 2026.04.06
Dancing  (0) 2026.04.06
Meow  (0) 2026.04.06

Discussion 0