2. shell后门
这个比较常用,也比较流行。一般就是把root执行的shell程序通过setuid的形式把shell程序拷贝到其他能够执行的地方,然后只要用小权限用户执行该shell就能够直接获取root权限。
比如:
# cp /bin/sh /tmp/.backdoor
# chown root:root /tmp/.backdoor
# chmod +s /tmp/.backdoor
这样只是把sh复制了,如果你喜欢其他shell,比如ksh、csh也可以,具体你看各个不同的操作系统而定。你就可以把那个加了s标记的shell程序放到任何目录,最好是深一点,不容易被人发现的地方,比如/usr/local/share/man之类的目录,然后你使用小权限用户登陆后执行该shell就可以了,比如我们上面复制的shell,我们只要用小权限用户登陆后执行:
$ /tmp/.backdoor
#
就可以了,当然,如何获得小权限用户,你可以使用暴力破解一些帐户,或者自己创建一个小权限的帐户。
* 防范方法:
首先给各个主要目录加上我们上面说的文件指纹校验,知道某个目录下有什么文件,如果多出了可疑文件可以仔细检查。还有使用find命令来查找有没有危险的root suid程序:
find / -type f (-perm -4000 -o -perm -2000 ) -print
3. crontab服务后门
crontab命令就相当于windows下的at命令,定期执行某些任务。对黑客来讲,比如定期建立一个帐户,然后过多久就删除,这样管理员永远看不到系统中有后门,这样是非常保险的。。
* 防范方法:
cron的服务默认是存储在 /var/spool/crontab/root目录下,定期检查cron服务,看是否有异常的任务在执行,或者如果你不使用cron的话,直接关闭掉它。
4. rhosts后门
rhosts文件常常被黑客利用来制作后门,如果系统开了rlogin、rexec等r的服务,因为象rlogin这样的服务是基于rhosts文件里的主机名使用简单的认证方法,所以黑客只要将.rhosts文件设置成"++",那么就允许任何人从任何地方使用该用户名,无须口令登陆513端口的rlogin服务就行。而且r之类的服务没有日志能力,不容易被发现。
实现方法:
# echo "++" > /usr/heiyeluren/.rhosts
# rlogin -l heiyeluren localhost
这样就不需要任何密码,直接输入用户名heiyeluren就登陆到了系统。
* 防范办法:
不要使用rlogin等服务,同时也不推荐使用te.net等服务,因为te.netd等守护进程溢出漏洞一堆,而且在数据传输过程中是没有加密的,很容易被嗅探,建议使用ssh等经过安全加密的服务来替代。
5. login后门
login程序通常用来对te.net来的用户进行口令验证. 入侵者获取login的原代码并修改使它在比较输入口令与存储口令时先检查后门口令. 如果用户敲入后门口令,它将忽视管理员设置的口令让你长驱直入。
* 防范方法:
一般针对这类后门,一般都是使用"string"命令搜索login程序中是否有中是否有密码等字符串来进行检查。如果密码经过加密,那么就对login文件进行指纹记录和md5值的记录,觉得异常时进行检测。
6. bind后门
就是通过常用的网络连接协议 tcp/udp/icmp 来建立连接的后门,这个在windows下可是轰轰烈烈。
比较普遍的有tcp协议的后门都是写一段程序开一个指定的端口进行监听,然后从客户端进行连接后登陆系统。也有黑客为了隐蔽使用udp协议来连接。icmp后门也常见,一般是。有时候可能bind后门跟服务后门结合,黑客通过自己写的bind后门来替换.netd中的服务。
* 防范方法:
经常使.netstat命令检查有没有非法的端口打开,最好直接用防火墙屏蔽除了正常访问的端口之外的端口。对于ping后门的话,直接在防火墙上禁止ping服务器
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器