防火墙的安全隐患
By 剑心[B.C.T]
[已发表于黑客手册06.6期]
转载请注明:http://www.loveshell.net
土豆特赦让我放出来,大家尊重下哦!谢谢!
本人对于防火墙素来没有什么好感,在入侵中他们算得上是比较讨厌的拦路虎。他们不仅把系统的漏洞掩盖得十分的完全,让一些常用的基于系统的溢出没有效用,让入侵者十分的恼火。但是入侵者绝对不会屈服,现在流行的入侵手法是从不被防火墙拦截的80端口入侵,然后基于webshell来提升权限,整个过程是完全合法的,防火墙不会发出报警。但是在我们从webshell进入系统内部后,一定的原因入侵者会要求从内到外连接。这是对于服务器等的入侵,而对于一些种马挂马的人来说,防火墙也是一个噩梦。费了九牛二虎之力就因为一个防火墙葬送了成功,当然可以杀掉防火墙,但是你不能一直让他不启动吧,别人不会怀疑?大家喜欢的反向的木马通常就是这样被杀的,像天网就是很BT的。
不过这类防火墙软件有一个安全的隐患。也许不能算是安全隐患,因为基于Windows操作系统的所有软件都有这个缺陷的,包括微软自己的东西。 Windows对于正在运行的程序是允许改名的,包括一些服务级的程序。也许大家对这个并不陌生,大家用的比较多的替换服务提升权限就是这个的典型应用。但是我偶尔发现天网也存在这个毛病的!
让我们做个实验吧!
首先我们把nc9.exe放到system32下,在cmd下运行命令nc9 -vv www.163.com 80
弹出对话框询问是否允许访问网络,我们选择允许如图1
然后执行命令rename nc9.exe nc8.exe将nc9.exe改名为nc8.exe。现在天网的规则里有允许c:\winnt\system32\nc9.exe访问网络这样的一条记录了。我们继续实验,我们将telnet.exe设置为禁止访问网络,如图2
。现在telnet.exe访问网络的时候将会超时。copy telnet.exe .\nc9.exe将telnet.exe改名为nc9.exe再telnet看看。如图3
连接上了吧!
看来天网真是只按照程序的名字来决定他时候来通过网络的,根本不识别当前程序是否是当初的那个应用程序。好了,既然防火墙存在这样的漏洞(只有条件测试天网,不过相信基于Windows的防火墙都有这个毛病),我们该怎么利用呢?我的方法是找天网肯定允许访问网络的程序,然后替换他,或者直接将自己与程序捆绑。我们成功的关键是寻找可以访问网络的程序和我们有权限写入的文件夹,默认是可以对运行中的程序改名的,李代桃僵就可以了。对于前者,我看了下天网 rules下的几个.dat文件,记事本打开一团乱码,偶不会分析,要不然干脆往里面添加记录了,一些程序肯定是允许访问网络的,譬如IE,个人用户的 QQ等,还有服务器的一些服务也是肯定允许的!应该可以下载.dat的数据库文件下来研究研究,由于时间匆忙我没有条件实验。后面的也很容易满足, Serveru与Windows的一些本地溢出,挂马时使用的是当前用户的权限……
也许这个根本不能算是防火墙的隐患,因为整个Windows都是允许对现有程序改名的,要说,只能是Windows的Bug吧!我也只能很皮毛地说到这里了
为什么防火墙不把安全设置里的程序做md5校验呢,发现不是原来的程序依然询问……不过太停留在应用层面的东西想做到安全好难……