Rsync 열거 및 익명 동기화

LinuxBeginner
지금 연습하기

소개

Rsync 열거 및 악용에 초점을 맞춘 실습 랩에 오신 것을 환영합니다. Rsync 는 네트워크를 통해 두 위치 간에 파일 및 디렉토리를 동기화하는 데 널리 사용되는 유틸리티입니다. 강력하지만 잘못 구성된 경우 민감한 데이터를 노출할 수 있습니다.

이 랩에서는 백업 서비스가 잘못 구성된 일반적인 침투 테스트 시나리오를 시뮬레이션합니다. 먼저 기본 네트워크 정찰을 수행하여 대상이 온라인 상태인지 확인합니다. 다음으로 nmap 도구를 사용하여 Rsync 서비스를 스캔합니다. 식별되면 사용 가능한 공유를 열거하고 익명 액세스 구성을 악용하여 대상에서 파일을 다운로드하고 궁극적으로 숨겨진 플래그를 검색합니다.

완료 시 다음을 수행하는 방법을 이해하게 됩니다.

  • ping을 사용하여 네트워크 연결 확인
  • 기본 포트에서 Rsync 서비스 스캔 (nmap 사용)
  • 익명 Rsync 공유 열거 및 연결
  • 원격 대상에서 로컬 머신으로 파일 동기화

시작해 보겠습니다.

Ping 으로 대상 연결 확인

이 단계에서는 먼저 대상 시스템이 자신의 머신에서 도달 가능한지 확인하는 것부터 시작합니다. ping 명령은 연결을 테스트하기 위해 호스트에 ICMP Echo Request 패킷을 보내는 표준 네트워크 진단 도구입니다. 이는 모든 네트워크 정찰 작업에서 첫 번째이자 가장 기본적인 단계입니다.

환경에는 호스트 이름 target을 통해 액세스할 수 있는 대상 시스템이 포함되어 있습니다.

터미널에서 다음 명령을 실행하여 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.091 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.068 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.065 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.067 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.065/0.072/0.091/0.011 ms

성공적인 응답을 통해 자신의 머신과 대상 간에 안정적인 네트워크 연결이 존재함을 확인했습니다.

Nmap 으로 열린 포트 스캔

이 단계에서는 nmap을 사용하여 대상의 열린 포트를 스캔하고 실행 중인 서비스를 식별합니다. Nmap 은 네트워크 검색 및 보안 감사를 위한 강력한 도구입니다. Rsync 의 기본 포트인 873에 스캔을 집중할 것입니다.

target의 873 번 포트에 대한 버전 스캔을 수행하려면 다음 명령을 실행합니다.

nmap -sV -p 873 target

이 명령을 자세히 살펴보겠습니다.

  • nmap: Network Mapper 도구를 실행하는 명령입니다.
  • -sV: 버전 감지를 활성화하여 열린 포트에서 실행 중인 서비스의 버전을 결정하려고 시도합니다.
  • -p 873: Nmap 이 873 번 포트만 스캔하도록 지정합니다.

스캔이 완료되면 다음과 유사한 출력이 표시됩니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-12 11:20 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00012s latency).

PORT    STATE SERVICE VERSION
873/tcp open  rsync   (protocol version 31)

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

출력은 873/tcp 포트가 open 상태이며 rsync 서비스를 실행 중임을 확인합니다. 이 정보는 다음 공격 단계에 중요합니다.

Rsync 를 통해 대상에 연결

이 단계에서는 발견된 Rsync 서비스와 상호 작용합니다. 첫 번째 작업은 서버에서 사용 가능한 "모듈" 또는 공유를 나열하는 것입니다. 익명 액세스가 활성화된 경우 서버는 공개적으로 액세스 가능한 디렉토리 목록으로 응답합니다.

target에서 모듈을 나열하려면 다음 명령을 실행합니다.

rsync rsync://target

서버는 사용 가능한 모듈 목록으로 응답해야 합니다. 이 경우 public이라는 모듈이 표시됩니다.

public          Public Files

이제 public이라는 모듈이 존재한다는 것을 알았으므로 해당 내용을 자신의 로컬 머신으로 동기화할 수 있습니다. -av 플래그를 사용합니다. -a는 아카이브 모드 (권한, 소유권 등을 보존) 이고 -v는 자세한 출력을 위한 것입니다.

아래 명령을 실행하여 public 모듈의 내용을 현재 디렉토리 (. ) 로 다운로드합니다.

rsync -av rsync://target/public/ .

이 명령은 대상에 연결하고 파일을 전송한 다음 작업 요약을 표시합니다.

receiving incremental file list
./
flag.txt

sent 43 bytes  received 121 bytes  328.00 bytes/sec
total size is 31  speedup is 0.19

출력은 flag.txt라는 파일이 로컬 디렉토리로 성공적으로 다운로드되었음을 보여줍니다.

대상 시스템 탐색 및 플래그 찾기

이 마지막 단계에서는 Rsync 서버에서 다운로드한 파일을 검사하고 플래그를 검색합니다. 파일을 현재 디렉토리로 동기화했으므로 이제 로컬에서 검사할 수 있습니다.

먼저 ls 명령을 사용하여 현재 디렉토리의 파일을 나열하고 flag.txt가 다운로드되었는지 확인합니다.

ls

출력에 flag.txt가 나열된 것을 볼 수 있습니다.

flag.txt

이제 cat 명령을 사용하여 flag.txt의 내용을 표시합니다. 이렇게 하면 실험을 완료하는 데 필요한 플래그가 표시됩니다.

cat flag.txt

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

labex{rsync_an0nym0us_4cc3ss_fl4g}

축하합니다! Rsync 서비스의 잘못된 구성을 성공적으로 식별하고, 공유를 열거하고, 내용을 다운로드하고, 플래그를 캡처했습니다. 플래그 값을 복사하여 실험을 완료하십시오.

요약

이 실험에서는 Rsync 서비스에 대한 보안 평가를 성공적으로 완료했으며, 정찰부터 공격까지 진행했습니다. 다음을 배웠습니다.

  • ping을 사용하여 대상과의 네트워크 연결 기준선을 설정합니다.
  • nmap을 사용하여 대상 포트 스캔을 수행하고, 열린 Rsync 서비스 및 해당 버전을 식별합니다.
  • Rsync 서버와 상호 작용하여 공개적으로 사용 가능한 모듈을 나열합니다. 이는 열거의 핵심 단계입니다.
  • 익명 액세스 잘못된 구성을 악용하여 대상에서 로컬 머신으로 파일을 동기화합니다.
  • 다운로드한 파일에서 플래그를 찾아 검색하여 목표를 완료합니다.

이 연습은 중요한 보안 원칙을 보여줍니다. Rsync 와 같이 편의를 위해 설계된 서비스는 인증 및 액세스 제어를 통해 적절하게 보호되어야 합니다. Rsync 서버를 익명 액세스에 개방해 두면 심각한 데이터 유출로 이어질 수 있습니다. 이러한 공격 벡터를 이해함으로써 네트워크 서비스를 더 잘 보호할 수 있습니다.