您的位置: 主页 > 安全攻防 > 黑客技术 > 黑客避开检测的手段

黑客避开检测的手段
时间:11-07-07 来源:[标签:来源] 作者:admin 阅览:
    黑客的聪明并不只是在于他们知道如何去入侵服务器,还在于他们知道如何去伪装自己的攻击。恶意的攻击者会使用多种逃避的手段来让自己不会被检测到,所以作为系统管理员,也应当了解这些手段以应付可能发生的攻击。

  这篇文章的主要目的不是揭示黑客新的攻击手法,而是对那些黑客所用到的逃避检测的手法以及他们可能留下的证据做描述。这些手段的欺骗性很大,所以想检测到它们也更加的困难。

??网络服务器

  我们的实验环境使用两种最常用的网络服务器,Apache和微软的Internet Information Server(IIS)。我们在Red Hat Linux上运行Apache 1.3.9,在Windows NT 4.0上运行IIS 4.0。并且两种都采用普通和允许SSL的版本,所以我们可以对加密和未加密的服务器的攻击做测试。

??16进制编码

  一种最简单的将攻击伪装的手段就是修改URL请求。作为管理员,我们一般会在日志文件中查找某些字符串,或是一些普通文本的字符集。例如我们在请求中查找匹配已知漏洞的字符串。例如,我们在我们的IIS服务器中发现了如下的字符串,我们就知道有人正在查找是否有IIS中可以远程利用的MDAC漏洞:

??06:45:25 10.0.2.79 GET /msadc/ 302

??要知道攻击者是如何躲过这种匹配检测的,请参考以下作为恶意攻击者策略一部分的请求。要确定msadc目录是否存在,攻击者可能键入以下内容:

??[root@localhost /root]# nc -n 10.0.2.55 80
??GET /msadc HTTP/1.0

??这就会产生我们以上所见的日志文件。攻击者可以将请求进行十六进制的ASCII字符编码。在以上的例子中,字符串msadc在十六进制编码以后就会变为6D 73 61 64 63。你可以使用Windows Charmap程序来快速的进行字符的ASCII到十六进制的转换。以上的HTTP请求,将字符串msadc用十六进制编码以后,就变成了:

??[root@localhost]# nc -n 10.0.2.55 80
??GET /%6D%73%61%64%63 HTTP/1.0

??IIS的日志文件显示:

??07:10:39 10.0.2.31 GET /msadc/ 302

??应当注意的是,虽然采用了十六进制编码的手段,但是所产生的日志和没有使用十六进制编码的URL产生的是一样的。所以在这个例子里,编码并没有帮助攻击者逃避检测。但是,如果我们看看看Apache的日志情况,那么就是另外一个情形了。以下列出了攻击者使用来搜索某个CGI脚本的命令,后面跟着的是使用十六进制编码以后的同样命令:

??[root@localhost]# nc -n 10.0.0.2 80
??HEAD /cgi-bin/test-cgi HTTP/1.0
??[root@localhost]# nc -n 10.0.0.2 80
??HEAD /%63%67%69-bin/test-%63%67%69 HTTP/1.0

??现在我们来查看一下access_log文件:

10.10.10.10 - - [18/Oct/2000:08:22:47 -0700] "HEAD /cgi-bin/test-cgi HTTP/1.0" 200 0
10.10.10.10 - - [18/Oct/2000:08:23:47 -0700] "HEAD /%63%67%69-bin/test-%63%67%69 HTTP/1.0" 200 0

??首先应注意到的是在这两个例子中都是200代码说明命令完成成功。但是在第二中情况中,日志中出现的是十六进制的值而不是明文的。如果我们是依赖于形式来对这种攻击进行检测的话,那么我们是不可能检测到所发生的攻击的。许多的入侵检测系统使用的格式匹配技术智能化都不高,并且有些产品不会将十六进制的URL转换过后进行匹配。但是不论所使用的入侵检测软件是否能够对十六进制的代码进行转换,所有的网络管理员都应当对这种伎俩有所了解。

??代理服务器

  因为对攻击者而言完全隐藏攻击行为是很难做到的,所以掩盖攻击的真实来源也就成为相当重要的课题了。如果黑客可以隐藏他的源IP地址的话,那么他就可以在不用担心被抓住的情况下进行攻击。而黑客用来隐藏他们的源IP地址的一种手段就是使用代理服务器。

黑客技术相关
关于<< 黑客避开检测的手段 >>的评论 查看所有评论