Starije izmjene na obje strane
Starija izmjena
Novija izmjena
|
Starija izmjena
|
racfor_wiki:razno:eskalacija_privilegija_na_linux_operacijskom_sustavu [2022/01/06 11:09] vgrozdanic [Zaključak] |
racfor_wiki:razno:eskalacija_privilegija_na_linux_operacijskom_sustavu [2024/12/05 12:24] (trenutno) |
| |
===== Što je eskalacija privilegija ===== | ===== Što je eskalacija privilegija ===== |
Eskalacija privilegija (//privilege escalation//) je proces u kojem se iskorištava pogreška (//bug//), mana u dizajnu (//design flaw//) ili pogreška u konfiguraciji opereacijskog sustava ili neke aplikacije kako bi se dobila viša razina pristupa nekom resursu kojem inače trenutni korisnik ima ograničen pristup. Na skoro svakoj Linux distribuciji postoji ''/root'' direktorij i sadržaju tog direktorija samo //root// (korisnik s najviše prava na računalu, nešto poput superadmin korisnika) korisnik ima pristup. Primjer eskalacije privilegija bi bilo kada bi običan korisnik uspio pristupiti sadržaju tog ''/root'' tako što je iskoristio manu u nekom procesu (aplikaciji ili OS-u) koji je pokrenut s pravima //root// korisnika. | Eskalacija privilegija (//privilege escalation//) je proces u kojem se iskorištava pogreška (//bug//), mana u dizajnu (//design flaw//) ili pogreška u konfiguraciji operacijskog sustava ili neke aplikacije kako bi se dobila viša razina pristupa nekom resursu kojem inače trenutni korisnik ima ograničen pristup. Na skoro svakoj Linux distribuciji postoji ''/root'' direktorij i sadržaju tog direktorija samo //root// (korisnik s najviše prava na računalu, nešto poput super-admin korisnika) korisnik ima pristup. Primjer eskalacije privilegija bi bilo kada bi običan korisnik uspio pristupiti sadržaju tog ''/root'' tako što je iskoristio manu u nekom procesu (aplikaciji ili OS-u) koji je pokrenut s pravima //root// korisnika. |
| |
Postoje dvije vrste eskalacije privilegija: | Postoje dvije vrste eskalacije privilegija: |
| |
=== SUID binarne datoteke ==== | === SUID binarne datoteke ==== |
Na Linux operacijskom sustavu datoteke imaju posebne zastavice koje označavaju koje dozvole imaju pojedine datoteke. Također, u meta podacima postoje i oznake tko je vlasnik pojedine datoteke u sustavu. Najčešće je to korisnik koji je kreirao tu datoteku, ali se vlasnik može naknadno promijeniti. Jedna od tih zastavica koje se nalaze u meta podacima datoteke je i **SUID** zastavica. //SUID// ima značenje //"set user ID up on execution"// i ako datoteka koja ima ovu zastavicu postavljenu tada će ta datoteka (uglavnom se radi o binarnim datotekama) biti pokrenuta s pravima korisnika koji ju je kreirao, umjesto s pravim korisnika koji ju je pokrenuo. | Na Linux operacijskom sustavu datoteke imaju posebne zastavice koje označavaju koje dozvole imaju pojedine datoteke. Također, u meta podacima postoje i oznake tko je vlasnik pojedine datoteke u sustavu. Najčešće je to korisnik koji je kreirao tu datoteku, ali se vlasnik može naknadno promijeniti. Jedna od tih zastavica koje se nalaze u meta podacima datoteke je i **SUID** zastavica. //SUID// ima značenje //"set user ID up on execution"// i ako datoteka ima ovu zastavicu postavljenu tada će ta datoteka (uglavnom se radi o binarnim datotekama) biti pokrenuta s pravima korisnika koji ju je kreirao, umjesto s pravima korisnika koji ju je pokrenuo. |
| |
Primjer datoteke s postavljenim SUID bitom prilikom korištenja naredbe ''ls'', SUID zastavica ima oznaku **s**: | Primjer datoteke s postavljenim SUID bitom prilikom korištenja naredbe ''ls'', SUID zastavica ima oznaku **s**: |
moguće iskoristiti tu ranjivost, sve što je potrebno je pokrenuti [[https://github.com/worawit/CVE-2021-3156|Python skriptu]] na sustavu koji napadamo i ukoliko postoji verzija ''sudo'' naredbe koja je ranjiva, dobit ćemo ''root shell'' na tom računalu i možemo izvršavati bilo koju naredbu kao ''root'' korisnik. Većina sustava je odmah instalirala hitne zakrpe, no postoje još uvijek neki sustavi koji nisu ažurirali instalirane aplikacije. | moguće iskoristiti tu ranjivost, sve što je potrebno je pokrenuti [[https://github.com/worawit/CVE-2021-3156|Python skriptu]] na sustavu koji napadamo i ukoliko postoji verzija ''sudo'' naredbe koja je ranjiva, dobit ćemo ''root shell'' na tom računalu i možemo izvršavati bilo koju naredbu kao ''root'' korisnik. Većina sustava je odmah instalirala hitne zakrpe, no postoje još uvijek neki sustavi koji nisu ažurirali instalirane aplikacije. |
| |
=== CVE-2016-5195 (DirtyCow) === | === DirtyCow (CVE-2016-5195) === |
//**Dirty Cow**// (Dirty copy-on-write) ranjivost je možda i najpoznatija ranjivost kojom se može izvesti eskalacija privilegija. Ranjivost cilja na grešku u kodu Linux kernela koja u sustavu za upravljanje memorijom ima pogrešku u implementaciji [[https://en.wikipedia.org/wiki/Copy-on-write|copy-on-write]] mehanizma. Ranjivost je uvedena u Linux kernel još davne 2007. godine i postojala je sve do 2016. godine u svim verzijama Linux kernela, čak i u onima koje su se nalazile na Android telefonima. Za ovu ranjivost postoje već brojne [[https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs|gotove skripte]] koje za nas odrađuju "prljavi posao" i omogućuju nam ostvarivanje ''root'' prava i izvršavanje naredbi kao ''root'' korisnik. | //**Dirty Cow**// (Dirty copy-on-write) ranjivost je možda i najpoznatija ranjivost kojom se može izvesti eskalacija privilegija. Ranjivost cilja na grešku u kodu Linux kernela koja u sustavu za upravljanje memorijom ima pogrešku u implementaciji [[https://en.wikipedia.org/wiki/Copy-on-write|copy-on-write]] mehanizma. Ranjivost je uvedena u Linux kernel još davne 2007. godine i postojala je sve do 2016. godine u svim verzijama Linux kernela, čak i u onima koje su se nalazile na Android telefonima. Za ovu ranjivost postoje već brojne [[https://github.com/dirtycow/dirtycow.github.io/wiki/PoCs|gotove skripte]] koje za nas odrađuju "prljavi posao" i omogućuju nam ostvarivanje ''root'' prava i izvršavanje naredbi kao ''root'' korisnik. |
Antivirusni programi možda mogu detektirati eskalaciju ovlasti trenutnog korisnika, ali ne mogu nikako spriječiti napad i jedina obrana od ovog napada je ažuriranje kernela na novije verzije. | Antivirusni programi možda mogu detektirati eskalaciju ovlasti trenutnog korisnika, ali ne mogu nikako spriječiti napad i jedina obrana od ovog napada je ažuriranje kernela na novije verzije. |