网站首页/网络技术列表/内容

从服务器的记录寻找黑客的蛛丝马迹(1)

网络技术2021-04-21阅读
网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。

当服务器被攻击时,最容易被人忽略的地方,就是记录文件,服务器的记录文件了黑客活动的蛛丝马迹。在这里,我为大家介绍一下两种常见的网页服务器中最重要的记录文件,分析服务器遭到攻击后,黑客在记录文件中留下什么记录。

  目前最常见的网页服务器有两种:Apache和微软的Internet Information Server (简称IIS)。这两种服务器都有一般版本和SSL认证版本,方便黑客对加密和未加密的服务器进行攻击。


  IIS的预设记录文件地址在 c:winntsystem32logfilesw3svc1的目录下,文件名是当天的日期,如yymmdd.log。系统会每天产生新的记录文件。预设的格式是W3C延伸记录文件格式(W3C Extended Log File Format),很多相关软件都可以解译、分析这种格式的档案。记录文件在预设的状况下会记录时间、客户端IP地址、method(GET、POST等)、URI stem(要求的资源)、和HTTP状态(数字状态代码)。这些字段大部分都一看就懂,可是HTTP状态就需要解读了。一般而言,如果代码是在200到299代表成功。常见的200状态码代表符合客户端的要求。300到399代表必须由客户端采取动作才能满足所提出的要求。400到499和500到599代表客户端和服务器有问题。最常见的状态代码有两个,一个是404,代表客户端要求的资源不在服务器上,403代表的是所要求的资源拒绝服务。Apache记录文件的预设储存位置在/usr/local/apache/logs。最有价值的记录文件是access_log,不过 ssl_request_log和ssl_engine_log也能提供有用的资料。 access_log记录文件有七个字段,包括客户端IP地址、特殊人物识别符、用户名称、日期、Method Resource Protocol(GET、POST等;要求哪些资源;然后是协议的版本)、HTTP状态、还有传输的字节。


  我在这里所用的是与黑客用的相似的模拟攻击网站方式和工具。(注意:在本文中所介绍的方法请大家不要试用,请大家自觉遵守网络准则!)


  分析过程


  网页服务器版本是很重要的信息,黑客一般先向网页服务器提出要求,让服务器送回本身的版本信息。只要把「HEAD / HTTP/1.0」这个字符串用常见的netcat utility(相关资料网址:http://www.l0pht.com/~weld/netcat/)和OpenSSL binary(相关资料网址:http://www.openssl.org/)送到开放服务器的通讯端口就成了。注意看下面的示范:


  C:>nc -n 10.0.2.55 80

  HEAD / HTTP/1.0

  HTTP/1.1 200 OK

  Server: Microsoft-IIS/4.0

  Date: Sun, 08 Mar 2001 14:31:00 GMT

  Content-Type: text/html

  Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/

  Cache-control: private


  这种形式的要求在IIS和Apache的记录文件中会生成以下记录:


  IIS: 15:08:44 11.1.2.80 HEAD /Default.asp 200

  Linux: 11.1.2.80 - - [08/Mar/2001:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0


  虽然这类要求合法,看似很平常,不过却常常是网络攻击的前奏曲。access_log和IIS的记录文件没有表明这个要求是连到SSL服务器还是一般的网页服务器,可是Apache的 ssl_request_log和ssl_engine_log(在/usr/local/apache/logs目录下)这两个记录文件就会记录是否有联机到SSL服务器。请看以下的ssl_request_log记录文件:


  [07/Mar/2001:15:32:52 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "HEAD / HTTP/1.0" 0


  第三和第四个字段表示客户端使用的是哪种加密方式。以下的ssl_request_log分别记录从OpenSSL、 Internet Explorer和Netscape客户端程序发出的要求。


  [07/Mar/2001:15:48:26 -0700] 11.1.1.50 SSLv3 EDH-RSA-DES-CBC3-SHA "GET / HTTP/1.0" 2692

  [07/Mar/2001:15:52:51 -0700] 10.0.2.55 TLSv1 RC4-MD5 "GET / HTTP/1.1" 2692

  [07/Mar/2001:15:54:46 -0700] 11.1.1.50 SSLv3 EXP-RC4-MD5 "GET / HTTP/1.0" 2692

  [07/Mar/2001:15:55:34 –0700] 11.1.2.80 SSLv3 RC4-MD5 “GET / HTTP/1.0” 2692


  另外黑客通常会复制一个网站(也就是所谓的镜射网站。),来取得发动攻击所需要的信息。网页原始码中的批注字段常有目录、文件名甚至密码的有用资料。复制网站常用的工具包括窗口系统的Teleport Pro(网址:http://www.tenmax.com/teleport/pro/home.htm)和Unix系统的wget(网址:http://www.gnu.org/manual/wget/)。在这里我为大家分析wget和TeleportPro这两个软件攻击网页服务器后记录文件中的内容。这两个软件能全面快速搜寻整个网站,对所有公开的网页提出要求。只要检查一下记录文件就知道,要解译镜射这个动作是很简单的事。以下是IIS的记录文件:


  16:28:52 11.1.2.80 GET /Default.asp 200

  16:28:52 11.1.2.80 GET /robots.txt 404

  16:28:52 11.1.2.80 GET /header_protecting_your_privacy.gif 200

  16:28:52 11.1.2.80 GET /header_fec_reqs.gif 200

  16:28:55 11.1.2.80 GET /photo_contribs_sidebar.jpg 200

  16:28:55 11.1.2.80 GET /g2klogo_white_bgd.gif 200

  16:28:55 11.1.2.80 GET /header_contribute_on_line.gif 200


  注:11.1.2.80这个主机是Unix系统的客户端,是用wget软件发出请求。


  16:49:01 11.1.1.50 GET /Default.asp 200

  16:49:01 11.1.1.50 GET /robots.txt 404

  16:49:01 11.1.1.50 GET /header_contribute_on_line.gif 200

  16:49:01 11.1.1.50 GET /g2klogo_white_bgd.gif 200

  16:49:01 11.1.1.50 GET /photo_contribs_sidebar.jpg 200

  16:49:01 11.1.1.50 GET /header_fec_reqs.gif 200

  16:49:01 11.1.1.50 GET /header_protecting_your_privacy.gif 200


  注:11.1.1.50系统是窗口环境的客户端,用的是TeleportPro发出请求。


  注意:以上两个主机都要求robots.txt这个档,其实这个档案是网页管理员的工具,作用是防止wget和TeleportPro这类自动抓文件软件对某些网页从事抓取或搜寻的动作。如果有人提出robots.txt档的要求,常常代表是要镜射整个网站。但,TeleportPro和wget这两个软件都可以把要求robots.txt这个文件的功能取消。另一个侦测镜射动作的方式,是看看有没有同一个客户端IP反复提出资源要求。



网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。

……

相关阅读