Norite gauti supervartotojo prieigą prie Linux sistemos? Štai keletas geriausių būdų, kaip išvardyti „Linux“ mašiną.
Sąrašas yra vienas iš pagrindinių skverbties bandymo etapų. Tai pirmas dalykas, kurį reikia padaryti, kai pažeidžiate tikslinę sistemą kaip įsiskverbimo tikrintuvą. Nors yra daugybė įrankių šiam procesui automatizuoti, visada rekomenduojama rankiniu būdu išnagrinėti sistemą ir dar kartą patikrinti, ar sistemoje nėra galimų privilegijų eskalavimo vektorių.
Pažvelkime į skirtingus būdus, kaip rankiniu būdu suskaičiuoti „Linux“ sistemą privilegijų eskalavimui.
Kodėl surašymas yra svarbus privilegijų eskalavimui?
Privilegijų padidinimas, taip pat žinomas kaip privilegijų padidinimas (EOP), yra pagrindinė skverbties testavimo ir skverbties testavimo metodikos sudedamoji dalis. Kaip rodo pavadinimas, tai etapas, kai bandote suteikti administratoriaus arba, Linux sistemose, pagrindinio vartotojo teises.
Norėdami įgyti root teises, pirmiausia turite rasti sistemos pažeidžiamumą. Čia atsiranda surašymas. Nors yra įrankių, skirtų automatizuoti surašymą, dažniausiai rankinis ir išsamus surašymas gali atskleisti netinkamas konfigūracijas ir kitus pažeidžiamumus, kurių įrankiai neatpažįsta.
1. Sistemos surašymas
Pirmas dalykas, kurį turėtumėte padaryti, kai įsitvirtinote, yra sužinoti apie sistemą, prie kurios turite prieigą. Tai padės optimizuoti naudingus krovinius, kad jie atitiktų architektūrą, ir užtikrins maksimalų naudingųjų krovinių suderinamumą su tiksline sistema.
Pavyzdžiui, jei turite 64 bitų išnaudojimą, turėsite jį modifikuoti, jei jūsų tikslinė sistema palaiko tik 32 bitų programinę įrangą, nes skiriasi 32 bitų ir 64 bitų sistemos.
Be to, žinodami branduolio versiją, galėsite ieškoti išnaudojimų internete, jei pastebėsite, kad versija yra pasenusi ir pažeidžiama viešo išnaudojimo. Štai keletas komandų, kurios padės gauti sistemos informaciją:
Norėdami rasti sistemos informaciją, pvz., branduolio versiją, OS leidimą ir kt., įveskite:
katė /etc/cpuinfo
uname -a
Jei norite sužinoti daugiau apie procesoriaus architektūrą, naudokite komandą lscpu:
lscpu
2. Proceso surašymas
Procesai yra vykdomos programos. Žinodami visą „Linux“ sistemos procesų sąrašą, kartu su keletu kitų surašymo taktikos Šiame vadove paminėta informacija padės nustatyti potencialiai pažeidžiamus procesus ir panaudoti juos siekiant pagerinti privilegija.
Pavyzdžiui, jei radote procesą, veikiantį su root teisėmis, galbūt galėsite į jį įterpti savavališką kodą, kuris gali lemti sėkmingą privilegijų eskalavimą.
Tu gali naudoti ps komanda su aux vėliavėlės, kad būtų išvardyti visi sistemos procesai:
ps aux
3. Vartotojų ir grupių išvardijimas
Vartotojų ir grupių sąrašas yra svarbus norint išsiaiškinti, kas turi prieigą prie kurios sistemos dalies. Tai žinodami, galite efektyviai aprėpti savo taikinius ir sukurti veiksmingą puolimo strategiją. Be to, galite sukurti tinkamus atvaizdus ir nuodugniai suprasti kiekvienos paskyros vaidmenis bei privilegijas.
Turėdami privilegijuotų paskyrų matomumą, galite išbandyti žinomus vartotojo vardo ir slaptažodžio derinius. Galite atspausdinti turinį /etc/passwd ir /etc/group failus, kad pasiektumėte vartotojų sąrašą. Arba taip pat galite naudoti komandą getent.
Į gauti „Linux“ naudotojų sąrašą:
getent passwd
Norėdami gauti grupių sąrašą:
jautri grupė
4. Tiriama, ar nėra jautrių failų
Jautrius failus, pvz /etc/passwd ir /etc/shadow gali nutekėti daug informacijos. Iš /etc/shadow galite rasti vartotojų slaptažodžių maišą ir pabandyti jas nulaužti naudodami maišos nulaužimo įrankį, pvz., Hashcat arba John the Ripper.
Taip pat yra /etc/sudoers failą, kuris, jei galėsite jį kažkaip redaguoti, leis keisti sudo leidimus vartotojams ir grupėms.
5. Tikrinami sudo leidimai
Tinkamas sudo leidimų valdymas yra labai svarbus Linux sistemos saugai. Sudo leidimų analizė suteiks jums įžvalgos apie galimus privilegijų eskalavimo vektorius. Jei yra klaidingų konfigūracijų, pavyzdžiui, tam tikros programos turi nerimą keliantį privilegijų lygį, galbūt galėsite jas išnaudoti norėdami gauti root prieigą.
Tai tik pavyzdys daugelio atakų būdų, kurie gali atsidaryti, kai aiškūs sudo leidimai Linux sistemoje. Kitas pavyzdys būtų piktnaudžiavimas LD_PRELOAD bibliotekos išankstinio įkėlimo mechanizmu, kurį galite išvardyti žiūrėdami sudo leidimus.
sudo -l
6. „Linux“ branduolio išnaudojimų paieška
„Linux“ branduolio išnaudojimai yra mirtini, nes jie atakuoja pažeistoje sistemoje veikiančios OS branduolį. Esant kritiniam branduolio trūkumui, su sistema galėsite daryti beveik bet ką.
Norėdami rasti branduolio išnaudojimus, pirmiausia išsiaiškinkite branduolio versiją ir tada naudodami įrankį, pvz., searchsploit arba, naudojant Google Dorks, suraskite tinkamą išnaudojimą, paveikiantį tikslią sistemoje veikiančio branduolio versiją.
7. SUID dvejetainių failų naudojimas
SUID yra santrumpa, reiškianti Nustatyti savininko vartotojo ID vykdymo metu. Tai yra specialus failo leidimo tipas, kuris, kai nustatytas, vykdo programą su savininko teisėmis.
Jei programą sukūrė pagrindinis vartotojas ir jai buvo nustatytas SUID bitas, programa, kai ji bus vykdoma, turės root teises. Kaip galima piktnaudžiauti SUID? Tai paprasta.
Išvardykite visus dvejetainius failus su SUID bitais, peržiūrėkite sąrašą, suraskite dvejetainį failą, kuriam turite rašymo prieigą, ir redaguokite jo šaltinį, kad pridėtumėte naudingą apkrovą. Galite naudoti komandą rasti, norėdami ieškoti SUID dvejetainių failų ir peradresuoti standartinę išvestį į /dev/null:
rasti / -perm -4000 2>/dev/null
8. Bibliotekų užgrobimas
Kartais sistemoje gali veikti programos, kurios naudoja bibliotekas, kurios nėra apsaugotos nuo įrašymo. Tokiu atveju galite lengvai perrašyti naudojamą biblioteką ir perimti programos funkcionalumo valdymą.
Jei jums pasiseks ir rasite programą, veikiančią kaip root, galite užgrobti biblioteką, nuo kurios ji priklauso, ir galbūt gauti root apvalkalo prieigą.
9. Aplinkos kintamųjų tyrimas ir užgrobimas
Aplinkos kintamieji yra specialūs kintamųjų tipai, kurie tam tikru mastu apibrėžia, kaip veikia sistema ir programos. Svarbus aplinkos kintamasis yra PATH kintamasis.
Jis saugo visų vykdomųjų dvejetainių failų vietą sistemoje. Galite manipuliuoti PATH kintamuoju ir susieti jį su kitais pažeidžiamumu, pvz., bibliotekos užgrobimu, kad gautumėte root prieigą.
Pavyzdžiui, tarkime, kad yra vykdomasis failas su SUID bitų rinkiniu. Kad veiktų tinkamai, jis iškviečia dvejetainį kodą, nenurodydamas viso jo kelio.
Galite pasinaudoti tuo, sukurdami pasikartojančią, kenkėjišką dvejetainio failo versiją ir atnaujindami PATH kintamąjį nurodydami vietą kenkėjiškas dvejetainis failas, todėl paleidus SUID vykdomąjį failą, jūsų kenksmingas dvejetainis failas bus paleistas kaip root ir galėsite sukurti šakninį apvalkalą.
Be to, yra didelė tikimybė rasti slaptus raktus ir slaptažodžius tiesiog peržiūrint aplinkos kintamuosius. Visus aplinkos kintamuosius galite spausdinti naudodami komandą env:
env
10. Raskite artefaktus Bash istorijoje
Dažnai dabartinio vartotojo istorija nebus ištrinta. Galite tuo piktnaudžiauti, kad gautumėte prieigą prie slaptos informacijos arba iš naujo paleistumėte ankstesnes komandas su pakeistais parametrais.
Nors tai tikriausiai nesukels privilegijų eskalavimo, tai yra geras informacijos nutekėjimo šaltinis, suteikiantis jums aiškumo, ką vartotojas paprastai veikia sistemoje.
11. Pažeidžiamų Cron Jobs užgrobimas
„Cron“ darbai yra integruota ir labai išradinga „Linux“ funkcija. Jei perėjote iš Windows, cron užduotį galima tiesiogiai palyginti su suplanuota užduotimi sistemoje Windows.
Jis veikia periodiškai ir vykdo komandas. Tiek laiką, kada jis bus paleistas, tiek vykdymas komandas, iš anksto nustato vartotojas. Kartais galite rasti keletą cron užduočių, pažeidžiamų atakų, pvz., pakaitos simbolių injekcijos, arba jas gali įrašyti naudotojas, kuriuo esate prisijungę.
Galite piktnaudžiauti šiais pažeidžiamumais, kad gautumėte pagrindinę prieigą prie sistemos. Norėdami išnaudoti cron darbą, pirmiausia turite rasti pažeidžiamą. Čia yra komandos, skirtos šiuo metu vykdomoms cron užduotims ir kitiems svarbiems duomenims išvardyti:
ls /etc/cron.d/
crontab -l -u
12. Pasenusių paketų sąrašas
Sukūrę prieigą prie sistemos, vienas iš pirmųjų žingsnių, kurį turėtumėte atlikti, yra išvardyti visus įdiegtus programinės įrangos paketus ir suderinti jų įdiegtas versijas su naujausia versija.
Gali būti, kad įdiegtas neaiškus paketas, kuris gali būti mažai naudojamas, tačiau yra labai pažeidžiamas privilegijų eskalavimo atakos. Tada galite išnaudoti šį paketą, kad gautumėte root prieigą.
Naudokite komandą dpkg su -l žyma, skirta išvardyti įdiegtus paketus Debian ir Ubuntu pagrįstose sistemose:
dpkg -l
RHEL / CentOS / Fedora sistemoms naudokite šią komandą, kad pateiktumėte įdiegtų paketų sąrašą:
rpm -qa
Dabar jūs žinote, kaip rankiniu būdu išvardinti „Linux“ privilegijų eskalavimui
Privilegijų eskalavimas priklauso tik nuo surašymo. Kuo daugiau informacijos turėsite prieigą, tuo geriau galėsite planuoti savo puolimo strategijas.
Veiksmingas surašymas yra labai svarbus norint įsitvirtinti, padidinti privilegijas ir sėkmingai išlikti tikslinėje sistemoje. Nors dalykų atlikimas rankiniu būdu padeda, kai kurias užduotis galima priskirti automatiniams įrankiams, kad sutaupytumėte laiko ir pastangų. Turite žinoti apie geriausius saugos įrankius, kad patikrintumėte, ar sistemoje nėra pažeidžiamumų.