防火墙:功夫到七层

在短短的几年里,防火墙的功能重心从网络层发展到了应用层。本文结合Microsoft ISA Server的发展,阐述了这种变迁的技术背景,以及未来的防火墙技术走向。

应用层攻击挑战传统防火墙

最近两年来,攻击者的兴趣明显从端口扫描和制造拒绝服务攻击(DoS Attack)转向了针对Web、E-mail甚至数据库等主流应用的攻击。传统的防火墙仅仅检查IP数据包的包头,而忽略了内容——如果用信件来做比 喻,也就是只检查了信封而没有检查信纸。因此对这类应用层的攻击无能为力。可以说,仅仅靠第三层和第四层的IP地址和协议端口过滤的防火墙产品早已走到了 尽头。

战火烧向七层

为了对抗应用层(OSI网络模型的第七层)的攻击,防火墙必须具备应用层的过滤能力,Microsoft ISA Server 2004等防火墙产品已经具备了这种能力。

如果把计算机网络比做一座建筑,传统的包过滤防火墙就是在企业内部网络和Internet之间的一系列并列的门。 每道门都有安检人员对到达的包裹(IP数据包)进行逐一检查,若没有发现数据包含有异常代码便开门放行。攻击者常用的伎俩就是通过端口扫描来检查哪些门是 敞开不设防的,然后加以利用。晚些时候出现的具有状态检测δ艿姆阑鹎娇梢约觳槟男

5种方法逃过防火墙控制系统的研究

随着木马,后门的不停发展,防火墙本身也在不断地发展,这是一个矛和盾和关系,知道如何逃过防火墙对于控制一台系 统是有很重大的意义的。

由于防火墙的发展,时至今天,很多防火墙都是以驱动形式加载的,核心部分是在驱动那里,保留一个界面给用户去设 置,这个界面程序同时充当了桥梁作用,传统的杀防火墙进程以达到能控制到系统的方法已经是失效的了,而且这也不是一个好的方法(想想管理员发现防火墙的图 标不见了会有什么反应).以下是谈谈以种方法。

前提条件:

1.你在远程系统有足够权限

2.你已从ipc或mssql或其它得到系统的权限,但因为无论用ipc还是用mssql的操作,都并不如直接得 到一个cmd的Shell操作来得快和方便

方法1:不让防火墙加载自己

使用各类工具,pslist,sc.exe,reg.exe等去查找防火墙在哪里加载的,如果是在run中那加载 的话,用reg.exe将其删除;如果是服务启动,用sc.exe 将服务改为手动或禁止,然后重启那系统,这样系统重启后防火墙就无法加载自己了。这种方法不让防火墙运行,比较容易被管理员发现。

方法2:强行绑入防火墙允许的端口

一台系统,如果有一些服务,如pcanywhere,sev-u,iis,mssql,mysql等的话,防火墙 总要允许这些应用程序打开的端口被外界所连接的,而这些应用程序打开的端口是可以被后门或木马程序自身打开的端口重新强行绑入的。例如 pcnayhwere打开端口或serv-u打开的端口都可以被重新绑入,iis和mssql等就有时可以,但有时会失败,原因不明。由于那些应用程序是 得到防火墙的授权并信任的,所以后门或木马将绑口强行绑入后,是可以避开防火墙的,但这种方法对于那些比较高级的防火墙,如 Zonealarm等,还是不行的,因为Zonealarm不只是监视端口,而且监视是什么程序尝试去绑入某个端口的,如果后门没得到Zonealarm 授权的话,一样是无法绑入那个端口的。

方法3:icmp协议或自定义协议的后门或木马

对于一些防火墙是有效果的,但是如果防火墙是检测有网络连接的程序是不是防火墙信任的,那么这个方法就会失效,因 为这类防火墙允不允许程序连接网络是根据用户是否让那程序连接的,而并不是单单看协议或端口。

方法4:将后门或木马插到其它进程中运行

系统中某些程序,99.9999%的用户都会允许的,象IE,如果有用户不允许IE连接网络的话,那是很稀见的。 因为IE一般都是防火墙信任的应用程序,所以只要将后门程序插入到IE中运行,那么防火墙一般是不会拦的。只要防火墙允许IE连接网络,那么插入到IE中 运行的后门就可以接受外界的连接了。这类后门一般是以Dl加载进去IE运行的,直接一个可执行程序将一个线程注入IE运行也可以,但远没有将DLL注入那 么稳定。这种方法可以避开大部份的防火墙,但对于一些不但会检查out bound,而且会检查in bound连接的防火墙会有时失效。但总的来说,这算是一种很好和方便的方法(已经过测试).

方法5:将后门插入到IE中运行,并且使用反向连接

上面方法4已说明了IE一般是防火墙信任的应用程序,所以将后门插入到IE中运行已是一个好方法了,由于某些防火 墙还会检查in bound连接(从外界连入系统的连接),是会导致方法4失效的,因为防火墙是可能通知用户是否允许这个连接的,只要用户拒绝,那么方法4就失效了。

但如果将后门插到IE中运行,并且让后门自动向外界一个指定的IP中连接(反向连接),这样的话,几乎99%是会 成功的,因为防火墙是已允许IE向外连接的了,所以一旦后门连接上那个指定的IP,攻击者就可以得到一个cmd下的Shell.

上面所说的几种方法中,方法1,2,3应用面是很窄的,而且并不能算是一种好的方法;方法4,5是比较高级的方 法,而且管理员一般很难发现(一般不会有人会怀疑自己的IE被人插入后门在运行的,相信大部份上网用户不会知道有这些方法的),而且这些方法比较难检测出 来