论坛: 网吧专题 标题: 虽然少见但值得警惕的木马技术 复制本贴地址    
作者: changning2 [changning2]    论坛用户   登录
虽然少见但值得警惕的木马技术

常宁
不可否认在入侵系统成功后留下一个木马是很多攻击者的“好习惯”,所以作为系统管理人员和安全软件开发人员来说了解木马技术是很重要的日常活动。木马的实现方式多种多样,之所以采用多种方式的主要目是要实现自身的进程、端口、消息报等活动迹象的隐藏以及提高后门的难以删除性。在这里我们将不讨论常见的木马形式,那些知识可以通过其它途径获得,网上相关的讨论较多,而我提到的这几个技术往往不能独立地工作,一般需要和其他技术配合使用。下面我讲简单说说这些技术,为了容易理解,我将尽量不讨论如何开发相关的技术,仅仅用通俗的话语来说明。虽然这样可能会让专业人员感觉说的不够严谨,这也没有什么,因为本来我希望的是这些技术为大家所知而不是仅仅专业人员。
1、 系统驱动程序技术:
包括WDM驱动等系统驱动程序,特点是随系统启动,并且运行的时候如果不是自己终止则用户不能自行终止。并且可以隐藏进程等。
在使用系统驱动技术植入的后门程序中,通常系统驱动程序只是其中的一个组成部分,用来实现后门程序的隐藏和难以删除(可以轻易地将用户删除的用户层后门程序自动恢复),也可以用来破坏或阻止已知杀毒软件或者反后门软件的正常运行。但是由于系统驱动程序部分运行在系统层(ring0),所以通常会有一个运行在用户层(ring3)的用户程序来辅助完成完整的后门功能。
使用过滤类驱动程序的后门程序还可以过滤用户的输入,比如过滤掉用户删除某个注册表键的作用。使得用户可以感觉删除掉了指定的键,而实际上该键仍然存在。或者直接让这个操作抛弃。
虽然对于专业安全人员来说一旦发现这类的后门理论上是可以彻底清除的,但是对于一般用户来说则很难办到。所以是一个值得警惕的技术。
2、 SPI技术:
服务提供者接口(Service Provider Interface),这类有的时候也可以认为是系统驱动的范畴,但是他具有的特性使得需要单独说明。这个接口是socket2的一个功能。SPI是以DLL的形式存在的,由于没有操作系统都可能有网络服务,一般会在系统启动的时候启动,这样SPI DLL就会被加载到内存中。而这样加载的SPI技术后门是没有独立进程的。SPI可以过滤消息报,所以后门作者们可以利用这个技术来编写没有任何端口的后门程序。通过从以后的端口接收数据,经过分析后,留下对自己有用的数据。将没有用的数据直接传递给真正的应用程序。于是一个没有任何进程并且无需监控端口的某门就诞生了,这里后门程序即便用网络协议拦截分析软件(sniffer)也很难发现。因为如果在不认真看的情况下这些网络消息看起来都是合法的,特别是在消息量很大的服务器上,很难区分这些消息。这个技术的后门程序基本可以独立作战的。随时在线并且不易察觉是这类后门技术的主要特点。
3、 原始socket:
这个技术通常可以用来隐藏端口和网络消息。由于没有任何的listen端口,所以比较难以发现。原始socket 可以用来拦截任何IP消息报,这使得后门通讯技术变得更加有趣而不是枯燥。我们可以将通讯协议从常见的TCP UDP中解脱出来,比如直接采用ICMP协议等等。当然ICMP也有很多的局限特别是最被大家熟知的echo 就经常被主机屏蔽而不能用(ICMP协议后门曾经很流行)。所以有的时候我们也可以利用TCP的一些控制消息来实现隐蔽通讯,比较常见的就是利用TCP握手(一台服务器一旦接收到客户机的SYN包后必须回应一个SYN/ACK包,然后等待该客户机回应给它一个ACK包来确认,才真正建立连接)。我们可以将一次消息通讯变成一个看起来很普通的失败的TCP连接,比如没有找到指定端口的TCP连接。这样,即便是用网络协议拦截分析软件(sniffer)也很难发现后门的存在。因为在互连网上每天类似这样的消息会很多。当然这个技术也有一个巨大的隐患,就是消息量不能太大,否则系统会很忙。特别是在某些需要大量交换数据的网络上,这个问题很致命。通过观察大量消息交互情况下的计算机负载可以发现大多数这类原始socket后门。
4、 服务外套:
钩子是一种很原始的win32后门技术,本身并不复杂。钩子本身是一个dll,不能独立运行,所以安装“钩子”(hook技术)需要一个安装程序。这个程序则往往很容易被发现。我们利用服务外套可以很容易地解决这个问题,这个技术不难理解我就简单说说,主要就是写一个服务程序,用这个程序替代合法的服务程序。特别是文件名必须完全一样。然后通过这个伪造的服务程序来安装钩子,安装结束后就可以卸载自己。而为了防止用户发现,往往也需要启动在伪造的服务程序中启动真正的服务程序。他们既可以共用一个进程空间也可以伪造程序装完钩子后自动退出。避免被发现。当然这里没有忘记一个细节,就是原来的服务进程因为被伪造进程替换,进程名字可能会改变。这也不是什么问题,相信看到这里大家已经心里有数了。

今天是除夕,要去做年夜饭了,没有写完先写到这里,以后有时间继续完成。
2006年除夕


地主 发表时间: 06-01-28 13:51

论坛: 网吧专题

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

粤ICP备05087286号