Faylka Ogolaanshaha Linux

Salaamu caleykum Waxaan si firfircoon u galnay shaqada waxaanan horeyba u diyaarinaynay bilowyo badan oo awood leh bisha Janaayo. Kuwa kale, diiwaangelinta ayaa lagu dhawaaqay socodka cusub ee qof kastaa jecel yahay. "Maamulaha Linux". Iyadoo la filaayo bilaabista, waxaan dhaqan ahaan wadaagnaa tarjumaadaha walxaha waxtarka leh.

Faylka Ogolaanshaha Linux

Oggolaanshaha faylka ayaa bixiya beddel badbaado leh oo lagu fulin karo SUID, laakiin waxay u ekaan kartaa jahawareer marka hore.


Dhammaanteen waan ognahay in binaries SUID waa go'aan xun marka laga eego dhinaca amniga. Nasiib wanaag, haddii dalabkaagu u baahan yahay dhawr mudnaan xaddidan, waxaa jira hab ka hufan oo la yiraahdo ogolaanshaha faylka.

Waxaan ku badbaadin doonaa xoogaa waqti ah haddii aad rabto inaad iska ilaaliso inaad si faahfaahsan u akhrido maqaalka kor ku xusan: Asal ahaan, oggolaanshaha feylku waxay oggolaadaan hababka u shaqeeya sida xididka oo sidaas darteed waxaa loo oggol yahay inay sameeyaan wax si ay u sii wataan awoodaha qaarkood, xaddidan. liiskanmarka ay hoos u dhigaan mudnaanta oo ay maamulaan isticmaale aan mudnaanta lahayn. Tani waxay ka dhigan tahay in haddii weeraryahanku uu maamulo inuu wax u dhimo nidaamka isagoo isticmaalaya qulqulka xad dhaafka ah ama ka faa'iidaysiga kale, ma awoodi doonaan inay ka faa'iidaystaan ​​wax aan ahayn mudnaanta ugu yar ee hab-socodka dhabta ah u baahan yahay.

Ogolaanshaha aad bay ugu fiican yihiin adeegyada sida caadiga ah had iyo jeer u shaqeeya sidii xidid, laakiin ka waran adeegyada khadka taliska? Nasiib wanaag, tan sidoo kale waa la taageerayaa haddii aad ku rakibtay yutiilitida saxda ah. Haddii aad isticmaalayso Ubuntu, waxaad u baahan doontaa tusaale ahaan xirmada libcap2-bin. Waxaad sidoo kale u baahan doontaa inaad socodsiiso kernel aan qadiimi ahayn (laga bilaabo nooca 2.6.24).

Hawlahani waxay u oggolaanayaan oggolaanshaha in lagu xidho faylalka la fulin karo, oo la mid ah dejinta xoogaa SUID, laakiin kaliya qayb gaar ah oo oggolaansho ah. Utility setcap loo isticmaalo in lagu daro lagana saaro oggolaanshaha faylka.

Talaabada ugu horeysa waa inaad doorato ogolaanshaha aad u baahan tahay. Maqaalkan dartiis, waxaan u malaynayaa inuu jiro aalad lagu baadho shabakad oo la yiraahdo tracewalk, oo ay tahay in la isticmaalo saldhigyo ceeriin. Tani waxay badanaa u baahan tahay codsiga in loo ordo sidii xidid, laakiin marka la eego liiska waxaa soo baxday in ogolaansho kaliya loo baahan yahay CAP_NET_RAW.

Haddii aad u malaynayso in aad ku jirto tusaha meesha binary-ga ku yaallo tracewalk, waxaad ku dari kartaa ogolaanshahan sidan:

sudo setcap cap_net_raw=eip tracewalk

Imika iska daaya daba-galka =eip xallinta, waxaan taas kaga hadli doonaa dhowr ilbiriqsi gudahood. Ogow in magaca oggolaanshaha uu ku qoran yahay far yar. Hadda waxaad ku hubin kartaa inaad si sax ah u habaysay oggolaanshaha:

