FTP 열거 및 익명 액세스

NmapBeginner
지금 연습하기

소개

네트워크 열거 및 파일 전송 프로토콜 (File Transfer Protocol) 악용에 대한 실습에 오신 것을 환영합니다. 사이버 보안 분야에서 시스템 보안을 평가하는 첫 번째 단계는 해당 시스템이 네트워크에 어떤 서비스를 노출하고 있는지 이해하는 것입니다. 이 과정을 열거 (enumeration) 라고 합니다.

본 실습에서는 모의 침투 테스트의 초기 단계를 시뮬레이션합니다. 먼저 대상 시스템과의 연결을 확인하는 것부터 시작합니다. 그런 다음, 강력한 네트워크 스캐닝 도구인 nmap을 사용하여 열린 포트를 검색하고 실행 중인 서비스를 식별합니다. 마지막으로, 익명 액세스를 허용하는 잘못 구성된 FTP 서비스를 악용하여 숨겨진 플래그 (flag) 를 검색합니다. 이 연습을 통해 네트워크 정찰 및 악용에 대한 기본적인 기술을 습득할 수 있습니다.

실습 완료 후에는 다음을 수행하는 방법을 이해하게 될 것입니다.

  • ping을 사용하여 네트워크 연결을 확인합니다.
  • nmap을 사용하여 열린 포트 및 서비스를 스캔합니다.
  • 익명 액세스로 FTP 서비스에 연결합니다.
  • 일반적인 잘못된 구성을 악용하여 파일에 액세스합니다.

시작해 봅시다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 98%입니다.학습자들로부터 100%의 긍정적인 리뷰율을 받았습니다.

Ping 으로 대상 연결 확인

이 단계에서는 대상 시스템과의 연결을 확인하여 정찰 단계를 시작합니다. ping 명령은 IP 네트워크에서 호스트에 도달할 수 있는지 테스트하는 데 사용되는 기본적인 네트워크 유틸리티입니다. 대상에게 ICMP Echo Request 패킷을 보내고 ICMP Echo Reply 패킷을 기다립니다.

귀하의 환경은 target 호스트 이름을 통해 접근 가능한 대상 시스템으로 사전 구성되었습니다.

대상에 네 개의 패킷을 보내 온라인 상태인지 확인하기 위해 터미널에서 다음 명령을 실행하십시오.

ping -c 4 target

다음과 유사한 출력이 표시되어야 하며, 이는 대상이 응답하고 연결이 안정적임을 나타냅니다. 정확한 IP 주소 및 시간 값은 다를 수 있습니다.

PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.086 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.064 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.063 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.064 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3069ms
rtt min/avg/max/mdev = 0.063/0.069/0.086/0.010 ms

성공적인 응답을 확인하면 귀하의 머신이 대상과 통신할 수 있음을 확신할 수 있습니다.

Nmap 으로 열린 포트 스캔

이 단계에서는 nmap을 사용하여 대상에 대한 포트 스캔을 수행합니다. Nmap(Network Mapper) 은 네트워크 검색 및 보안 감사에 필수적인 도구입니다. 열린 포트를 스캔함으로써 대상에서 실행 중인 서비스를 식별할 수 있으며, 이는 잠재적인 취약점을 찾는 데 중요한 단계입니다.

버전 감지를 활성화하여 대상에 대한 스캔을 수행하려면 터미널에서 다음 명령을 실행하십시오.

nmap -sV target

Nmap 은 이제 버전 감지가 활성화된 상태로 target 머신을 스캔합니다. 잠시 후 스캔 결과를 보고합니다. 출력은 다음과 유사해야 합니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-15 10:00 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00011s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.5
Service Info: OS: Unix

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.32 seconds

출력을 주의 깊게 관찰하십시오. Nmap 은 21/tcp 포트가 open 상태이며 버전 vsftpd 3.0.5ftp 서비스를 실행하고 있음을 발견했습니다. 이것이 다음 단계의 진입점입니다.

FTP 로 대상에 연결

이 단계에서는 발견한 열린 FTP 포트에 연결을 시도합니다. FTP(File Transfer Protocol) 는 서버와 클라이언트 간에 컴퓨터 파일을 전송하는 데 사용되는 표준 통신 프로토콜입니다. 주요 취약점은 적절한 인증 없이 익명 액세스를 허용하도록 잘못 구성될 수 있다는 것입니다. 우리는 익명 로그인을 허용하는 일반적인 잘못된 구성을 악용할 것입니다.

