編譯:gcc -fPIC -shared xxx.c -o xxx.so
LD_PRELOAD 是個環境變量,用於動態庫的加載,動態庫加載的優先級最高,一般情況下,其加載順序爲LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib。
-
export LD_PRELOAD = 絕對路徑/xxx.so //加載環境變量
-
unset LD_PRELOAD //關閉環境變量
-
LD_PRELOAD=絕對路徑/xxx.so ./xxx lsldjqlasdasda //單個程序傳入環境變量
lib_rootkit.c:
#include <sys/types.h>
uid_t geteuid(void){return 0;}
uid_t getuid(void){return 0;}
uid_t getgid(void){return 0;}