Haluatko saada pääkäyttäjän pääsyn Linux-järjestelmään? Tässä on joitain parhaista tavoista luetella Linux-kone.

Luettelo on yksi läpäisytestauksen keskeisistä vaiheista. Se on ensimmäinen asia, joka on tehtävä, kun olet vaarantanut kohdejärjestelmän läpäisytestaajana. Vaikka tämän prosessin automatisoimiseen on lukuisia työkaluja, on aina suositeltavaa käydä läpi ja tarkistaa järjestelmä manuaalisesti mahdollisten etuoikeuksien eskaloitumisen vektoreiden varalta.

Katsotaanpa erilaisia ​​tapoja luetella manuaalisesti Linux-järjestelmä käyttöoikeuksien eskalointia varten.

Miksi luettelointi on tärkeää etuoikeuksien eskaloinnin kannalta?

Etuoikeuksien eskalaatio, joka tunnetaan myös nimellä Escalation of Privilege (EOP), on keskeinen osa penetraatiotestausta ja penetraatiotestausmenetelmää. Kuten nimestä voi päätellä, se on vaihe, jolloin yrität nostaa oikeuksiasi järjestelmänvalvojalle tai Linux-järjestelmissä pääkäyttäjälle.

Pääkäyttäjän oikeuksien saamiseksi sinun on ensin löydettävä järjestelmästä haavoittuvuus. Tässä tulee esiin luettelointi. Vaikka luettelon automatisoimiseen on työkaluja, manuaalinen ja perusteellinen luettelointi voi useimmiten paljastaa virheellisiä määrityksiä ja muita haavoittuvuuksia, joita työkalut eivät havaitse.

instagram viewer

1. Järjestelmän luettelo

Ensimmäinen asia, joka sinun tulee tehdä saatuasi alustavan jalansijan, on oppia järjestelmään, johon sinulla on pääsy. Tämä auttaa sinua optimoimaan hyötykuormasi vastaamaan arkkitehtuuria ja varmistamaan hyötykuormiesi maksimaalisen yhteensopivuuden kohdejärjestelmän kanssa.

Jos sinulla on esimerkiksi 64-bittinen hyväksikäyttö, sinun on muokattava sitä, jos kohdejärjestelmäsi tukee vain 32-bittistä ohjelmistoa, koska 32-bittisten ja 64-bittisten järjestelmien välillä on ero.

Lisäksi ytimen version tunteminen auttaa sinua etsimään hyväksikäyttöjä verkossa siltä varalta, että versio on vanhentunut ja alttiina julkiselle hyväksikäytölle. Tässä on joitain komentoja, jotka auttavat sinua hakemaan järjestelmätietoja:

Löydät järjestelmätiedot, kuten ytimen version, käyttöjärjestelmän julkaisun jne. kirjoittamalla:

cat /etc/cpuinfo 
uname -a

Jos haluat oppia lisää CPU-arkkitehtuurista, käytä lscpu-komentoa:

lscpu

2. Prosessin luettelointi

Prosessit ovat suoritettavia ohjelmia. Linux-järjestelmän prosessien täydellisen luettelon tunteminen yhdessä muutamien muiden luettelointitaktiikkojen kanssa Tässä oppaassa mainitut ohjeet auttavat sinua tunnistamaan mahdollisesti haavoittuvia prosesseja ja hyödyntämään niitä etuoikeus.

Jos esimerkiksi löydät prosessin, joka on käynnissä pääkäyttäjän oikeuksilla, saatat pystyä syöttämään siihen mielivaltaista koodia, mikä voi johtaa oikeuksien onnistuneeseen eskaloitumiseen.

Voit käyttää ps-komento kanssa aux liput luettelemaan kaikki järjestelmän prosessit:

ps aux

3. Käyttäjien ja ryhmien luettelo

Käyttäjien ja ryhmien luettelointi on tärkeää, jotta voidaan selvittää, kenellä on pääsy mihinkin järjestelmän osaan. Kun tiedät tämän, voit kohdistaa tavoitteesi tehokkaasti ja rakentaa tehokkaan hyökkäysstrategian. Lisäksi pystyt luomaan kunnollisia kartoituksia ja ymmärtämään kunkin tilin roolit ja oikeudet.

