Symlink (legătură simbolică)

Pe UNIX , un link simbolic este locul unde un fișier dintr-un singur director acționează ca un pointer la un fișier dintr-un alt director. De exemplu, puteți crea un link astfel încât toate accesările fișierului / tmp / foo să acționeze într-adevăr asupra fișierului / etc / passwd.

Cum pot fi exploatate legăturile simbolice

Această caracteristică poate fi adesea exploatată. În timp ce un utilizator non-root nu are permisiunea de a scrie fișiere administrative ca / ​​etc / passwd, cu siguranță poate crea legături către ele în directorul / tmp sau în directorul local. SUID poate fi apoi exploatat prin care ei cred că acționează asupra unui fișier de utilizator, care în schimb acționează asupra fișierului administrativ original. Acesta este modul în care utilizatorii locali își pot escalada privilegiile pe un sistem. Exemplu: deget Un utilizator ar putea conecta fișierul .plan la orice alt fișier din sistem. Un daemon cu deget care rulează cu privilegii root va urma linkul la acel fișier și îl va citi după executarea unei căutări a degetului.