能
难度大小在于防火墙的种类和防火墙规则的设置
一般如果规则设置严密
需要黑客分析防火墙本身漏洞进行攻击的时候
这个难度就是专业级黑客才能尝试的了~
但如果防火墙规则不够严密
那么从规则上找到漏洞进行攻击
难度相对而言并不大~~
什么目标也看黑客
我国特色的“菜客”一般都是从网上“海选”出没有装防火墙的菜鸟用户来攻击
(“菜客”我自己的杜撰的一个定义,中国有很多这种“菜客”。就是那些基本上可以说没有任何技术可言的菜鸟。学会了如何使用别人编写好的一套扫描、入侵的程序,然后就在网上狂扫,扫到没装防火墙或端口开放并且还没有设登录密码的用户就入侵。而凡是能正确使用防火墙的用户,这些“菜客”压根扫描不到,更别说入侵了……)
还有一些类似于“恶魔猎手”的人~呵呵~用蜜罐技术营造一个漏洞百出的虚拟计算机环境,来引诱上面所谓的“菜客”前来入侵。一旦对方入侵成功,就相当于掉入了这些黑客的陷阱……那后面一系列的反入侵、反追踪、反监听……可想而知了……
还有的就是入侵服务器的了,为了各种各样的目的~~
入侵各种级别的服务器~~
从公司服务器到银行服务器,甚至到政府机构的服务器~
撑死胆大的饿死胆小的~
什么人都有~
可能现在对局域网上网用户限制比较多,比如不能上一些网站,不能玩某些游戏,不能上MSN,端口限制等等,一般就是通过代理服务器上的软件进行限制,如现在谈的最多的ISA Server 2004,或者是通过硬件防火墙进行过滤。下面谈谈如何突破限制,需要分限制情况进行说明:
一、单纯的限制某些网站,不能访问,网络游戏(比如联众)不能玩,这类限制一般是限制了欲访问的IP地址。
对于这类限制很容易突破,用普通的HTTP代理就可以了,或者SOCKS代理也是可以的。现在网上找HTTP代理还是很容易的,一抓一大把。在IE里加了HTTP代理就可以轻松访问目的网站了。
二、限制了某些协议,如不能FTP了等情况,还有就是限制了一些网络游戏的服务器端IP地址,而这些游戏又不支持普通HTTP代理。
这种情况可以用SOCKS代理,配合Sockscap32软件,把软件加到SOCKSCAP32里,通过SOCKS代理访问。一般的程序都可以突破限制。对于有些游戏,可以考虑Permeo Security Driver 这个软件。如果连SOCKS也限制了,那可以用socks2http了,不会连HTTP也限制了吧。
三、基于包过滤的限制,或者禁止了一些关键字。这类限制就比较强了,一般是通过代理服务器或者硬件防火墙做的过滤。比如:通过ISA Server 2004禁止MSN ,做了包过滤。这类限制比较难突破,普通的代理是无法突破限制的。
这类限制因为做了包过滤,能过滤出关键字来,所以要使用加密代理,也就是说中间走的HTTP或者SOCKS代理的数据流经过加密,比如跳板,SSSO, FLAT等,只要代理加密了就可以突破了, 用这些软件再配合Sockscap32,MSN就可以上了。 这类限制就不起作用了。
四、基于端口的限制,限制了某些端口,最极端的情况是限制的只有80端口可以访问,也就只能看看网页,连OUTLOOK收信,FTP都限制了。当然对于限制几个特殊端口,突破原理一样。
这种限制可以通过以下办法突破:
1、找普通HTTP80端口的代理,12.34.56.78:80,象这样的,配合socks2http,把HTTP代理装换成SOCKS代理,然后再配合SocksCap32,就很容易突破了。这类突破办法中间走的代理未 加密。通通通软件也有这个功能。
2、用类似FLAT软件,配合SocksCap32,不过所做的FLAT代理最好也是80端口,当然不是80端口也没关系,因为FLAT还支持再通过普通的HTTP代理访问,不是80端口,就需要再加一个80端口的HTTP 代理。这类突破办法中间走的代理加密,网管不知道中间所走的数据是什么。代理跳板也可以做到,不过代理仍然要80端口的。对于单纯是80端口限制,还可以用一些端口转换的技术突破限制。
五、以上一些限制综合的,比如有限制IP的,也有限制关键字,比如封MSN,还有限制端口的情况。
一般用第四种情况的第二个办法就可以完全突破限制。只要还允许上网,呵呵,所有的限制都可以突破。
穿透防火墙的数据传输方法
通常,在我们为目标主机安放好了后门需要将数据传输出去时,主机上的防火墙都会让我们遇到一些不大不小的麻烦。如果为我们自己的进程开一个端口(甚至是新建套接字),那么大部分的防火墙都会将其拦截。有什么方法能“穿透”这些防火墙呢?
下面我为您介绍一种“洞穿”防火墙小规模传输重要数据的方法。不过,不推荐您在其它情况下使用该方法。
其实我的思路很简单,既然防火墙会拦截未验证进程而放行已验证进程的数据传输,那我们就将其它进程中允许数据传输的套接字句柄拿为已用。具体过程如下:
1、找出目标进程;
2、找出SOCKET句柄;
2、用DuplicateHandle()函数将其SOCKET转换为能被自己使用;
3、用转换后的SOCKET进行数据传输。
上面的过程写的很简单,但是实现起来还存在一些问题(后面再做讨论)。另外,从上面的实现方法中也可以看到一些很难控制的地方,比如在目标进程的SOCKET不能是TCP,只能是UDP,因为TCP的句柄已经跟外面建立了连接。同时,针对不同系统不同进程我们也很难定位一个稳定的进程SOCKET。
看到这么多“麻烦”,你有点泄气了对不对?不要着急,再想一想,其实我们有一条真正通向罗马的“黄金大道”。我们都知道只要一台计算机联上了网络,那么有一种数据传输是肯定不会被拦截的,不错,就是DNS!你能想像域名解析数据都被拦截所造成的后果吗?既然DNS是不会被拦的,而且它又是UDP传输,我们就从它“开刀”。
本文为您提供了一个通过直接控制DNS进程(其实也就是svchost.exe,不过对应用户名是NETWORK SERVICE)进行数据传输的例子。
查看详细源代码RIPT。