Portál AbcLinuxu, 30. dubna 2025 21:17

Jak získat SUID

15.3.2007 01:08 | Rady

Po nějaké době sem se opět pustil do zpracovávání školního projektu věnovanému bezpečnosti. Jak tak sbírám informace tak mě zaráží jedna věc. Všude v různých návodech, tutoriálech se objevuje nutnost nastavení příznaku suid bit. Mám na mysli útoky dejme tomu nějakým druhem přetečení.

Co mě vrtá hlavou je, jak může potenciální hacker získat suid bit pro svůj potenciálně škodlivý program, exploit, skript a co já vím co ještě.

Je někdo tak ochotný a znalý aby mi tuto problematiku objasnil? Děkuji

PS: Nejsem hacker, ani script kiddies, jen obyčejná lamka (moc mě nekamenujte pls) :-)

       

Hodnocení: 67 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

15.3.2007 01:22 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Jak získat SUID
Odpovědět | Sbalit | Link | Blokovat | Admin
Taky do tohohle moc nevidim, ale jedna moznost je, ze svym programem, ktery neco (nekaleho) dela nahradi nejakou standartni soucast systemu (rekneme /bin/sh nebo cokoliv jineho), kterou vola nejaky systemovy program bezici pod rootem. Rekneme, ze ma nekdo treba v cronu uvedeno, ze se kazdou hodinu spusti skript /usr/local/bin/skript, typicky nejake zalohovani apod. Pokud se utocnikovi podari nahradit ten skript svym vlastnim programem, pak diky tomu ze treba cron bezi pod rootem ziska pro svuj program UID 0.
pele avatar 15.3.2007 01:32 pele | skóre: 28 | blog: Bleabr | UH
Rozbalit Rozbalit vše Re: Jak získat SUID
Hmm, ale jak útočník ví jaky skript nahradit? Hádá? Jak jinak skrytě donutit roota aby přidělil suid a práva roota.
Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.
15.3.2007 01:46 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Jak získat SUID
Spis dlouho proleza napadnuty system. Podle zkusenosti a znalosti se mu driv nebo pozdeji podari nejakou chybku najit. To, co jsem rikal je jen jedna z moznych cest. Navic v danem pripade nejde temer nikdy o chybu v nejakem programu, ale o chybu admina (podceneni bezpecnosti). Kdybych se nekdy nahodou zkousel nekam dostat, jako prvni bych prave zacal zkoumat proflaknuta mista, kde muze admin udelat chybu. Vyuzit chyby v programu uz chce dost znalosti a ty ja nemam.
15.3.2007 08:20 al-Quaknaa | skóre: 13 | blog: al_quaknaa
Rozbalit Rozbalit vše Re: Jak získat SUID

A nebylo by pár příkladů, prosím? Budu teď na vzduch [veřejný INet] umisťovat svůj první webhostingový server a vcelku by mě tohle zajímalo ... Dík

15.3.2007 09:47 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Jak získat SUID
Nebylo :-) Ja jsem takovehle veci taky nikdy nezkousel, jen jsem cetl par clanku, neco z hysteria.sk apod. Co vim je jen to, ze takto to teoreticky jde a ze to utocnici zkousi.
15.3.2007 01:38 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak získat SUID
Odpovědět | Sbalit | Link | Blokovat | Admin
Útočník nezískává SUID příznak pro svůj neškodný prográmek. Využívá chyby v programu, který s právy (obvykle) roota běží plánovitě a v souladu se scénářem - ta chyba mu umožní docílit toho, že program místo toho, co má, bude dělat to, co chce útočník. SUID programy patří k těm nejpříhodnějším: útočník si je může spustit, kdy potřebuje a předat jim parametry (nebo vstup), jaké potřebuje. Podobně populární jsou také síťoví démoni (kteří se navíc dají zneužít i vzdáleně).
15.3.2007 10:05 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Jak získat SUID
Odpovědět | Sbalit | Link | Blokovat | Admin
Jdete na to příliš složitě. Nejjednoduší způsob, jak získat suid bit, je napsat uživateli třeba do dokumentace k nějakému vašemu programu, že má jako root spustit chmod +s vas_program. Případně, pokud uživatel nepoužívá nějaký váš program, poradit mu to v diskuzním fóru, v e-mailové konferenci…
15.3.2007 10:39 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jak získat SUID
Odpovědět | Sbalit | Link | Blokovat | Admin
Napr. podvrhnutim souboru symbolickym linkem na SUID binarku a zaroven podvrhnutim vstupu, ktery root zapise do podvrzeneho souboru.

