• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 服務器偽裝信息修改法

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    測試的服務器:redhat7.0,redhat7.1,mandrake7.1 本文主要討論 linux 服務器的偽裝,對于Sun、hp等可以查找相關資料,本文只提供思路。 前言:為什么要偽裝? 動物偽裝,為了逃避天敵,或為了更好的獲取獵物。 人偽裝,使你不知他的底細。 服務器偽裝,目的

    測試的服務器:redhat7.0,redhat7.1,mandrake7.1

    本文主要討論linux服務器的偽裝,對于Sun、hp等可以查找相關資料,本文只提供思路。

    前言:為什么要偽裝?

    動物偽裝,為了逃避天敵,或為了更好的獲取獵物。

    人偽裝,使你不知他的底細。

    服務器偽裝,目的是要使攻擊者很難搜集到服務器真正的信息,使他的進一步攻擊造成難度,進而起到一定的保護作用,當然還有更深的用法,等著你去發現。

    聲明:

    本文只是本人研究的總結,是為了大家的學習研討,請不要用到非法用途。

    本人才疏學淺,不足及錯誤的地方請指出,mail地址:。


    正文:

    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/ftpaclearcase/" target="_blank" >ccess里有兩個參數

    指示參數:greeting full | brief | terse

    greeting text

    允許控制遠程用戶登陸進來以后,給用戶多少信息及信息內容。

     

    banner

    banner消息是在用戶名和密碼以前顯示給用戶的。

     

    3. 修改telnet和ftp的默認端口號

    有很多掃描器并不是逐個端口掃描的,所以來個乾坤大挪移來使掃描失效。

    具體是修改/etc/services 或者是/etc/inetd.conf。

     

    4. 操作系統指紋偽裝

    nmap等掃描器能通過操作系統指紋判斷操作系統類型,所以我們要采取一些策略保護自己?,F在有一些工具可以修改操作系統指紋,像fpf等,fpf可以在下載,它是一個lkm,加載到內核中,可以模擬很多操作系統。當然你可能要對源程序進行修改,也可以加入一些新的功能,如自動隱藏等。

     

    5. 改裝uname

    如果不幸被一個攻擊者闖入,它可以用uname來獲取真正的操作系統信息,然后來個本地溢出,你就哭吧。

    所以我們要修改uname的源程序,使它顯示我們想要它顯示的內容。

    打開uname.c,找到如下行:

    print_element (PRINT_SYSNAME, name.sysname);//操作系統名如linux

    print_element (PRINT_NODENAME, name.nodename);//主機名

    print_element (PRINT_RELEASE, name.release);//發行版本,如:2.2.16-22

    print_element (PRINT_VERSION, name.version);//

    print_element (PRINT_MACHINE, name.machine);//機器類型,如i686

    print_element (PRINT_PROCESSOR, processor);//處理器類型

    知道怎么改吧,不知道?提示一下,如果要顯示操作系統為SunOS,替換第一行為:

    print_element(PRINT_SYSNAME,\"SunOS\");

    編譯后,運行./uname –s,就會顯示SunOS

    當然你應該把每一項都進行修改,使人看不出破綻。

    最后把改好的uname拷到/bin目錄。

    我在修改時還加了一個-Y的參數,目的是顯示真正的信息,給自己看的。默認顯示修改過的信息。

     

    6. 其他一些雜項

    建議你盡量關掉不必要的服務,對于開放的其他服務要仔細檢查,使它不至于有泄密的信息。

    不同操作系統的shell提示符也不太一樣,盡量修改的和偽裝目標一致。

     

    結束語:

    當然,要想保證服務器安全,這一點是遠遠不夠的,它只能減小被攻擊成功的概率。

    如果更深一些,偽裝成一個蜜罐子,來誘捕黑客,則不在本文的討論范圍之內。

    作者:Yuky

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>