Superuser hozzáférést szeretne szerezni egy Linux rendszerhez? Íme néhány legjobb módja a Linux-gépek felsorolásának.

A felsorolás a penetrációs tesztelés egyik kulcsfontosságú szakasza. Ez az első dolog, amit meg kell tennie, ha penetrációs tesztelőként kompromittál egy célrendszert. Bár számos eszköz létezik ennek a folyamatnak a automatizálására, mindig ajánlott manuálisan átkutatni és kétszer is ellenőrizni a rendszert a jogosultságok eszkalációjának lehetséges vektoraira.

Nézzük meg a Linux-rendszerek manuális felsorolásának különböző módjait a jogosultságok kiterjesztéséhez.

Miért fontos a felsorolás a jogosultságok eszkalációjához?

A privilégiumok eszkalációja, más néven a privilégiumok eszkalációja (EOP), a penetrációs tesztelés és a penetrációs tesztelési módszertan alapvető összetevője. Ahogy a neve is sugallja, ez egy olyan szakasz, amikor megpróbálja felemelni a jogosultságait az adminisztrátorra, vagy Linux rendszereken a root felhasználóra.

A root jogosultságok megszerzéséhez először meg kell találnia a rendszer biztonsági rését. Itt jön képbe a felsorolás. Bár léteznek eszközök a felsorolás automatizálására, a kézi és alapos felsorolás leggyakrabban olyan helytelen konfigurációkat és más sebezhetőségeket tár fel, amelyeket az eszközök nem észlelnek.

instagram viewer

1. Rendszerfelsorolás

Az első dolog, amit meg kell tennie a kezdeti láb megszerzése után, hogy megismerje a rendszert, amelyhez hozzáférést biztosított. Ez segít optimalizálni a hasznos terheket, hogy azok illeszkedjenek az architektúrához, és biztosítsák a hasznos terhek maximális kompatibilitását a célrendszerrel.

Például, ha van egy 64 bites exploitja, akkor módosítania kell azt, ha a célrendszere csak a 32 bites szoftvert támogatja, mivel különbség van a 32 bites és a 64 bites rendszerek között.

Ezenkívül a kernelverzió ismerete segít a weben való kizsákmányolásban, arra az esetre, ha úgy találná, hogy a verzió elavult, és ki van téve egy nyilvános kizsákmányolásnak. Íme néhány parancs, amelyek segítenek a rendszerinformációk lekérésében:

A rendszerinformációk, például a kernel verziója, az operációs rendszer kiadása stb. megkereséséhez írja be:

cat /etc/cpuinfo 
uname -a

Ha többet szeretne megtudni a CPU architektúráról, használja az lscpu parancsot:

lscpu

2. Folyamat Felsorolás

A folyamatok végrehajtás alatt álló programok. A Linux rendszeren futó folyamatok teljes listájának ismerete, néhány egyéb felsorolási taktikával párosítva Az ebben az útmutatóban említett lépések segítenek azonosítani a potenciálisan sérülékeny folyamatokat, és felhasználni őket a javításukra kiváltság.

Például, ha olyan folyamatot talál, amely root jogosultságokkal fut, akkor tetszőleges kódot fecskendezhet bele, ami a jogosultságok sikeres eszkalációjához vezethet.

Te tudod használni a ps parancsot a... val aux jelzők a rendszer összes folyamatának felsorolásához:

ps aux

3. Felhasználók és csoportok felsorolása

A felhasználók és csoportok felsorolása fontos annak megállapításához, hogy ki férhet hozzá a rendszer mely részéhez. Ennek ismerete lehetővé teszi a célpontok hatékony behatárolását és hatékony támadási stratégia felépítését. Ezenkívül megfelelő leképezéseket hozhat létre, és alaposan megértheti az egyes fiókok szerepeit és jogosultságait.

