玩转Log Parser轻松搞定网站日志安全分析.docx
《玩转Log Parser轻松搞定网站日志安全分析.docx》由会员分享,可在线阅读,更多相关《玩转Log Parser轻松搞定网站日志安全分析.docx(12页珍藏版)》请在冰豆网上搜索。
玩转LogParser轻松搞定网站日志安全分析
玩转“LogParser”,轻松搞定网站日志安全分析
一、开篇
二、介绍
web日志分析往往是件令人非常头疼的事情,特别是一些生产环境中的系统,每天产生的日志数量惊人,一但系统被入侵,能够追溯到攻击者的最好途径也只能是查看网站日志了。
作为安全从业人员不得不面对的通过海量日志文件找到入侵者的难题,本期我们给大家分享一些应急响应中的web日志分析相关的经验
工欲善其事必先利其器,下面引出我们本期的主角logparser
LogParser是微软免费且强大的日志分析工具,具备通用的日志分析能力,学会使用此款工具,就能够实现对windows系统日志,iis、apache、tomcat、nginx等web日志进行分析,本期我们只关注web方面的安全分析、系统日志分析等,大家有兴趣可以自己研究
下载地址
安装过程也特别简单,安装完成后我们可以将工具的路径加入系统环境变量中,这样方便我们在任何地方调用此工具
图1
设置完成后,我们简单运行下,不出意外我们看到时logpaser给我们输出的帮助信息
图2
logparser集成了微软自身的数据库引擎,我们可以直接把一个日志文件简单理解成一个表来进行我们的操作
三、输入输出
-i定义输入的日志形式
logparser所有支持的日志格式如下
图3
其中我们常见的web服务器默认产生的日志文件对应关系如下:
iis产生的日志iisw3c
nginx默认日志格式ncsa
apache默认日志格式ncsa格式
其中还有通用的文本格式处理为textline,在遇到一些自定义格式的日志时可以使用此格式,在通过自己分割成我们需要的格式
常用的输出格式
-o定义输出的日志形式
图4
csv即文本形式输出
datagrid为logparser自带一款图形化界面显示输出
例:
1:
查看所有字段的iis日志信息,并以自带的图形化ui显示结果
通过cmd进入到日志目录
cdE:
\logss\web2
logparser–iiisw3c–odatagrid"select*fromu_ex160612.log"
图5
为了保证性能,默认它会显示前10条
2:
查看时间字段,客户ip,访问的页面三个字段并且以图形化形式输出
logparser–iiisw3c–odatagrid"selecttime,c-ip,cs-uri-stemfromu_ex160612.log"
图6
四、com扩展
logparser提供com接口来扩展,支持c#语言调用,在处理一些自定义格式分析的时候可以采用此方式来扩展,更多详情可以查看官方手册
五、sql语句的支持
logparser是集成了数据库引擎的,我们可以直接使用标准的sql语句来对日志进行筛选查询操作即可,这是这款工具的最大的亮点之一。
六、多文件的支持
一般的web日志文件都是按天进行生成的,我们有时需要对整个目录的日志文件进行查找,我们只需要对from语句后面添加*通配符
如以下日志目录:
图7
因此我们可以构造以下语句实现多日志文件的操作
logparser–iiisw3c–odatagrid"select*fromu_ex*"
六、实例模拟通过后门文件定位追溯攻击者
1:
首选获取到后门程序的文件名(可以通过webshell查杀工具),如下
图8
2:
通过文件名获取所有操作后门的攻击者ip
logparser-o:
datagrid"select*fromex*whereTO_LOWERCASE(cs-uri-stem)like'%dj888.aspx%'"
图9
3:
筛选下我们需要的字段
logparser-o:
datagrid"selectdate,time,c-ip,cs-method,cs-uri-stem,cs-uri-query,cs(User-Agent)fromex*whereTO_LOWERCASE(cs-uri-stem)like'%dj888.aspx%'"
图10
4:
获取得到所有访问者的ip,这里我们可能会出现很多记录,因此我们可以直接按照c-ip来进行分组
logparser-o:
datagrid"selectc-ipfromex*whereTO_LOWERCASE(cs-uri-stem)like'%dj888.aspx%'groupbyc-ip"
这样我们就获取得到所有通过后门访问我们web系统的ip信息
图11
这里我们可能或获取得到很多个ip地址,为了方便查询归属地,我们可以用纯真ip库,也可以利用线上的批量查询,如站长之家ip归属地批量查询等
5:
通过获取的ip追溯整个攻击者的访问信息
logparser-o:
datagrid"selectdate,time,c-ip,cs-method,cs-uri-stem,cs-uri-query,cs(User-Agent)fromex*wherec-ip='10.xx.xx.100'"
首选攻击者打开首页,没有发现任何异常
图12
紧接着出现了大量的head请求,很明显开始了路径扫描
图13
head请求结束后,攻击者打开了上传页面
图14
两次post请求uploadfaceok.asp后就开始请求后门文件了,因此这个文件存在较大的安全隐患,需要重点排除,通过对脚本分析发现uploadfaceok.asp存在文件截断上传漏洞
获取后门收攻击者对后门脚本提交了大量post,按照经验攻击者应该在尝试提权等操作
图15
2:
通过敏感文件分析日志
一般攻击者或多或少的都会尝试下载一些资源文件,主要在扫描阶段,脱裤等行为留下的日志,通过常规后缀进行分析,.sql.zip.rar.mdb.bak
logparser–iiisw3c-o:
datagrid"select*fromex*where(TO_LOWERCASE(cs-uri-stem)like'%.mdb%')OR(TO_LOWERCASE(cs-uri-stem)like'%.zip%')OR(TO_LOWERCASE(cs-uri-stem)like'%.rar%')OR(TO_LOWERCASE(cs-uri-stem)like'%.bak%')"
同上我们在根据这些ip去依次判断此人的访问轨迹,分析入侵者是否成功获取系统权限,和系统漏洞的入口
七、通过注入语句
同理我们也可以通过常见的sql注入来找出攻击者,一般来说注入语句常见的关键字
'andselectorunion等
logparser-o:
datagrid"select*fromex*where(TO_LOWERCASE(cs-uri-query)like'%\%27%')OR(TO_LOWERCASE(cs-uri-query)like'%\%20and\%20%')OR(TO_LOWERCASE(cs-uri-query)like'%\%20or\%20%')OR(TO_LOWERCASE(cs-uri-query)like'%\%20union%')OR(TO_LOWERCASE(cs-uri-query)like'%\%20union')
工具最大的好处是解放我们操作日志,让我们的分析的思路更加灵活,因此我们也可以有很多种方式找到攻击者,如
八、其他方式
1:
分析所有ip成功登入后台的记录,通过ip还原到地市,找到异常登入情况
2:
分析特殊时间的一些管理操作,如凌晨1-5点的一些ip
3:
通过一些特殊扫描器的user-agent信息找到攻击者,如sqlmap,awvs默认的user-agent
4:
通过一些最新的payload做关键字来分析系统是否有被尝试利用等等
九、篇外
logparser是一款优秀的日志分析工具,我们可以在此基础上封装更多的易用的可视化的工具实现自动化分析等等,更多更高级的玩法等着你
十、总结
渗透测试哪家强,就到厦门找安胜。