或者

如何利用网站IIS日志分析追查网站攻击者

作者:坐看云起 浏览:145 发布时间:2017-11-08
分享 评论 0

  网站日志作为服务器重要的组成部分,具体的记载了服务器运转期间客户端对WEB运用的拜访恳求和服务器的运转状况,相同,进犯者对网站的侵略行为也会被记载到WEB日志中,因而,在网站日常运营和安全应急呼应进程中,我们能够经过剖析WEB日志并结合其他一些状况来跟踪进犯者,复原进犯进程。


  本文主要叙述了网站日志安全剖析时的思路和常用的一些技巧,并经过两个完好的实例叙述了在发作安全事情后,怎样经过剖析网站日志并结合其他一些头绪来对进犯者进行清查。


  一、WEB日志结构


  在对WEB日志进行安全剖析之前,我们需求先了解下WEB日志的结构,从现在干流WEB服务器支撑的日志类型来看,常见的有两类:


  1、Apache选用的NCSA日志格局。


  2、IIS选用的W3C日志格局。


  其间NCSA日志格局又分为NCSA一般日志格局(CLF)和NCSA扩展日志格局(ECLF)两类,具体运用那一种能够在WEB服务器装备文件中定义,Apache也支撑自定义日志格局,用户能够在装备文件中自定义日志格局,如在Apache中能够经过修正httpd.conf装备文件来实现。


  ?


  接着我们来看一条Apache的拜访日志:


  192.168.1.66 - - [06/Sep/2012:20:55:05 +0800] "GET /index.html HTTP/1.1" 404 287 "-" "Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0"


  下面是具体的解释:


  192.168.1.66:表明客户端IP地址


  [06/Sep/2012:20:55:05 +0800]:拜访时刻及服务器地点时区


  GET:数据包提交方法为GET方法。常见的有GET和POST两种类型。


  /index.html:客户端拜访的URL


  HTTP/1.1:协议版别信息


  404:WEB服务器呼应的状况码。404表明服务器上无此文件;200表明呼应正常;500表明服务器过错。


  287:此次拜访传输的字节数


  Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0:客户端浏览器和体系环境等信息。


  IIS拜访日志格局及保存路径能够在IIS办理器中装备:


  下面是IIS的W3C扩展日志格局:


  值得注意的是IIS的W3C日志格局中的拜访时刻选用的是格林威治时刻,和我们的北京时刻差8个小时,并且没有办法修正(具体可检查博客《怎样检查及剖析网站IIS日志文件》的相关介绍)。


  二、WEB日志安全剖析原理


  经过上面的知识,我们知道WEB日志会记载客户端对WEB运用的拜访恳求,这其间包括正常用户的拜访恳求和进犯者的歹意行为,那么我们怎样区别正常用户和歹意进犯者呢?经过许多的剖析,我们发现进犯者在对网站侵略时,向网站建议的恳求中会带有特定的进犯特征,如运用WEB扫描器在对网站进行缝隙扫描时往往会发生许多的404过错日志。


  当有人对网站进行SQL注入缝隙探测时,WEB拜访日志中一般会呈现如下日志:


  因而,我们能够经过剖析WEB日志中是否存在特定的进犯特征来区别进犯者和正常用户的拜访行为。


  可是,WEB拜访日志并不是全能的,有些进犯行为并不会被记载到WEB拜访日志中,比方POST型SQL注入就不会记载在WEB拜访日志中,这时我们就需求经过其他方法来监测这种进犯行为(具体可检查博客《怎样经过IIS日志剖析网站的隐形信息》的相关介绍)。


  三、WEB日志安全剖析思路


  在对WEB日志进行安全剖析时,能够依照下面两种思路打开,逐渐深入,复原整个进犯进程。


  1、首要断定遭到进犯、侵略的时刻规模,以此为头绪,查找这个时刻规模内可疑的日志,进一步排查,终究断定进犯者,复原进犯进程。


  2、一般进犯者在侵略网站后,一般会上传一个后门文件,以方便自己今后拜访,我们也能够以该文件为头绪来打开剖析。


  四、WEB日志安全剖析技巧


  WEB日志文件一般比较大,包括的信息也比较丰富,当我们对WEB日志进行安全剖析时,我们一般只重视包括进犯特征的日志,其他的日志对于我们来说是无用的,这时我们能够经过手艺或借助东西来将我们重视的日志内容提取出来独自剖析,以进步效率。


  在日志剖析中常常用到的几个指令有“find”,“findstr”,“grep”,“egrep”等,关于这几个指令的用法请自行查找相关材料。


  1、将数据提交方法为“GET”的日志提取出来


  上面这条指令的意思是从iis.log这个文件中查找存在GET字符的日志内容,并将结果保存到iis_get.log中。


  2、查找WEB日志中是否存在运用IIS写权限缝隙的进犯行为。


  五、实例剖析:怎样经过剖析WEB日志追寻进犯者


  上面我们讲了一些关于在WEB日志安全剖析进程中常常用到的技巧,现在我们经过一个实例来完好的了解下怎样经过剖析WEB日志追寻进犯者,复原进犯进程。


  1、布景介绍


  某日,公司网站服务器WEB目录下俄然多了一个名为shell.php.jpg的文件,经过检查文件内容,发现该文件是一个网站后门文件,也就是常说的WebShell,所以置疑网站被黑客侵略。


  接下来网站办理员经过剖析WEB日志,并结合其他一些状况,成功追寻到了进犯者,复原了整个进犯进程,在这个进程中还发现了网站存在的安全缝隙,过后及时修正了缝隙,并对网站进行了全面的安全检测,进步了网站的安全性。


  2、剖析思路


  依据现在得到的信息剖析,得知WEB目录下存在一个可疑的文件,我们就以该文件为头绪,先来查找都有哪些IP拜访了该文件,然后并一步排查这些IP都做了哪些操作,终究承认进犯者以及他运用的进犯方法。


  3、剖析进程


  (1)、首要找到存在的网站后门文件,也就是上面说到的WebShell文件,发现该文件是在2013年2月7日被创立的。


  (2)、我们先来查找下都有哪些IP拜访了这个文件,可经过如下指令将相关日志内容提取出来。


  (3)、经过上图我们能够断定现在只要192.168.1.2拜访了该文件,这个IP十分可疑,下面我们来查找下该IP都做了哪些操作。


  (4)、从上面的日志中我们能够看到这是典型的SQL注入,经过进一步剖析,发现进犯者运用SQL注入获取到了网站后台办理员帐号和暗码。


  192.168.1.2 - - [07/Mar/2013:22:50:21 +0800] "GET /leave_show.php?id=40%20and%201=2%20union%20select%20unhex(hex(concat(0x5e5e5e,group_concat(id,0x5e,user,0x5e,pwd,0x5e,userclass,0x5e,loginip,0x5e,logintimes,0x5e,logintime),0x5e5e5e))),0,0,0,0,0,0,0,0%20from%20(select%20*%20from%20(select%20*%20from%20admin%20where%201=1%20order%20by%201%20limit%201,100)%20t%20order%20by%201%20desc)t%20-- HTTP/1.1" 200 18859 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506; .NET CLR 1.1.4322)"


  (5)、接着进犯者运用获取到的帐号成功进入了网站后台,详见下面的日志:


  192.168.1.2 - - [07/Mar/2013:22:51:26 +0800] "GET /mywebmanage/web_manage.php HTTP/1.1" 200 5172 "http://192.168.1.107/mywebmanage/" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"


  192.168.1.2 - - [07/Mar/2013:22:51:44 +0800] "POST /mywebmanage/check.php HTTP/1.1" 200 47 "http://192.168.1.107/mywebmanage/web_manage.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"


  192.168.1.2 - - [07/Mar/2013:22:51:45 +0800] "GET /mywebmanage/default.php HTTP/1.1" 200 2228 "http://192.168.1.107/mywebmanage/check.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"


  (6)、然后进犯者拜访了add_link.php这个页面,该页面是一个增加友情链接的页面:


  经过剖析网站源码,发现该页面上传图片处存在一个文件上传缝隙,进犯者正是运用这个缝隙上传了一个名为shell.php.jpg的后门文件,并且运用Apache的解析缝隙成功获取到一个WebShell。


  192.168.1.2 - - [07/Mar/2013:22:53:40 +0800] "GET /mywebmanage/link/add_link.php HTTP/1.1" 200 3023 "http://192.168.1.107/mywebmanage/LeftTree.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"


  192.168.1.2 - - [07/Mar/2013:22:54:50 +0800] "POST /mywebmanage/link/add_link_ok.php HTTP/1.1" 200 77 "http://192.168.1.107/mywebmanage/link/add_link.php" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"


  192.168.1.2 - - [07/Mar/2013:22:55:48 +0800] "GET /link/shell.php.jpg HTTP/1.1" 200 359 "-" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"


  192.168.1.2 - - [07/Mar/2013:22:55:54 +0800] "POST /link/shell.php.jpg HTTP/1.1" 200 132 "http://192.168.1.107/link/shell.php.jpg" "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0"


  (7)、到这儿,我们现已能够了解到进犯者的进犯进程了,具体如下:


  首要对网站进行缝隙检测,发现存在SQL注入缝隙--->运用SQL注入缝隙获取到网站后台办理员帐号、暗码及其他信息--->以办理员身份登录网站后台--->运用某页面存在的文件上传缝隙,成功上传一个名为shell.php.jpg的后门文件,并结合Apache的解析缝隙,成功获取到一个WebShell。


  六、实例剖析:运用IIS日志清查BBS网站侵略者


  如果你是网管你会怎样去清查问题的来历呢?程序问题就去检查“事情检查器”,如果是IIS问题当然是检查IIS日志了!


  体系文件夹的system32低下的logfile有一切的IIS日志,用来记载服务器一切拜访记载,因为是虚拟主机的用户,所以每个用户都装备独立的IIS日志目录,从里边的日志文件就能够发现侵略者侵略BBS的材料了,所以下载了有关时刻段的一切日志下来进行剖析,发现了许多我自己都不知道材料(具体可检查博客《IIS日志的效果有哪些》的相关介绍),这下子就知道侵略者是怎样侵略我的BBS了。


  1、IIS日志的剖析


  从第一天里日志能够发现侵略者早就现已对我的BBS虎视耽耽的了,并且不止一个侵略者这么简略,还许多啊,头一天的IIS日志就全部都是运用程序扫描后台留下的废物数据。


  看上面的日志能够发现,侵略者61.145.***.***运用程序不断的在扫描后台的页面,如同想运用后台登陆缝隙然后进入BBS的后台办理版面,很可惜这位侵略者如同真的没有什么思路,麻痹的运用程序作为协助去寻觅后台,没有什么效果的侵略方法。


  检查了第二天的日志,开端的时分还是一般的用户拜访日志没有什么特别,到了中段的时分问题就找到了,找到了一个运用程序查找指定文件的IIS动作记载。


  从上面的材料发现侵略者61.141.***.***也是运用程序去扫描指定的上传页面,然后断定侵略方针是否存在这些页面,然后进行上传缝隙的侵略,还有就是扫描运用动网默许数据库,一些比较常用的木马称号,看来这个侵略者还认为我的BBS是马坊啊,扫描这么多的木马文件能找着就是奇观啊。


  持续往下走总算被我发现了,侵略者61.141.***.***在黑了我网站主页之前的动作记载了,首要在Forum的文件夹目录建立了一个Myth.txt文件,然后在Forum的文件夹目录下再生成了一只木马Akk.asp


  日志的记载下,看到了侵略者运用akk.asp木马的一切操作记载。


  具体侵略剖析如下:


  GET /forum/akk.asp – 200


  运用旁注网站的webshell在Forum文件夹下生成akk.asp后门


  GET /forum/akk.asp d=ls.asp 200


  侵略者登陆后门


  GET /forum/akk.asp d=ls.asp&path=/test&oldpath=&attrib= 200


  进入test文件夹


  GET /forum/akk.asp d=e.asp&path=/test/1.asp&attrib= 200


  运用后门在test文件夹修正1.asp的文件


  GET /forum/akk.asp d=ls.asp 200


  GET /forum/akk.asp d=ls.asp&path=/lan&oldpath=&attrib= 200


  进入lan文件夹


  GET /forum/akk.asp d=e.asp&path=/lan/index.html&attrib= 200


  运用编辑指令修正lan文件夹内的主页文件


  GET /forum/akk.asp d=ls.asp 200


  GET /forum/akk.asp d=ls.asp&path=/forum&oldpath=&attrib= 200


  进入BBS文件夹(这下子真的进入BBS目录了)


  POST /forum/akk.asp d=up.asp 200


  GET /forum/akk.asp d=ls.asp&path=/forum&oldpath=&attrib= 200


  GET /forum/myth.txt – 200


  在forum的文件夹内上传myth.txt的文件


  GET /forum/akk.asp d=ls.asp&path=/forum&oldpath=&attrib= 200


  GET /forum/akk.asp d=e.asp&path=/forum/myth.txt&op=del&attrib= 200


  POST /forum/akk.asp d=up.asp 200


  GET /forum/myth.txt – 200


  运用后门修正Forum文件夹目录下的myth.txt文件。


  之后又再运用旁注网站的webshell进行了Ubb.asp的后门建立,运用akk.asp的后门修正了主页,又把主页备份,晕死啊,不明白这位侵略者是怎样一回事,整天换webshell进行运用,还真的摸不透啊。


  2、剖析日志总结


  侵略者是运用东西踩点,首要断定BBS可能存在的缝隙页面,经过测验发现不能够侵略,然后转向服务器的侵略,运用旁注专用的程序或者是特定的程序进行网站侵略,拿到首要的webshell,再进行文件夹的拜访然后侵略了我的BBS体系修正了主页,因为是根据我空间的IIS日志进行剖析,所以不清楚侵略者是运用哪个网站哪个页面进行侵略的!


  不过都现已完结的材料收集了,断定了侵略BBS的侵略者IP地址以及运用的木马,还留下了许多侵略记载,整个日志追寻进程就结束了。


  经过上面临WEB日志进行的安全剖析,我们不仅追寻到了进犯者,也查出了网站存在的缝隙,下面就应该将进犯者上传的后门文件删除去,并修正存在的安全缝隙,然后对网站进行全面的安全检测,并对WEB服务器进行安全加固,避免此类安全事情再次发作。