Kérdés:
Jogosultsági eszkaláció a passwd fájl használatával
Airbourne
2017-02-19 16:46:32 UTC
view on stackexchange narkive permalink

Ha világszerte írható / etc / passwd fájlom van a rendszeren, hogyan tudom a privilégiumaimat gyökérré fokozni? Jelenleg hátrányos helyzetű felhasználó vagyok. Az alapul szolgáló operációs rendszer a CentOS 7.2 arra az esetre, ha kíváncsi lennél.

Tudom, hogy a passwd fájl általában nem írható világszerte, olyan kihívást teszek, amely a jelenlegi forgatókönyvvel rendelkezik.

Bármely lépés a a kizsákmányolás nagyon hasznos lesz

Javaslom, hogy nézze meg közelebbről, hogy mit jelentenek a passwd fájl oszlopai, azaz van-e különbség a root és a nem privilegizált felhasználó között, és mit jelent ez a különbség.
Négy válaszokat:
Gilles 'SO- stop being evil'
2017-02-19 18:27:48 UTC
view on stackexchange narkive permalink

A jelszavakat általában a / etc / shadow könyvtárban tárolják, amelyet a felhasználók nem olvashatnak. Történelmileg azonban a világszerte olvasható / etc / passwd fájlban voltak tárolva, minden fiókadattal együtt. A visszamenőleges kompatibilitás érdekében, ha a / etc / passwd második oszlopában jelszó-kivonat található, akkor az elsőbbséget élvez az / etc / shadow -ben lévővel szemben.

Történelmileg egy üres második mező a / etc / passwd fájlban azt jelenti, hogy a fióknak nincs jelszava, vagyis bárki bejelentkezhet jelszó nélkül (vendégfiókokhoz használják). Ez néha le van tiltva. Ha a jelszó nélküli fiókok le vannak tiltva, akkor beírhatja a választott jelszó kivonatát. A crypt funkcióval létrehozhat jelszó kivonatokat, például perl -le 'print crypt ("foo", "aa")' a jelszó beállításához foo.

A root hozzáférést akkor is megszerezheti, ha csak az / etc / passwd fájlhoz csatolhatja, és nem írja felül a tartalmat . Ez azért van, mert lehetséges, hogy több bejegyzés is szerepeljen ugyanannak a felhasználónak, amennyiben különböző nevük van - a felhasználókat azonosítójuk, nem pedig a nevük alapján azonosítják, és a gyökérfiók meghatározó jellemzője nem a neve, hanem az a tény, rendelkezik 0. felhasználói azonosítóval. Tehát létrehozhat egy másik gyökérfiókot egy olyan sor hozzáfűzésével, amely egy másik névvel, választott jelszóval és 0. felhasználói azonosítóval rendelkező fiókot jelent.

