84636a08d0d12e2a09fd1a57f9c3b231.png

Part1 前言

大家好,我是ABC_123。我曾经花费时间搭建各种Web服务器、数据库环境去研究分析日志,使用的工具从使用系统自带命令去分析日志,到自动化的360星图,再到后期的Logparser、ELK(ElastiSearch、Kibana、Logstash)等等。到最后我发现还是Splunk这款商业版工具用起来更顺手一些,我个人认为这款软件比ELK要好用得多,只不过ELK免费开源可以包装成产品,所以受到大家追捧,反之Splunk价格昂贵,推广就很受限制。把Splunk用好了足以应付现有的各种日志分析场景,堪称一款神器。

Splunk这款商业工具是美国人写的(ELK也是美国人做的),于2004年开始研发更新,可以将设备和软件产生的日志数据、性能数据、网络数据包等数据进行采集,然后进行索引、调查、监控、可视化等,当然也可以使用它辅助蓝队日志分析工作,很多用户也用它来做产品营销分析,新版的Splunk还可以结合先前的数据对未来一段时间内的客户访问量进行预测。

欢迎关注我的公众号"ABC123安全研究实验室",99%原创,不发水文,不发广告。

Part2Splunk使用介绍

接下来简单介绍一下Splunk的搜索语法:

支持布尔运算符(AND/OR/NOT),必须是大写

status=200 NOT action=purchase

status=200 action!=purchase

500 select 查找包含"500"和"select"字样的所有事件

500 sel* 查找包含"500"和"sel"开头单词的所有事件

status=500 使用=返回准确结果

head n //返回前n个

tail n //返回后n个

top //显示字段最常见/出现次数最多的值

rare //显示字段出现次数最少的值

limit //限制查询,如:limit 5,限制结果的前5条

rename xx as zz //为xx字段设置别名为zz,多个之间用 ,隔开

fields //保留或删除搜索结果中的字段。fiels – xx 删除xx字段,保留则不需要 – 符号

stats count() 括号中可以插入字段,主要对事件进行计数

stats dc()distinct count,去重之后对唯一值进行统计

stats values() 去重复后列出括号中的字段内容

stats avg() 求平均值

如下图所示,这张图是从很老的一个ppt中改的,可以很直观看到Splunk的界面及使用方法。

6f0d63fe808e8a8007d20dde21c6ff90.png

以下是Splunk的仪表板界面的示例,在这个界面中,蓝队分析人员可以将各种日志分析的分析图表汇总在一起,展示出来非常直观漂亮。

3ee7f5bb708d4770fbba1cbcbc078f49.png

Splunk导入日志文件的方法有很多,我比较习惯用以下方式导入日志,具体操作如下:设置-->数据输入--> 文件和目录-->新本地文件和目录

5a500e2cb2cd2292226384bd922a31b5.png

然后点击“文件或目录”旁边的“浏览”按钮,选择一个本机的一个文件夹,比如说c:\log111

94f702b435ca541b2e554594e8d0820e.png

后续只要把需要分析的日志文件,放到此文件夹中,Splunk会自动进行导入。

e9d7ddecb9842913d7aa01d8ba33f1a2.png

在上述文件夹中放置好日志文件之后,打开Splunk的主界面,中间有一排绿色的柱状图,显示了每个时间段的Web访问次数,这里需要重点关注的是柱状图中突然出现的很高的柱状部分,极有可能是攻击者进行频繁操作的时间段。

如果需要对指定的日志文件进行日志分析,则只需要输入以下命令即可:source="C:\\log1111\\45_secure.txt"

2301b1c502fe40028990eaaf8eeec201.png

使用如下语句,可以快速检索SQL注入攻击行为,为了减少误报,可以配合使用AND语句拼接IISCode!=404,排除响应码为404的搜索结果。如下图所示,结合柱状图可以知道,SQL注入攻击主要集中在柱状图所示的一个小时左右的时间段内,推测攻击者发现了sql注入漏洞,并实施了攻击。这里仅用了一个select关键字,因为攻击者想要使用sql注入漏洞去脱数据的话,select关键字几乎是必用的。

index=_* OR index=* sourcetype="SQL_Injectionex" select AND iisCode!=404

cd3c6eac56d9413bef3b11e36b96bd93.png

使用如下语句,可以快速分析XSS攻击行为,通过逻辑运算符AND筛选响应码为200的日志结果,Splunk可以支持等标签字符的分析,使用的时候需要把关键词加上双引号。

index=_* OR index=* sourcetype="SQL_Injectionex" "


本文由转载于互联网,如有侵权请联系删除!