
1. Target Overview (머신 요약)
- Target Name: Synced
- OS: Linux
- Difficulty: Tier 0 (Starting Point)
- Vulnerability: Unauthenticated Rsync Access (비인가 원격 동기화 접근 허용)
- Attack Vector: Rsync Misconfiguration (인증 정책 누락 및 익명 접근 허용)
2. 핵심 개념 총정리
① Rsync (Remote Sync)
- 네트워크 상의 로컬 및 원격 호스트 간에 파일과 디렉토리를 빠르고 효율적으로 동기화하기 위한 유틸리티 및 프로토콜
- 변경된 파일의 델타(Delta) 데이터만 전송하여 대역폭 소모를 최소화
- 데몬(Daemon) 모드로 동작할 경우 기본적으로 873/tcp 포트를 사용하여 클라이언트 연결을 수신
② 익명 인증 및 접근 통제 누락 (Anonymous Authentication)
- Rsync 데몬(rsyncd)은 SSH 터널링을 이용한 암호화 통신이나 자체 인증 모듈을 지원
- 관리자의 설정 오류로 자격 증명 검증(Authentication)이 비활성화될 경우
- 공격자는 어떠한 자격 증명(None) 없이도 익명으로 연결을 수립하여 원격 파일 시스템을 탐색하거나 민감한 데이터를 로컬로 다운로드할 수 있
③ 파일 시스템 열거 (Enumeration)
- Rsync 클라이언트는 특정 옵션(--list-only)을 통해 원격 서버에 공유(Export)된 모듈(디렉토리) 및 파일 목록을 선제적으로 열거하여 정보 수집의 기반을 마련할 수 있음
[Task 1] What is the default port for rsync?
- 정답: 873
- 분석: Rsync 서비스 데몬(rsyncd)이 네트워크를 통해 클라이언트의 동기화 요청을 대기(Listen)하는 표준 TCP 포트 번호
[Task 2] How many TCP ports are open on the remote host?
- 정답: 1
- 분석: nmap -p- [Target IP] 스캐닝 결과, 대상 인프라에서 단 1개의 포트(873/tcp)만이 외부에 활성화되어 있음을 확인
nmap -p- [Target IP]

[Task 3] What is the protocol version used by rsync on the remote machine?
- 정답: 31
- 분석: nmap -sV -p 873 [Target IP] 명령을 통한 서비스 핑거프린팅 결과, 구동 중인 Rsync 프로토콜 데몬의 버전을 식별
nmap -sV -p 873 [Target IP]

[Task 4] What is the most common command name on Linux to interact with rsync?
- 정답: rsync
- 분석: Linux 터미널 환경에서 Rsync 서버에 연결하고 데이터 동기화 및 전송 명령을 수행하는 내장 CLI 클라이언트 명령어
[Task 5] What credentials do you have to pass to rsync in order to use anonymous authentication? anonymous:anonymous, anonymous, None, rsync:rsync
- 정답: None
- 분석: 익명(Anonymous) 인증이 허용된 취약한 Rsync 서버의 경우, 아이디나 패스워드 등 어떠한 형태의 자격 증명(Credentials)도 전달할 필요 없이 서버 통제권을 획득
[Task 6] What is the option to only list shares and files on rsync? (No need to include the leading -- characters)
- 정답: list-only
- 분석: 대상 Rsync 서버와 연결 시 실제 데이터를 다운로드하지 않고, 서버에 공유된 디렉토리(모듈) 및 파일의 리스트 구조만 열거(Enumeration)하도록 지정하는 플래그
[Root Flag] 시스템 침투 및 플래그 추출
- 분석:
- 로컬 공격자 터미널에서 rsync 명령어를 사용하여 대상 시스템을 열거
- 노출된 공유 폴더 내부에 접근
- 플래그 데이터를 로컬로 탈취(Exfiltration)
# 1. 타겟 Rsync 서버의 공유 모듈(디렉토리) 목록 열거
rsync --list-only rsync://[Target IP]/
# 결과: 'public' 이라는 이름의 공유 모듈 식별
# 2. 식별된 'public' 모듈 내부의 파일 시스템 열거
rsync --list-only rsync://[Target IP]/public
# 결과: 'flag.txt' 파일 식별
# 3. 플래그 데이터를 로컬 디렉토리(.)로 덤프 및 탈취
rsync rsync://[Target IP]/public/flag.txt .
# 4. 로컬에서 해시값 확인
cat flag.txt

'CTF > HTB' 카테고리의 다른 글
| Sequel (0) | 2026.04.06 |
|---|---|
| Appointment (1) | 2026.04.06 |
| Mongod (0) | 2026.04.06 |
| Preignition (0) | 2026.04.06 |
| Explosion (0) | 2026.04.06 |
Discussion 0