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

乐清SEO_网站运营_ 乐清SEO2021-01-14 转载自:

网站日志作为服务器重要的组成部分,详细的记录了服务器运行期间客户端对WEB应用的访问请求和服务器的运行状态,同样,攻击者对网站的入侵行为也会被记录到WEB日志中,因此,在网站日常运营和安全应急响应过程中,我们可以通过分析WEB日志并结合其他一些情况来跟踪攻击者,还原攻击过程。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

本文主要讲述了网站日志安全分析时的思路和常用的一些技巧,并通过两个完整的实例讲述了在发生安全事件后,如何通过分析网站日志并结合其他一些线索来对攻击者进行追查。

一、WEB日志结构

在对WEB日志进行安全分析之前,我们需要先了解下WEB日志的结构,从目前主流WEB服务器支持的日志类型来看,常见的有两类:

1、Apache采用的NCSA日志格式。

2、IIS采用的W3C日志格式。

其中NCSA日志格式又分为NCSA普通日志格式(CLF)和NCSA扩展日志格式(ECLF)两类,具体使用那一种可以在WEB服务器配置文件中定义,Apache也支持自定义日志格式,用户可以在配置文件中自定义日志格式,如在Apache中可以通过修改httpd.conf配置文件来实现。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

接着我们来看一条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日志分析追查网站攻击者-马海祥博客

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

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

值得注意的是IIS的W3C日志格式中的访问时间采用的是格林威治时间,和我们的北京时间差8个小时,而且没有办法修改(具体可查看马海祥博客《》的相关介绍)。

二、WEB日志安全分析原理

通过上面的知识,我们知道WEB日志会记录客户端对WEB应用的访问请求,这其中包括正常用户的访问请求和攻击者的恶意行为,那么我们如何区分正常用户和恶意攻击者呢?通过大量的分析,我们发现攻击者在对网站入侵时,向网站发起的请求中会带有特定的攻击特征,如利用WEB扫描器在对网站进行漏洞扫描时往往会产生大量的404错误日志。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

当有人对网站进行SQL注入漏洞探测时,WEB访问日志中通常会出现如下日志:

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

因此,我们可以通过分析WEB日志中是否存在特定的攻击特征来区分攻击者和正常用户的访问行为。

但是,WEB访问日志并不是万能的,有些攻击行为并不会被记录到WEB访问日志中,比如POST型SQL注入就不会记录在WEB访问日志中,这时我们就需要通过其他手段来监测这种攻击行为(具体可查看马海祥博客《》的相关介绍)。

三、WEB日志安全分析思路

在对WEB日志进行安全分析时,可以按照下面两种思路展开,逐步深入,还原整个攻击过程。

1、首先确定受到攻击、入侵的时间范围,以此为线索,查找这个时间范围内可疑的日志,进一步排查,最终确定攻击者,还原攻击过程。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

2、一般攻击者在入侵网站后,通常会上传一个后门文件,以方便自己以后访问,我们也可以以该文件为线索来展开分析。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

四、WEB日志安全分析技巧

WEB日志文件通常比较大,包含的信息也比较丰富,当我们对WEB日志进行安全分析时,我们通常只关注包含攻击特征的日志,其他的日志对于我们来说是无用的,这时我们可以通过手工或借助工具来将我们关注的日志内容提取出来单独分析,以提高效率。

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

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

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

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

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

2、查找WEB日志中是否存在利用IIS写权限漏洞的攻击行为。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

五、实例分析:如何通过分析WEB日志追踪攻击者

上面我们讲了一些关于在WEB日志安全分析过程中经常用到的技巧,现在我们通过一个实例来完整的了解下如何通过分析WEB日志追踪攻击者,还原攻击过程。

1、背景介绍

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

接下来网站管理员通过分析WEB日志,并结合其他一些情况,成功追踪到了攻击者,还原了整个攻击过程,在这个过程中还发现了网站存在的安全漏洞,事后及时修复了漏洞,并对网站进行了全面的安全检测,提高了网站的安全性。

2、分析思路

根据目前得到的信息分析,得知WEB目录下存在一个可疑的文件,我们就以该文件为线索,先来查找都有哪些IP访问了该文件,然后并一步排查这些IP都做了哪些操作,最终确认攻击者以及他运用的攻击手段。

3、分析过程

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

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

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

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

(3)、通过上图我们可以确定目前只有192.168.1.2访问了该文件,这个IP非常可疑,下面我们来查找下该IP都做了哪些操作。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

(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这个页面,该页面是一个添加友情链接的页面:

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

通过分析网站源码,发现该页面上传图片处存在一个文件上传漏洞,攻击者正是利用这个漏洞上传了一个名为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的资料了,所以下载了有关时间段的所有日志下来进行分析,发现了很多我自己都不知道资料(具体可查看马海祥博客《》的相关介绍),这下子就知道入侵者是怎么入侵我的BBS了。

1、IIS日志的分析

从第一天里日志可以发现入侵者早就已经对我的BBS虎视耽耽的了,而且不止一个入侵者这么简单,还很多啊,头一天的IIS日志就全部都是利用程序扫描后台留下的垃圾数据。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

看上面的日志可以发现,入侵者61.145.***.***利用程序不断的在扫描后台的页面,似乎想利用后台登陆漏洞从而进入BBS的后台管理版面,很可惜这位入侵者好像真的没有什么思路,麻木的利用程序作为帮助去寻找后台,没有什么作用的入侵手法。

查看了第二天的日志,开始的时候还是普通的用户访问日志没有什么特别,到了中段的时候问题就找到了,找到了一个利用程序查找指定文件的IIS动作记录。

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

从上面的资料发现入侵者61.141.***.***也是利用程序去扫描指定的上传页面,从而确定入侵目标是否存在这些页面,然后进行上传漏洞的入侵,还有就是扫描利用动网默认数据库,一些比较常用的木马名称,看来这个入侵者还以为我的BBS是马坊啊,扫描这么多的木马文件能找着就是奇迹啊。

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

如何利用网站IIS日志分析追查网站攻击者-马海祥博客

日志的记录下,看到了入侵者利用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服务器进行安全加固,防止此类安全事件再次发生。