A privilegizált fiókok láthatósága lehetővé teszi az ismert felhasználónév-jelszó kombinációk kipróbálását. Kinyomtathatja a tartalmát /etc/passwd és /etc/group fájlokat a felhasználók listájának eléréséhez. Alternatív megoldásként használhatja a getent parancsot is.

Nak nek kapja meg a Linux felhasználók listáját:

getent passwd

A csoportok listájának megtekintéséhez:

getens csoport

4. Érzékeny fájlok keresése

Érzékeny fájlok, mint pl /etc/passwd és /etc/shadow potenciálisan sok információ szivároghat ki. Tól től /etc/shadow megtalálhatja a felhasználók jelszavának kivonatait, és megkísérelheti feltörni azokat egy hash-feltörő eszközzel, mint például a Hashcat vagy John the Ripper.

Ott van még a /etc/sudoers fájl, amely, ha valahogy szerkeszthető, lehetővé teszi a felhasználók és csoportok sudo engedélyeinek módosítását.

5. A sudo engedélyeinek ellenőrzése

A sudo engedélyek megfelelő kezelése kulcsfontosságú a Linux rendszer biztonsága szempontjából. A sudo-engedélyek elemzése betekintést nyújt a jogosultságok eszkalációjának lehetséges vektoraiba. Ha hibás konfigurációk vannak, például bizonyos programok riasztó szintű jogosultságokkal rendelkeznek, akkor előfordulhat, hogy ezeket kihasználva root hozzáférést szerezhet.

Ez csak egy példa a számos támadási útvonalra, amelyek megnyílhatnak, ha tisztában vagyunk a Linux rendszer sudo engedélyeivel. Egy másik példa az LD_PRELOAD könyvtár előbetöltési mechanizmusával való visszaélés, amelyet a sudo engedélyek alapján sorolhat fel.

sudo -l

6. Linux kernel exploit keresése

A Linux kernel exploitjai halálosak, mert megtámadják a feltört rendszeren futó operációs rendszer magját. Egy kritikus kernelhibával szinte bármit megtehet a rendszerrel.

A kernel exploitjainak megtalálásához először keresse meg a kernel verzióját, majd egy olyan eszközzel, mint a searchsploit vagy a Google Dorks használatával, találjon megfelelő exploitot, amely a rendszeren futó kernel pontos verzióját érinti.

7. A SUID binárisok kihasználása

A SUID a Set Owner User ID rövidítése végrehajtáskor. Ez egy speciális típusú fájljogosultság, amely beállításakor a tulajdonosának jogaival hajt végre egy programot.

Ha egy programot a root felhasználó hozott létre, és a SUID bit be van állítva, akkor a program végrehajtásakor root jogosultságokkal fog rendelkezni. Hogyan lehet visszaélni a SUID-dal? Ez egyszerű.

Sorolja fel az összes SUID bitkészlettel rendelkező bináris fájlt, böngéssze át a listát, keresse meg azt a bináris fájlt, amelyhez írási hozzáférése van, és módosítsa a forrását a hasznos terhelés hozzáadásához. A find paranccsal megkeresheti a SUID binárisokat, és átirányíthatja a szabványos kimenetet ide /dev/null:

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

8. Könyvtárak eltérítése

Előfordulhat, hogy a rendszeren olyan programok futnak, amelyek nem írásvédett könyvtárakat használnak. Ilyen esetben könnyen felülírhatja a használatban lévő könyvtárat, és átveheti az irányítást a program működése felett.

Ha szerencséje van, és talál egy programot, amely rootként fut, eltérítheti a könyvtárat, amelytől függ, és potenciálisan root shell hozzáférést kaphat.

9. Környezeti változók vizsgálata és eltérítése

A környezeti változók speciális típusú változók, amelyek bizonyos mértékig meghatározzák a rendszer és a programok működését. Fontos környezeti változó a PATH változó.

