2049 - Pentesting NFS Service
Osnovne informacije
NFS je sistem dizajniran za klijent/server koji omogućava korisnicima da na mreži pristupaju datotekama kao da se one nalaze u lokalnom direktorijumu.
Značajan aspekt ovog protokola je nedostatak ugrađenih mekanizama za autentifikaciju ili autorizaciju. Umesto toga, autorizacija se oslanja na informacije o fajl sistemu, pri čemu je server zadužen za tačno prevođenje informacija o korisniku koje pruža klijent u potrebni format autorizacije fajl sistema, uglavnom prateći UNIX sintaksu.
Autentifikacija se obično oslanja na UNIX UID
/GID
identifikatore i članstvo u grupama. Međutim, izazov se javlja zbog potencijalne neusklađenosti u mapiranjima UID
/GID
između klijenata i servera, ne ostavljajući prostora za dodatnu verifikaciju od strane servera. Stoga je protokol najbolje prilagođen za upotrebu unutar poverenih mreža, s obzirom na njegovu oslanjanje na ovaj metod autentifikacije.
Podrazumevani port: 2049/TCP/UDP (osim verzije 4, koja zahteva samo TCP ili UDP).
Verzije
NFSv2: Ova verzija je poznata po svojoj širokoj kompatibilnosti sa različitim sistemima, a njen značaj se ogleda u tome što su početne operacije uglavnom izvršavane preko UDP-a. Kao najstarija u seriji, postavila je temelje za budući razvoj.
NFSv3: Uvedena sa nizom poboljšanja, NFSv3 je proširio svoje prethodnika podržavajući promenljive veličine fajlova i nudeći unapređeni mehanizam za prijavu grešaka. Uprkos svojim napredovanjima, suočavao se sa ograničenjima u potpunoj kompatibilnosti sa NFSv2 klijentima.
NFSv4: Pionirska verzija u seriji NFS, NFSv4 je donela niz funkcionalnosti dizajniranih za modernizaciju deljenja fajlova preko mreže. Značajna poboljšanja uključuju integraciju Kerberosa za visoku bezbednost, mogućnost prolaska kroz firewall-ove i rad preko interneta bez potrebe za portmaperima, podršku za Access Control List (ACL) i uvođenje operacija zasnovanih na stanju. Njegova poboljšanja performansi i usvajanje protokola sa stanjem izdvajaju NFSv4 kao ključni napredak u tehnologijama deljenja fajlova preko mreže.
Svaka verzija NFS-a je razvijena sa namerom da se adresiraju evoluirajuće potrebe mrežnih okruženja, postepeno unapređujući bezbednost, kompatibilnost i performanse.
Enumeracija
Korisni nmap skriptovi
Korisni metasploit moduli
Metasploit je moćan alat za testiranje penetracije koji pruža širok spektar modula za iskorišćavanje ranjivosti. Ovi moduli omogućavaju hakerima da automatizuju proces pronalaženja i iskorišćavanja ranjivosti u ciljnom sistemu. Evo nekoliko korisnih metasploit modula koji se mogu koristiti u testiranju penetracije:
exploit/multi/handler
: Ovaj modul omogućava hakerima da postave "ručni" iskorišćavač koji će osluškivati dolazne veze i preuzeti kontrolu nad ranjivim sistemom.exploit/windows/smb/ms17_010_eternalblue
: Ovaj modul iskorišćava ranjivost EternalBlue u Windows SMB protokolu kako bi omogućio hakerima da izvrše udaljeni kod na ciljnom Windows sistemu.exploit/linux/ftp/vsftpd_234_backdoor
: Ovaj modul iskorišćava ranjivost u vsftpd FTP serveru verzije 2.3.4 koja omogućava hakerima da dobiju udaljeni pristup sistemu.exploit/multi/http/php_cgi_arg_injection
: Ovaj modul iskorišćava ranjivost u PHP CGI skriptama koja omogućava hakerima da izvrše proizvoljan kod na ciljnom sistemu.exploit/multi/misc/java_rmi_server
: Ovaj modul iskorišćava ranjivost u Java RMI serverima koja omogućava hakerima da izvrše proizvoljan kod na ciljnom sistemu.exploit/multi/browser/java_signed_applet
: Ovaj modul iskorišćava ranjivost u Java potpisanim appletima koja omogućava hakerima da izvrše proizvoljan kod na ciljnom sistemu.
Ovi moduli su samo neki od mnogih dostupnih u Metasploit okruženju. Hakeri mogu koristiti ove module kao deo svoje strategije testiranja penetracije kako bi identifikovali i iskoristili ranjivosti u ciljnom sistemu.
Montiranje
Da biste saznali koji folder na serveru je dostupan za montiranje, možete ga pitati koristeći:
Zatim ga montirajte koristeći:
Treba da specificirate da koristite verziju 2 jer ona nema nikakvu autentifikaciju ili autorizaciju.
Primer:
Dozvole
Ako montirate fasciklu koja sadrži datoteke ili fascikle kojima je pristup dozvoljen samo određenom korisniku (preko UID-a), možete lokalno kreirati korisnika sa tim UID-om i koristiti tog korisnika da biste pristupili datoteci/fascikli.
NSFShell
Da biste lako izlistali, montirali i promenili UID i GID kako biste imali pristup datotekama, možete koristiti nfsshell.
Lepe uputstva za korišćenje NFSShell-a.
Konfiguracione datoteke
Opasne postavke
Dozvole za čitanje i pisanje (
rw
): Ova postavka omogućava i čitanje i pisanje u fajl sistem. Važno je razmotriti posledice davanja tako široke pristupne dozvole.Korišćenje nesigurnih portova (
insecure
): Kada je omogućeno, ovo omogućava sistemu da koristi portove iznad 1024. Sigurnost portova iznad ove opsega može biti manje stroga, povećavajući rizik.Vidljivost ugnježdenih fajl sistema (
nohide
): Ova konfiguracija čini direktorijume vidljivim čak i ako je drugi fajl sistem montiran ispod izvezenog direktorijuma. Svaki direktorijum zahteva svoj sopstveni unos za izvoz radi pravilnog upravljanja.Vlasništvo fajlova od strane korisnika root (
no_root_squash
): Sa ovom postavkom, fajlovi kreirani od strane korisnika root zadržavaju svoj originalni UID/GID od 0, ignorirajući princip najmanjih privilegija i potencijalno dodeljujući prekomerne dozvole.Nesquashing svih korisnika (
no_all_squash
): Ova opcija obezbeđuje da se identiteti korisnika očuvaju u celom sistemu, što može dovesti do problema sa dozvolama i kontrolom pristupa ako se ne rukuje ispravno.
Eskalacija privilegija korišćenjem loše konfigurisanih NFS-a
NFS no_root_squash i no_all_squash eskalacija privilegija
HackTricks Automatske Komande
Last updated