setcap -v cap_new_raw=eip tracewalk

Ama waxaad liis gareyn kartaa dhammaan oggolaanshaha loo dejiyay mid la fulin karo:

getcap tracewalk

Tixraac ahaan, waxaad sidoo kale ka saari kartaa dhammaan oggolaanshaha kuwa la fulin karo:

setcap -r tracewalk

Halkaa marka ay marayso, waa inaad awood u yeelatid inaad ku socodsiiso fulinta sida isticmaale aan faa'iido lahayn, waana inay awood u leedahay inay ku shaqeyso saldhigyada cayriin, laakiin ma laha mid ka mid ah mudnaanta kale ee isticmaala xididku leeyahay.

Haddaba waa maxay macnaha daba-galkan yaabka leh? =eip? Tani waxay u baahan tahay xoogaa faham ah nooca ogolaanshaha. Nidaam kastaa wuxuu leeyahay saddex qaybood oo oggolaansho - wax ku ool ah, la dhaxli karo oo la ogol yahay:

  • Wax ku ool ah Ogolaanshaha waa kuwa qeexaya waxa hab-socodku dhab ahaantii samayn karo. Tusaale ahaan, ma la macaamili karto saldhigyada cayriin haddii CAP_NET_RAW kuma jiro set wax ku ool ah.
  • La heli karo Ogolaanshuhu waa kuwa nidaamka loo oggol yahay inuu haysto haddii uu ku codsado iyaga oo isticmaalaya wicitaanka habboon. Waxay ka hortagaan habsocodka inuu dhab ahaantii wax sameeyo ilaa si gaar ah loo qoray si loo codsado ogolaanshaha la sheegay. Tani waxay u oggolaanaysaa habraacyada in la qoro si loogu daro oggolaanshaha muhiimka ah go'aanka wax ku oolka ah oo keliya muddada dhabta ah ee loo baahan yahay.
  • La dhaxli karo ogolaanshaha waa kuwa lagu dhaxli karo habka la heli karo ee habka ilmaha dhaley. Inta lagu jiro qaliinka fork() ama clone() nidaamka ubadka waxaa had iyo jeer la siiyaa koobiga ogolaanshaha nidaamka waalidka maadaama ay wali socoto isla isla wakhtigaas. Gogol la dhaxli karo ayaa la isticmaalaa marka exec() (ama wax u dhigma) ayaa loogu yeeraa in lagu beddelo faylka la fulin karo mid kale. Halkaa marka ay marayso, habka diyaarka u yahay waxa daboolaya hab-raaca la dhaxli karo si uu u helo qaybta la heli karo ee loo isticmaali doono habka cusub.

Markaa utility-ga setcap noo ogolaadaa in aan ku darto ogolaanshaha saddexdan qaybood si madax-banaan loogu talagalay fulinta. Ogsoonow in macnaha kooxaha loo fasiray si yar oo ka duwan ogolaanshaha faylka:

  • La heli karo Ogolaanshiyaha faylka waa kuwa had iyo jeer diyaar u ah faylka la fulin karo, xitaa haddii nidaamka waalidka ee u yeedhay uusan lahayn iyaga. Waxaa loogu yeeri jiray ogolaanshaha "khasab".
  • Dhaxaltooyo oggolaanshaha faylka ayaa qeexaya maaskaro dheeraad ah oo sidoo kale loo isticmaali karo in laga saaro oggolaanshaha habka wicitaanka. Waxay dalbanayaan marka lagu daro habka wicitaanka ee la dhaxlo, markaa ogolaanshaha waxaa la dhaxlayaa kaliya haddii ay ka jirto labada qaybood.
  • Wax ku ool ah Ogolaanshaha faylku dhab ahaantii waa hal xoogaa, ma aha go'an, iyo haddii la dejiyo, waxay la macno tahay in dhammaan qaybaha la heli karo sidoo kale lagu koobiyeeyay habka cusub ee waxtarka leh. Tan waxaa loo isticmaali karaa in lagu daro ogolaanshaha hababka aan si gaar ah loo qorin si loo codsado. Maadaama ay hal xoogaa tahay, haddii aad u dejisay oggolaansho kasta, waa in loo dejiyaa dhammaan oggolaanshaha. Waxaad u malayn kartaa inay tahay waxoogaa dhaxal ah sababtoo ah waxa loo isticmaalaa in lagu ogolaado ogolaanshaha in loo isticmaalo codsiyada aan iyaga taageersanayn.

