黑客避开检测的手段(2)
[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地址的一种手段就是使用代理服务器。
代理服务器是被合法的用来从一个单一的访问点转发多种协议的。一般来说,内部用户必须通过代理服务器才能访问Internet,因此管理员就可以在代理服务器指定外部访问以及内部访问的限制策略。用户首先是和代理服务器建立连接,然后代理服务器就将连接请求转发到真正的目的地址。目的地址会记录下代理服务器的IP地址以作为请求的源地址,而不是最初发出请求的系统的IP地址。
但是不幸的是代理服务器在Internet上的放置太随意了。(可以查看Proxys-4-All来获得这些错误配置机器的列表。) 这些服务器经常会存在配置错误使得Internet用户可以连接到这些代理服务器上。一旦某个Internet用户通过代理服务器连接到某个服务器上,该服务器就会将代理服务器的IP地址作为发出请求的源地址记录在日志中。而在被攻击服务器的日志中对攻击者的记录其IP地址是属于一个没有任何攻击行为的“无辜”主机的,而不是攻击者的真正地址。我们来看以下的例子。
下面的例子显示了黑客的攻击和攻击在日志中产生的相关信息。
攻击者
[root@10.1.1.1 /]# nc -v 10.8.8.8 80
HEAD / HTTP/1.0
日志文件
10.1.1.1 - - [18/Oct/2000:03:31:58 -0700] "HEAD / HTTP/1.0" 200 0
内容版权声明:除非注明,否则皆为本站原创文章。