測試的服務器:redhat7.0,redhat7.1,mandrake7.1
本文主要討論linux服務器的偽裝,對於Sun、hp等可以查找相關資料,本文只提供思路。
前言:為什麼要偽裝?
動物偽裝,為了逃避天敵,或為了更好的獲取獵物。
人偽裝,使你不知他的底細。
服務器偽裝,目的是要使攻擊者很難搜集到服務器真正的信息,使他的進一步攻擊造成難度,進而起到一定的保護作用,當然還有更深的用法,等著你去發現。
聲明:
本文只是本人研究的總結,是為了大家的學習研討,請不要用到非法用途。
本人才疏學淺,不足及錯誤的地方請指出,mail地址:[email protected]。">[email protected]">[email protected]。
正文:
1. Telnet信息偽裝
首先看一次telnet過程:
yxg@localhost yxg]$ telnet xx.xx.xx.xx
Trying xx.xx.xx.xx...
Connected to xxxx.
Escape character is '^]'.
Red Hat linux release 7.1 (Seawolf)
Kernel 2.4.2-2 on an i686
login:
從中可以看到操作系統為Red Hat linux release 7.1,內核版本2.4.2-2,計算機為:intel686。攻擊者得到這些信息就可以用相應的攻擊程序。所以我們不能告訴他們真正的情況。
telnet信息存放於/etc/issue.net
root@database /etc]# cat issue.net
Red Hat linux release 7.1 (Seawolf)
Kernel 2.4.2-2 on an i686
修改它成為你想要的任何字符,甚至什麼也不要。
我的改為Sun的提示:
yxg@localhost yxg]$ cat /etc/issue.net
SunOS 8.0
要注意必要的空行,改完和偽裝的對象比較,直到一模一樣才行。
對於本機的用戶,提示信息在/etc/issue,改不改隨你。
注意:如果你想重啟後issue.net內容不變,修改/etc/rc.local,在這些行前加#
# This will overwrite /etc/issue at every boot. So, make any changes you
# want to make to /etc/issue here or you will lose them when you reboot.
# echo "" > /etc/issue
# echo "$R" >> /etc/issue
# echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue
# cp -f /etc/issue /etc/issue.net
# echo >> /etc/issue
2. ftp信息偽裝
現在有很多對於wu-ftp的攻擊程序,所以我就拿wu-ftp作例子。
先看一下ftp的過程:
yxg@localhost yxg]$ ftp xx.xx.xx.xx
Connected to xxxx.
220 database FTP server (Version wu-2.6.1-16) ready.
如果想要不顯示出wu-ftp,可以有多種方法。
其一:
察看in.ftpd就能發現版本號寫在了程序中
root@database /root]# strings /usr/sbin/in.ftpd
………………….
/var/log/lastlog
Could not write %.100s: %.100s
Version wu-2.6.1-16
你可以用16進制編輯器修改版本的字符串,改為proftp什麼的,保准有人會上當。
其二:
/etc/ftpaccess裡有兩個參數
指示參數:greeting full | brief | terse
greeting text
允許控制遠程用戶登陸進來以後,給用戶多少信息及信息內容。
banner
banner消息是在用戶名和密碼以前顯示給用戶的。
本文來源:電腦技術吧[http://.]