3.1 后门程序介绍
后门程序又叫特洛伊木马。程序员常常在软件中设置后门程序,以方便自己修改程序设计的缺陷。但是,后门程序如果被黑客了解到,黑客就可以利用其搜集信息以侵入用户计算机,从而给用户造成安全风险。后门程序可以绕过系统本来的安全防护,来攻击系统和挫败系统的安全设置。
后门程序具有很多类型,包括网页后门程序、线程插入后门程序、扩展后门程序。后门程序可以被不同的黑客使用,有的黑客用来破解账号密码,有的黑客用来存取系统,有的黑客用来修改系统权限,有的黑客可能用来植入木马程序,并且完全控制系统。
3.1.1 后门程序的由来
任何事物都是不断发展的,后门也不例外。后门的发展主要体现在如下两个方面。
第一,作为应用软件和系统软件更新时或者获取用户数据时,所特别设计的程序。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。第二,后门程序是指可以绕过安全性控制而获取对程序或系统访问权的程序方法,如果这些后门被程序分析者或者黑客知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。所以,后门程序是我们学习攻防的重点。
3.1.2 后门的分类
后门的分类方式不同,得到的标准就会不同。为了涵盖所有后门程序,在大众比较认可的技术方面可以将后门分为以下几种。
1.网页后门
此类后门程序一般都是通过服务器上正常的Web服务来构造自己的连接方式,如现在非常流行的ASP、CGI脚本后门等。现在国内入侵的主流趋势是先利用某种脚本漏洞上传脚本后门,浏览服务器内安装和程序,找到提升权限的突破口,进而拿到服务器的系统权限。
这一类,一般只有高级程序员才能够知道哪里会出现后门,因为需要深厚的JSP或者ASP编程语言和网络编程基础。
2.线程插入后门
这种后门在运行时没有进程,所有网络操作均在其他应用程序的进程中完成。即使客户端安装的防火墙拥有“应用程序访问权限”的功能,也不能对这样的后门进行有效的警告和拦截。如果无限制的线程在不断地运行,那么就会卡顿系统的运行;同时,线程作为安全的运行体制,还会悄无声息地获取用户的操作和隐私信息数据。
3.程序扩展后门
扩展后门就是将非常多的功能集成到了后门里,让后门本身就可以实现多种功能,从而方便直接控制肉鸡或服务器。这类后门非常受初学者的喜爱,通常集成了文件上传/下载、系统用户检测、HTTP访问、终端安装、端口开放、启动/停止服务等功能。所以它本身就是个小的工具包,功能强大。我们在安装应用软件时常常会出现插件和捆绑软件,都属于这一类。
4.C/S架构远程控制后门
传统的木马程序常常使用C/S构架,这样的构架很方便控制,也在一定程度上避免了“万能密码”情况的出现。而C/S后门和传统的木马程序类似,即采用“客户端/服务端”的控制方式,通过某种特定的访问方式来启动后门进而控制服务器。在高级程序中,可以利用这种技术来实现远程控制。
5.root kit
很多人都认为root kit是获得系统root访问权限的工具,而实际上是黑客用来隐蔽自己的踪迹和保留root访问权限的工具。通常攻击者通过远程攻击获得root访问权限,进入系统后就会在侵入的主机中安装root kit,再通过root kit的后门检查系统看是否有其他的用户登录。如果只有自己,攻击者就着手清理日志中的有关信息;如果还存在其他用户,则通过root kit的嗅探器获得其他系统的用户和密码后,攻击者就会利用这些信息侵入其他计算机。所有的root kit基本上都是由几个独立的程序组成的,一个典型的root kit包括:
① 以太网嗅探器程序,用于获得网络上传输的用户名和密码等信息。
② 特洛伊木马程序,例如inetd或者login,为攻击者提供后门。
③ 隐藏攻击者的目录和进程的程序,例如ps、netstat、rshd和ls等。
④ 一些日志清理工具,例如zap、zap2或者z2,攻击者会使用这些清理工具删除wtmp、utmp和lastlog等日志文件中有关自己行踪的条目。
另外,一些复杂的root kit还可以向攻击者提供telnet、shell和finger等服务。