Napr. postmasterovi poslete mail s prilohou typu image/png a budete predstirat, ze to je snimek vaseho postovniho klienta s chybovou hlaskou pri pripojovani na jeho POP3 server.

Zaroven se nejakym zpusobem dostanete jako normalni uzivatel na jeho stroj (to je predpoklad z vaseho blogoveho dotazu) a vyuzijete chybneho vytvareni docasne kopie zaslaneho obrazku (at uz predpovedi nazvu souboru nebo zamenou po vytvoreni). Symlink nasmerujete napr. na /sbin/su a az postovni klient roota ulozi prilohu, tak obsah prilohy (napr. zkopilovany execve("/bin/bash", ("pop3d", NULL), env)) prepise /sbin/su.

Pak staci jako bezny uzivatel spustit /sbin/su a mate shell s EUID=0 :)
15.3.2007 10:46 pasmen | skóre: 45 | blog: glob | Praha
Rozbalit Rozbalit vše Re: Jak získat SUID
Tenhle scenar je sice hezky, ale dost nepravdepodobny. Nekdo, kdo vystavi mail server do i-netu si urcite nastavi alias pro postmaster -> root -> bezny user. A kdyby ne, nerekl bych, ze si root bude prohlizet postu vubec... To je docela zakladni pravidlo. Za druhe si nejsem jisty, ze budes mit opravneni na prepis docasne ulozene prilohy.
15.3.2007 11:56 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Jak získat SUID
Tenhle scenar je sice hezky, ale dost nepravdepodobny.
Vsechny scenare jsou o pravdepodobnosti. Tazatel chtel vedet, jak vyrobit SUID spustitelny program. Toto je jeden ze zpusobu. Samozrejme ze zadny zaruceny zpusob neni. To bychom pak mohli resit autorizaci ve stylu RMS :D
Za druhe si nejsem jisty, ze budes mit opravneni na prepis docasne ulozene prilohy.
Pravda. Tak proste budu hadat jmeno souboru a mezi stat() a open() stihnu vyrobit spravny symlink. Aplikaci pouzivajaci mktemp() je porad dost :)
vogo avatar 15.3.2007 12:30 vogo | skóre: 34 | blog: "Skládat papír"
Rozbalit Rozbalit vše Re: Jak získat SUID
Odpovědět | Sbalit | Link | Blokovat | Admin
jen tak stranou, SUID se pro skript nastavit nedá, jinak získat ho, je možné pouze, když se podaří přesvědčit roota, aby to udělal, nebo využít díry v programu, který to umožní, ale to už je zmíněno výše.
Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
15.3.2007 12:44 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak získat SUID
jen tak stranou, SUID se pro skript nastavit nedá

Pro pořádek: nastavit se samozřejmě dá, jen nemá potřebný efekt. :-)

vogo avatar 15.3.2007 12:46 vogo | skóre: 34 | blog: "Skládat papír"
Rozbalit Rozbalit vše Re: Jak získat SUID
no dobrá :) jj tak je to zcela přesně
Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.
15.3.2007 15:22 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: Jak získat SUID
jen tak stranou, SUID se pro skript nastavit nedá

Pro pořádek: nastavit se samozřejmě dá, jen nemá potřebný efekt. :-)

Pokud nepoužijeme suidperl...
-- Nezdar není hanbou, hanbou je strach z pokusu.
15.3.2007 16:44 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak získat SUID
I pak je ovšem z hlediska systému rozhodující především ten SUID bit na suidperlu…
pele avatar 16.3.2007 11:14 pele | skóre: 28 | blog: Bleabr | UH
Rozbalit Rozbalit vše Re: Jak získat SUID
Odpovědět | Sbalit | Link | Blokovat | Admin
Děkuji všem za rady.
Pravda má jednu velkou výhodu: člověk si nemusí pamatovat, co řekl.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.