论坛: 菜鸟乐园 标题: 后门的详解~! 复制本贴地址    
作者: tianyecool [tianyecool]    论坛用户   登录
通常我们在得到一个主机的控制权后,总是考虑下次如何轻易的能再次进来,而不需要每次都重复复杂的漏洞利用,也有可能系统管理员发现了漏洞及时的补上了呢。那么我们需要安装backdoor(后门),这样只要管理员没有发现被入侵或没有发现我们的后门,下次就可以非常轻松的进来了。在这我们介绍一些常用的后门。

Rhosts + + 后门

在unix系统里,一些Rsh、Rlogin通过基于rhosts文件的简单认证。在某个帐户的home下的rhosts文件里加上一行++,那么任何人任何机器都可以不需要密码登陆这个帐户了。

校验和与时间戳 后门

严格的讲,这只是一个隐藏后门的方法。我们通常用自己写的木马来代替系统原来的一些可执行文件来达到后门的效果。许多管理员通过时间戳和校验和来检查是否存在这样的木马。我们可以通过一些小技巧来很容易的欺骗,一个简单的程序通过修改系统时钟就能使文件的时间戳和原始一样,至于校验和是用CRC,更加容易伪造了。所以系统管理员还是定期用MD5 校验和来检查文件吧。起码不可能伪造MD5的校验和。

Login 后门

这个是最常用的后门了,我们可以用login.c的源代码改一改,编译一下,替代原来的login,功能就是先检查我设定的密码,如果对的话,不去比较系统密码,直接进入,而对于其他用户来说和原来的login用起来感觉是一样的。而且在程序上可以不必记录utmp和wtmp,那么你用后门密码进去的时候就是隐形的了。为了防止strings命令显示出login的文本内容,从而暴露backdoor的后门密码。那么在改login.c的时候就得加密或隐藏口令了。但管理员还是可以用MD5校验和来发现这类后门。

Telnetd 后门 

当inetd守护程序发现有telnet连接,就交给in.telnetd处理,进入login程序。在in.telnetd处理时通常检测一些其他信息,例如终端类型是Xterm还是vt100等,我们可以修改in.telnetd在这加一个类型hole,当我们选择hole时,系统将自动给个shell,而不需要认证。

Services 后门
每个服务都可以被利用来当作后门,象什么finger,rsh,rexec,rlogin,ftp,inetd...。这和那些开放某个
端口提供shell的后门程序没什么差别,只是隐蔽一点罢了。当然你可以修改inetd.conf加一些伪装成某
个服务的程序,名字可以是uutcp...等具有伪装性的。

Crontab 后门
Crontab使unix系统在特定的时间内执行指定的程序。我们可以让系统在每天的特定时间运行我们的指定
开放port的shell程序。当然系统管理员也会检查/usr/spool/cron/crontabs/下的文件来看有没有安排后门的存在。所以通过修改那些正常的cron程序,可以达到隐蔽的目的。

Library 后门
几乎所有的unix系统使用共享库文件,共享一些常用的调用。
通常我们在crypt.c和_crypt.c中安置后门程序。login.c使用crypt(),如果在里头安置后门的话,在调用
Crypt()时,可以跳过校验,直接给出shell.这样就是管理员用MD5检验login程序也不会发现我们的后门了。如果管理员MD5检查所有的文件,难免会发现这些问题。但我们还有一个方法,我们知道无论是什么程序,它都需要调用open()和其他的文件存取函数,如果我们能在这些上面做文章,那么当MD5执行时读取的是原来的文件,但执行的却是我们的后门程序,所以MD5看到的校验和是没有问题的。

kernel 后门

可装载内核后门是最难发现而且难度最高的了。具体的描述可以参看w00w00著名的Linux Kernel Module (LKM) Hacking。  http://www.w00w00.org/files/articles/lkmhack.txt


File system 后门
我们通常为了隐藏一些自己的后门程序、exploit程序、工具等文件,一般是采用.目录的隐藏方式。但很容易被发现,所以修改一些象ls、du、fsck等程序达到隐藏的目的要更好一些。
如果更狠一点,就可以把文件放在磁盘的块标志成坏的,并且采用特殊的文件系统格式,只有特定的程序才能读出,这样也可以达到很好的隐藏效果。

Bootblock 后门
在PC中病毒有一种类型叫引导型病毒,通过修改引导区程序来达到隐藏和执行的目的。当然有许多杀毒程序也能查杀这些病毒。但在unix中,很少有管理员会使用软件来检查引导区,所以把后门放到引导区也是一个很有用的方法。

进程隐藏 后门
为了不让管理员用ps发现我们后门程序运行的进程
一般有几种方法:
1、通过修改argv[]来使程序看起来象另一个进程。
2、改名成和系统进程类似的名字。
3、修改ps,使ps看不见。
4、利用amodload之类的程序,内核加入可装载模块来实现后门。

Rootkit
由许多工具构成的后门工具集。有一些这样的模块构成:
修改系统日志 utmp wtmp lastlog。
sniffer,passcracker。
欺骗时间戳和crc校验。
修改login
修改 ifconfig 的 PROMISC标志的输出。使检测不到分乱模式。
修改ps使发现不了进程。
隐藏使用的磁盘空间。
隐藏所有的rootkit文件。

TCP Shell 后门
最常见的后门了,一个程序listen端口,连接后给出shell.
容易被发现,netstat一看就知道了。

UDP Shell 后门
基于udp传输的后门,原理tcp shell后门差不多。

ICMP Shell 后门
通过ICMP协议建立pipe来实现通讯的后门。 在社区公告栏收集的旧帖子里就有一个很好的例子。

ACK Shell后门
通过TCP中ACK数据片来进行通讯的后门。这个比较有意思,能避过许多防火墙,天网也不例外。

地主 发表时间: 07/31 12:38

回复: hacker521 [hacker521]   论坛用户   登录
哈哈,这次发的好,我就是后门知识太少,所以根别人抢肉鸡总是吃亏

B1层 发表时间: 08/01 06:48

回复: wolfjin [wolfjin]   论坛用户   登录
好文章,谢谢!!

B2层 发表时间: 08/01 11:37

回复: hacker521 [hacker521]   论坛用户   登录
如果能介绍些经典木马通常占据的端口示意就更好了

B3层 发表时间: 08/02 10:22

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号