Marka la qeexo ogolaanshaha via setcap saddex xaraf e, i ΠΈ p la xiriira wax ku ool ah, la dhaxli karo oo la heli karo dhigaysa siday u kala horreeyaan. Haddaba, faahfaahinta hore:

sudo setcap cap_net_raw=eip tracewalk

... waxay tilmaamaysaa in qaraarka CAP_NET_RAW waa in lagu daraa kuwa la heli karo iyo kuwa la dhaxli karo iyo in xoogaa waxtar leh sidoo kale la dejiyo. Tani waxay meesha ka saari doontaa ogolaanshaha hore ee faylka. Si aad hal mar u dejiso rukhsadyo badan, adeegso liis aan hakad lahayn:

sudo setcap cap_net_admin,cap_net_raw=eip tracewalk

Hagaha Ogolaanshaha waxaas oo dhan si faahfaahsan ayuu uga hadlayaa, laakiin waxaan rajaynaynaa in qoraalkani wax yar ka caddeeyey waxa socda. Waxa jira dhawr digtoonaan iyo khiyaamo ayaa hadhay in la xuso.

Marka hore, awoodaha feylku kuma shaqeeyaan calaamadaha - waa inaad ku dabaqdaa faylka binary laftiisa (ie bartilmaameedka symlink).

Marka labaad, kuma shaqeeyaan qoraallada la turjumay. Tusaale ahaan, haddii aad haysato qoraal Python ah oo aad rabto inaad ku wareejiso oggolaanshaha, waa inaad ku wareejisaa turjumaanka Python laftiisa. Sida iska cad tani waa arin amni oo iman karta sababtoo ah dhamaan qoraalada lagu fuliyay turjumaankaas waxay heli doonaan ogolaanshaha la cayimay, in kasta oo tani ay wali aad uga fiican tahay samaynta SUID. Hawsha ugu caansan waxay u muuqataa inay tahay in la qoro mid gaar ah oo lagu fulin karo C ama wax u dhigma oo fulin kara hawlgallada lagama maarmaanka ah oo ka wac qoraal. Tani waxay la mid tahay habka ay adeegsato Wireshark oo adeegsata binary /usr/bin/dumpcap in la qabto hawlo mudnaan leh:

$ getcap /usr/bin/dumpcap 
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

Seddexaad, ogolaanshaha faylka waa naafo haddii aad isticmaasho doorsoomiyaha deegaanka LD_LIBRARY_PATH sababo amni oo muuqda dartood(1). Isla sidaas ayaa lagu dabaqayaa LD_PRELOAD, inta aan ka ogahay.

1. Maadaama weeraryahanku si cad u bedeli karo mid ka mid ah maktabadaha caadiga ah iyo isticmaalka LD_LIBRARY_PATHin lagu qasbo maktabadeeda in loogu yeero iyada oo la doorbidayo nidaamka koowaad, sidaas darteedna ay leedahay koodkeeda gar-darrada ah oo lagu fuliyay mudnaan la mid ah tan codsiga wacitaanka.

Waa intaas. Faahfaahin dheeraad ah oo ku saabsan barnaamijka koorsada waxaad ka heli kartaa at webinar, kaas oo dhici doona Janaayo 24.

Source: www.habr.com

Add a comment