一、概述
在系统被入侵后,要想了解下系统被入侵的过程,最好的途径大概就是通过查看日志,对日志进行分析,来还原整个过程的来龙去脉。每次对几百兆的日志进行查看时确实头疼,尤其是对关键字进行搜索时还会出现编辑器卡顿的情况。所以就想着能不能利用脚本去完成一些常规的排查过程,来辅助完成日志分析工作。
二、功能简述
2.1、根据关键字进行搜索
(1)目的:尝试通过在日志中搜索后门名称、时间等关键字,更快找到有用信息。
(2)使用方法:将需要查询的日志放到当前路径/log/目录下,运行日志find.py,该模块最多支持两个关键字搜索,关键字之间以逗号隔开;
当最后一个关键字为1时,表示对关键字1和关键字2同时进行搜索;当最后一个关键字为2时,表示搜索满足关键字1或关键字2的日志;当最后一个关键字为空时,表示只是对关键字1进行搜索;
(3)结果保存:搜索结果会保存在当前result目录下的find_result.txt文档中。
搜索test.php,输入格式test.php, 输出如下:
搜索10月6号访问test.php的日志,输入格式test.php, 06/Oct/,1 输出如下:
搜索10月6号或访问test.php的日志,输入格式test.php, 06/Oct/,2 输出如下:
(4)ip地址查询:
对搜索到结果进行ip地址提取,查看攻击者的ip还做过哪些操作,并将搜索结果保存在log.txt中
2.2、Ip、url分析
(1)目的:提取日志中所有的ip地址,并对ip归属地进行查询,并对出现次数做统计;根据日志 分析url访问情况,记录访问路径、访问次数,并将结果保存到tongji.xsl表格中
(2)使用方法:将需要查询的日志放到当前路径/log/目录下,运行python rizhifenxi.py
(3)结果保存:会在result目录下生成tongji.xls,url地址统计如下
URl统计表
IP地址统计表
三、有待改进
1、脚本思路多数来自平常的项目积累,所以想法过于单一,在今后遇到不同的情况会在继续完善;
2、很多时候即使是筛选出来后还是更多的靠人为去分析,脚本只是辅助工具,所以存在不够通用的问题;
3、ip地址在查询中由于查询接口原因,会存在查询失败情况;
4、当日志格式为自定义情况下,需要根据定义格式在自行修改脚本中分割日志的格式;
四、最后
现成的日志分析工具,网上大牛已经分享了很多,如elk、web-log-parser、360星图等,也有大牛们自己编写的一些工具。这里只是根据自己的需求重点做了搜索、异常地址访问列表提取、ip地址归属地查询、url汇总功能,还是有很多功能可以添加完善的,写的水平比较水,可根据自己的需求做修改完善处理,有好的意见也可以多多指出。
相关代码已经上传github,查看地址如下:
*本文作者:菜鸟的菜,转载请注明来自FreeBuf.COM