Szia @Gilles, tudod, hogy ugyanazt a hash algoritmust használják-e a jelszó kivonatok tárolására az / etc / passwd és / etc / shadow fájlokban?Értelmezésem szerint a crypt az / etc / shadow fájlhoz használatos, míg más algoritmus az / etc / passwd fájlhoz?
@Shuzheng Nincs különbség az "/ etc / passwd" és az "/ etc / shaddow" között.Mindkettő használja a `crypt` funkciót.A `crypt` függvény több algoritmust támogat, a hozzá adott só alapján választ.
ha a crypt függvény több algoritmust támogat, akkor a jelszó-ellenőrző hogyan tudja, hogy mely algoritmust használták a kivonat kiszámításához?Továbbá, ha kibővítenék a kriptafunkciót, akkor az megtörné a dolgokat?
@Shuzheng A kivonat néhány karakterrel kezdődik, amelyek jelzik az algoritmust.Ellenőrizze a `crypt (3)` man oldalt, pl.[Linuxon] (http://man7.org/linux/man-pages/man3/crypt.3.html).
Yılmaz Değirmenci
2017-09-29 00:44:49 UTC
view on stackexchange narkive permalink

Csak írja be:

  echo root :: 0: 0: root: / root: / bin / bash > / etc / passwdsu  

és te vagy a root.

(A x eltávolítása azt jelenti, hogy a root-nak már nincs szüksége jelszóra, a echo helyett használhatja a sed parancsot ez mégis elég a root shell megszerzéséhez)

Ez azonnali DoS-támadást jelent a kérdéses kiszolgáló ellen, mert felülírja a teljes felhasználói adatbázist, így az új gyökér kivételével az összes fiók már nem létezik.Valószínűleg a ">> / etc / passwd" szót akarja használni a "> / etc / passwd" helyett.Ezenkívül a címhez méltó Unix-rendszergazda soha nem engedi meg a világot az / etc / passwd fájlba írni.
Csak egy frissítés a gyakorlati oldalról. Gépen tesztelve: Ubuntu 16.04.3, Kernel 4.13.0-36> $ echo "toor :: 0: 0: toor: / root: / bin / bash" >> / etc / passwd Ez már nem működik a tényleges Linux rendszereken.Az üres jelszó "Hitelesítési hiba" -hoz vezet.> $ perl -le 'print crypt ("foo", "aa")'
> aaKNIEDOaueR6
> $ echo "toor1: aaKNIEDOaueR6: 0: 0: toor: / root: / bin / bash" >> / etc / passwd Ez működik.A "toor1 / foo" hitelesítő adatokat elfogadjuk, amelyek gyökérhéjat adnak (Valódi pentestben bár összetettebb jelszót használnék arra az esetre, ha a rendszernek van jelszópolitikája).
@MikeMcManus A szerver nem feltétlenül kívánja írhatóvá tenni.Röviddel a "dirtycow" nyilvánosságra hozatala után a rendszer gyökerének gyökerezésére használtam fel az "/ etc / passwd" fájl felülírásával (miután véletlenül megrontottam és szinte az egész rendszert leromboltam ...).
mr guest
2019-01-28 02:32:51 UTC
view on stackexchange narkive permalink

Használhatja ezt a roncsolásmentes módszert:

  # a passwordopenssl jelszó kivonatának előállításához mrcakehKLD3431415ZE # második gyökérfelhasználó létrehozásához "mrcake" passwordecho "root2-gyel: WVLY0mgH0RtUI: 0: 0: root: / root: / bin / bash ">> / etc / passwd # a root2su root2 jelszóra váltáshozPassword: mrcake  
A válasz kissé téves, mivel a létrehozott kivonat nem egyezik a "root" szóval beillesztettel.Gondolom, véletlenül észrevette, hogy meg kell adnia a felhasználónév jelszavas sóként.
Az @Shuzheng mr vendég nem téved, ha az általa javasolt openssl passwd mrcake parancsot futtatja felhasználói név és só nélkül, akkor minden alkalommal más hash-t kap.Ha a létrehozott kivonatot abból a parancsból veszi, felhasználónév és só nélkül, és behelyettesíti a parancsba az új felhasználó felvételét a passwd fájlba, akkor echo "root2: WVLY0mgH0RtUI: 0: 0: root: / root: / bin / bash">> / etc / passwd majd próbálja beperelni azt a felhasználót azzal a jelszóval, amelyet a használt hash előállításához használ, ez működik.
@JohnLally - hogyan tudná a Linux ellenőrizni a jelszót, ha minden alkalommal más kivonat jön létre?
Giacomo Catenazzi
2020-07-01 20:55:21 UTC
view on stackexchange narkive permalink

Átirányíthatja a gyökérhéjat az otthoni programra. Az ilyen program rootként fut, és egy ilyen programban kiváltságokat szerezhet (pl. A setuid beállításával), vagy csak azt teheti, amit akar. Figyelembe véve, hogy különféle folyamatok futtatják a gyökérhéjakat, gyorsan gyökérkezel



Ezt a kérdést és választ automatikusan lefordították angol nyelvről.Az eredeti tartalom elérhető a stackexchange oldalon, amelyet köszönünk az cc by-sa 3.0 licencért, amely alatt terjesztik.
Loading...