Kun sinulla on etuoikeutettujen tilien näkyvyys, voit kokeilla tunnettuja käyttäjänimi-salasana-yhdistelmiä. Voit tulostaa sisällön /etc/passwd ja /etc/group tiedostoja päästäksesi käyttäjäluetteloon. Vaihtoehtoisesti voit käyttää myös getent-komentoa.

Vastaanottaja saada luettelon käyttäjistä Linuxissa:

getent passwd

Ryhmien luettelon saaminen:

taitava ryhmä

4. Arkaluonteisten tiedostojen tutkiminen

Arkaluonteiset tiedostot, kuten /etc/passwd ja /etc/shadow voi mahdollisesti vuotaa paljon tietoa. From /etc/shadow voit löytää käyttäjien salasanojen tiivisteet ja yrittää murtaa ne hash-murtotyökalulla, kuten Hashcat tai John the Ripper.

Siellä on myös /etc/sudoers tiedosto, joka, jos voit muokata sitä jotenkin, mahdollistaa käyttäjien ja ryhmien sudo-oikeuksien muokkaamisen.

5. Tarkistetaan sudo-käyttöoikeuksia

Sudo-oikeuksien oikea hallinta on ratkaisevan tärkeää Linux-järjestelmän turvallisuuden kannalta. Sudo-oikeuksien analysointi antaa sinulle käsityksen mahdollisista oikeuksien eskaloinnin vektoreista. Jos on virheellisiä määrityksiä, kuten tietyillä ohjelmilla on hälyttävän tasoiset oikeudet, saatat pystyä hyödyntämään niitä päästäksesi pääkäyttäjään.

Tämä on vain esimerkki monista hyökkäysreiteistä, jotka voivat avautua, kun olet selvillä Linux-järjestelmän sudo-oikeuksista. Toinen esimerkki on LD_PRELOAD-kirjaston esilatausmekanismin väärinkäyttö, jonka voit luetella tarkastelemalla sudo-oikeuksia.

sudo -l

6. Linuxin ydinhyödykkeiden löytäminen

Linux-ytimen hyväksikäytöt ovat tappavia, koska ne hyökkäävät vaarantuneessa järjestelmässä toimivan käyttöjärjestelmän ytimeen. Kriittisen ydinvirheen ansiosta voit tehdä järjestelmällä melkein mitä tahansa.

Löytääksesi ytimen hyväksikäytöt, selvitä ensin ytimen versio ja sitten käyttämällä työkalua, kuten searchsploit tai käyttämällä Google Dorksia, etsi sopiva hyväksikäyttö, joka vaikuttaa järjestelmässä olevan ytimen tarkaan versioon.

7. SUID-binaarien hyödyntäminen

SUID on lyhenne sanoista Set Owner User ID suorituksen yhteydessä. Se on erityinen tiedostooikeus, joka asetettuna suorittaa ohjelman omistajansa oikeuksin.

Jos pääkäyttäjä loi ohjelman ja sille oli asetettu SUID-bitti, ohjelmalla olisi suoritettaessa pääkäyttäjän oikeudet. Kuinka SUID: ia voidaan käyttää väärin? Se on yksinkertaista.

Luettele kaikki binaarit, joissa on SUID-bitti asetettu, selaa luetteloa, etsi binaari, johon sinulla on kirjoitusoikeudet, ja muokkaa sen lähdettä lisätäksesi hyötykuormasi. Find-komennolla voit etsiä SUID-binaareja ja ohjata vakiotulosteen osoitteeseen /dev/null:

find / -perm -4000 2>/dev/null

8. Kirjastojen kaappaus

Joskus järjestelmässä saattaa olla käynnissä ohjelmia, jotka käyttävät kirjastoja, jotka eivät ole kirjoitussuojattuja. Tällaisessa tilanteessa voit helposti korvata käytössä olevan kirjaston ja ottaa ohjelman toiminnan hallintaan.

Jos käy hyvä tuuri ja löydät ohjelman, joka toimii pääkäyttäjänä, voit kaapata kirjaston, josta se riippuu, ja mahdollisesti saada pääkäyttäjän käyttöoikeuden.

9. Ympäristömuuttujien tutkiminen ja kaappaus

Ympäristömuuttujat ovat erikoistyyppisiä muuttujia, jotka tietyssä määrin määrittävät järjestelmän ja ohjelmien toiminnan. Tärkeä ympäristömuuttuja on PATH-muuttuja.