Tárolja a rendszerben lévő összes végrehajtható bináris fájl helyét. A PATH változót manipulálhatja, és más sérülékenységekkel láncolhatja, például könyvtár-eltérítéssel, hogy root hozzáférést kapjon.

Tegyük fel például, hogy van egy végrehajtható fájl SUID bitkészlettel. A megfelelő működéshez egy binárist hív meg anélkül, hogy meghatározná a teljes elérési utat.

Kihasználhatja ezt a bináris fájl duplikált, rosszindulatú verziójának létrehozásával, és a PATH változó helyének frissítésével. a rosszindulatú bináris, így amikor a SUID végrehajtható fájl fut, a rosszindulatú binárisod rootként fog futni, és képes leszel root shellt létrehozni.

Ezen túlmenően jó esély van titkos kulcsok és jelszavak megtalálására is, ha egyszerűen átnézi a környezeti változókat. Az összes környezeti változót kinyomtathatja az env paranccsal:

env

10. Keressen műtermékeket a Bash History alkalmazásban

Gyakran előfordul, hogy az aktuális felhasználó előzményei nem törlődnek. Ezzel visszaélve érzékeny információkhoz juthat hozzá, vagy a korábbi parancsokat módosított paraméterekkel újra futtathatja.

Bár ezek valószínűleg nem vezetnek a jogosultságok eszkalációjához, jó információforrást jelentenek a kiszivárogtatások számára, hogy egyértelművé tegyék, mit csinál a felhasználó általában a rendszeren.

11. Sebezhető Cron Jobs eltérítése

A Cron jobok a Linux beépített és rendkívül ötletes szolgáltatásai. Ha a Windows rendszerről költözött, a cron-feladat közvetlenül összehasonlítható a Windows ütemezett feladatával.

Időnként fut, és parancsokat hajt végre. Mind a futásának időpontját, mind a végrehajtandó parancsokat a felhasználó előre meghatározza. Néha előfordulhat, hogy néhány cron-feladat sebezhető olyan támadásokkal szemben, mint a helyettesítő karakterek befecskendezése, vagy a bejelentkezett felhasználó írhatja őket.

Ezekkel a biztonsági résekkel visszaélve root hozzáférést szerezhet a rendszerhez. Egy cron feladat kihasználásához először találni kell egy sebezhetőt. Az alábbi parancsok listázzák a jelenleg futó cron-feladatokat és egyéb releváns adatokat:

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

12. Elavult csomagok listázása

Ha létrehozta a hozzáférést egy rendszerhez, az egyik első lépés, amelyet meg kell tennie, hogy felsorolja az összes telepített szoftvercsomagot, és összevegye a telepített verzióikat a legújabb kiadásukkal.

Fennáll annak a lehetősége, hogy olyan homályos csomagot telepítenek, amelyet esetleg nem használnak túl sokat, de kritikusan ki vannak téve a jogosultság eszkalációjának. Ezután a csomagot kihasználva root hozzáférést szerezhet.

Használja a dpkg parancsot a -l címke a telepített csomagok listázásához Debian és Ubuntu alapú rendszereken:

dpkg -l

RHEL/CentOS/Fedora rendszerek esetén használja ezt a parancsot a telepített csomagok listázásához:

rpm -qa 

Most már tudja, hogyan kell manuálisan felsorolni a Linuxot a jogosultságok eszkalációjához

A privilégiumok kiterjesztése kizárólag a felsorolástól függ. Minél több információhoz fér hozzá, annál jobban meg tudja tervezni támadási stratégiáit.

A hatékony felsorolás kulcsfontosságú a támaszpont megteremtésében, a jogosultságok növelésében és a célrendszeren való sikeres fennmaradásban. Bár a dolgok manuális elvégzése segít, a feladatok egy része automatizált eszközökhöz rendelhető, így időt és energiát takaríthat meg. Ismernie kell a legjobb biztonsági eszközöket a rendszer sebezhetőségeinek kereséséhez.