target에 연결하려면 ftp 명령을 실행하십시오.

ftp target

FTP 서비스에 연결되고 사용자 이름에 대한 프롬프트가 표시됩니다.

Connected to target.
220 (vsFTPd 3.0.5)
Name (target:labex):

시스템에서 로그인을 요청합니다. FTP 서비스의 일반적인 잘못된 구성은 익명 액세스를 허용합니다. 로그인 프롬프트에서 anonymous를 입력하고 Enter 키를 누릅니다. 서비스는 암호 없이 익명 액세스를 허용하도록 구성되어 있으므로 암호를 묻는 메시지가 표시될 때 Enter 키를 다시 누르면 됩니다.

Name (target:labex): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

성공하면 로그인되고 FTP 프롬프트 (ftp>) 가 표시됩니다. 이는 FTP 서비스에 액세스했음을 나타냅니다.

ftp>

이제 FTP 서비스에 연결되었으며 원격 파일 시스템과 상호 작용할 수 있습니다.

대상 시스템 탐색 및 Flag 찾기

이 단계에서는 FTP 서비스에 성공적으로 액세스한 후, 사용 가능한 파일을 탐색하고 플래그를 다운로드하는 것이 최종 작업입니다. 이는 공격자가 민감한 정보를 찾는 사후 공격 단계를 시뮬레이션합니다.

현재 FTP 서비스에 연결되어 있습니다. ls 명령을 사용하여 현재 원격 위치의 파일 및 디렉토리를 나열하십시오.

ftp > ls

파일 목록이 표시됩니다. flag.txt라는 파일을 찾으십시오.

ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 0        0              42 Sep 15 11:30 flag.txt
226 Directory send OK.
ftp>

파일을 찾았으므로 get 명령을 사용하여 로컬 머신으로 다운로드하십시오. 이렇게 하면 파일이 원격 서버에서 현재 로컬 디렉토리로 전송됩니다.

ftp > get flag.txt

파일이 다운로드되고 전송 상태 메시지가 표시됩니다.

ftp> get flag.txt
local: flag.txt remote: flag.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for flag.txt (42 bytes).
226 Transfer complete.
42 bytes received in 0.00 secs (17.6 kB/s)
ftp>

이제 FTP 세션을 종료하고 다운로드한 파일 내용을 확인하십시오.

ftp > exit

cat 명령을 사용하여 다운로드한 flag.txt 파일의 내용을 표시하십시오.

cat flag.txt

터미널에 플래그의 해시 값이 표시됩니다.

labex{d3adb33f_p0rt_sc4nn1ng_m4st3ry}

축하합니다! 대상 시스템에서 플래그를 성공적으로 열거, 액세스 및 검색했습니다. 플래그 값을 복사하여 실험실을 완료하십시오.

요약

이 실험실에서는 정찰부터 액세스 획득까지 기본적인 침투 테스트 워크플로우를 완료했습니다. 다음을 배웠습니다.

  • ping을 사용하여 대상이 온라인 상태이고 도달 가능한지 확인합니다.
  • nmap -sV를 사용하여 포트 스캔을 수행하고 열린 포트와 해당 포트에서 실행 중인 서비스를 식별합니다.
  • 익명 액세스가 가능한 잘못 구성된 FTP 서비스를 식별하고 연결합니다.
  • 일반적인 잘못된 구성을 악용하여 원격 시스템의 파일에 액세스합니다.
  • FTP 명령을 사용하여 원격 서버에서 파일을 나열하고 다운로드합니다.

이 연습은 네트워크 보안 기본 사항의 중요성을 강조합니다. FTP 서비스는 인증 및 액세스 제어를 사용하여 올바르게 구성해야 합니다. 익명 액세스는 특별히 필요한 경우가 아니면 비활성화해야 하며, 모든 파일 전송 서비스는 SFTP 또는 FTPS 와 같은 보안 프로토콜을 사용해야 합니다. 공격자가 작동하는 방식을 이해함으로써 자신의 시스템을 더 잘 방어할 수 있습니다.