Se tallentaa kaikkien järjestelmän suoritettavien binäärien sijainnit. Voit manipuloida PATH-muuttujaa ja ketjuttaa sen muihin haavoittuvuuksiin, kuten kirjaston kaappaamiseen päästäksesi pääkäyttäjän oikeuksiin.

Oletetaan esimerkiksi, että on suoritettava tiedosto, jossa on SUID-bitti asetettu. Toimiakseen oikein se kutsuu binääriä määrittelemättä sen täyttä polkua.

Voit hyödyntää tätä luomalla binaarista kaksoiskappaleen, haitallisen version ja päivittämällä PATH-muuttujan sijainnin haitallinen binaari, joten kun SUID-suoritettava tiedosto ajetaan, haitallinen binaarisi ajetaan pääkäyttäjänä ja pystyt luomaan juurikuoren.

Lisäksi on myös hyvät mahdollisuudet löytää salaisia ​​avaimia ja salasanoja yksinkertaisesti selaamalla ympäristömuuttujia. Voit tulostaa kaikki ympäristömuuttujat env-komennolla:

env

10. Etsi esineitä Bash Historysta

Usein nykyisen käyttäjän historiaa ei poisteta. Voit käyttää tätä väärin saadaksesi pääsyn arkaluonteisiin tietoihin tai suorittaaksesi aiempia komentoja uudelleen muokatuilla parametreilla.

Vaikka nämä eivät todennäköisesti johda oikeuksien eskaloitumiseen, se on hyvä tietovuodot, joka antaa sinulle selvyyden siitä, mitä käyttäjä yleensä tekee järjestelmässä.

11. Haavoittuvien Cron-työpaikkojen kaappaaminen

Cron-työt ovat Linuxin sisäänrakennettu ja erittäin kekseliäs ominaisuus. Jos olet siirtynyt Windowsista, cron-työtä voidaan verrata suoraan ajoitettuun tehtävään Windowsissa.

Se toimii säännöllisesti ja suorittaa komentoja. Sekä ajan, jolloin se suoritetaan, että sen suorittamat komennot ovat käyttäjän ennalta määrittämiä. Joskus saatat löytää muutaman cron-työn, joka on alttiina hyökkäyksille, kuten jokerimerkkiinjektiolle, tai käyttäjä, jolla olet kirjautunut sisään, voi kirjoittaa niihin.

Voit käyttää näitä haavoittuvuuksia väärin saadaksesi pääkäyttäjän oikeudet järjestelmään. Jotta voit hyödyntää cron-työtä, sinun on ensin löydettävä haavoittuvainen. Tässä ovat komennot, joilla luetellaan parhaillaan käynnissä olevat cron-työt ja muut asiaankuuluvat tiedot:

ls /etc/cron.d/
crontab -l -u

12. Vanhentuneiden pakettien luettelointi

Kun olet luonut pääsyn järjestelmään, yksi ensimmäisistä vaiheista, jotka sinun pitäisi tehdä, on luetteloida kaikki asennetut ohjelmistopaketit ja vertailla niiden asennetut versiot niiden uusimpaan versioon.

On mahdollista, että asennettuna on jokin epäselvä paketti, jota ei ehkä käytetä paljon, mutta joka on erittäin alttiina etuoikeuksien eskalaatiohyökkäykselle. Voit sitten hyödyntää pakettia päästäksesi pääkäyttäjään.

Käytä dpkg-komentoa -l -tunniste listaamaan asennetut paketit Debian- ja Ubuntu-pohjaisissa järjestelmissä:

dpkg -l

RHEL/CentOS/Fedora-järjestelmissä käytä tätä komentoa listataksesi asennetut paketit:

rpm -qa 

Nyt tiedät, kuinka Linux luetellaan manuaalisesti etuoikeuksien eskalointia varten

Etuoikeuksien eskaloituminen riippuu yksinomaan luetteloinnista. Mitä enemmän tietoa sinulla on käytettävissäsi, sitä paremmin pystyt suunnittelemaan hyökkäysstrategioitasi.

Tehokas luettelointi on avainasemassa jalansijan luomisessa, oikeuksien laajentamisessa ja onnistuneessa kohdejärjestelmässäsi. Vaikka asioiden tekeminen manuaalisesti auttaa, osa tehtävistä voidaan määrittää automaattisille työkaluille ajan ja vaivan säästämiseksi. Sinun on tiedettävä parhaat suojaustyökalut järjestelmän haavoittuvuuksien tarkistamiseksi.