介绍
OSSIME中的HIDS是通过OSSEC来实现的,OSSEC采用服务端和客户端模式,主要通过文件完整性监视,日志监视,rootcheck和进程监视来主动监视Unix系统活动的所有方面。
OSSIM中服务端已经安装完成,只需要在要监控的主机上安装客户端即可:
ossec http://ossec.github.io/
今天就来看下,怎么一步一步配置4771暴力破解攻击的报警.
储备知识
接收所有日志
因为默认情况下,不是所有的日志都会接收,所以我们首先要打开ossec发送过来的所有日志:
如图操作之后,就可以看到ossec agent所有接收到的日志:
修改完记得要重启hids服务: Environment > Detection > HIDS > HIDS Control.–>Restart.
现在就可以看到所有ossec agent所接受到的日志:
#tail -10f /var/ossec/logs/archives/archives.log
匹配规则和报警
默认Ossec有900多条规则,基本上可以涵盖操作系统的各种异常事件,规则路径/var/ossec/alienvault/rules
如果接收到的日志能被规则所匹配就会产生一条报警:
# tail -10f /var/ossec/logs/alerts/alerts.log
插件ID和 SID
ossim中插件甚多,可分为采集插件和监视插件,每个插件又有ID和SID,插件位置:/etc/ossim/agent/plugins
alienvault:/etc/ossim/agent/plugins# ll-rw-r--r-- 1 root alienvault 5033 Jun 27 2016 actiontec.cfg-rw-r--r-- 1 root alienvault 20029 Nov 29 00:34 aerohive-wap.cfg-rw-r--r-- 1 root alienvault 5736 Jun 16 2015 airlock.cfg-rw-r--r-- 1 root alienvault 1720 Nov 15 00:37 airport-extreme.cfg-rw-r--r-- 1 root alienvault 12580 Sep 20 16:59 aix-audit.cfg-rw-r--r-- 1 root alienvault 744 Jun 16 2015 aladdin.cfg-rw-r--r-- 1 root alienvault 6869 Jul 25 2016 alcatel.cfg-rw-r--r-- 1 root alienvault 12886 Jan 10 23:30 alienvault_plugins.list-rw-r--r-- 1 root alienvault 8812 Jun 16 2015 allot.cfg-rw-r--r-- 1 root alienvault 1064 Jun 16 2015 alteonos.cfg......
比如rule id为18105 对应的插件是:ossec-single-line.cfg
继续在文件中找找翻译关系:
18105=7006
所以这里的plugin_id=700618105 是事件类型id
如图我们看看plugin_id=7085的插件有哪些事件类型id:
关联分析指令
免费的ossim默认只提供了80多个相关的分析指令.
指令地址:/etc/ossim/server
我们自己新建的指令在:
# pwd/etc/ossim/server/abb1c771-e2ce-11e6-9443-1b37c2298626# lsdirectives.xml disabled_directives.data user.xml
点击阅读原文查看一条指令,7085。
4771报警详解
有了刚刚上面的知识储备,就可以开始今天的正题了,首先我们看一下win 4771 事件代表什么?
4771事件:代表在域内的账号在除域控制器意外的任何一台加入域的计算机上登陆产生的登陆失败的日志(有点绕,多读几遍)
接收并查找相关日志
为了找到ossec发送过来的原始4771日志,我们首先需要打开接收所有日志,然后从日志中筛选出有关4771告警的日志:
打开接收所有日志上面的储备知识中已经介绍,这里不再赘述,请按照步骤操作.
到域控制器上部署ossec ,具体步骤请参考 OSSIM-HIDS
在域内的客户机登陆域内的任意账号,查找有关4771的告警日志:
如代码所示,我们已经成功的接收到了有关4771的告警日志
查找匹配的规则和报警
上文提到,ossec提供了900多条规则,大多数的事件是可以被匹配到的,我们现在查找下是否有默认策略匹配到4771事件:
在规则文件目录查找Windows audit failure event.
通过查看告警日志,我们成功的发现了4771已经被规则匹配出来,其实这里被匹配出的4771事件不是使用关键字4771在ossec规则中匹配到的,我们详细看下配置这个4771的规则是/var/ossec/alienvault/rules/msauth_rules.xml文件:
通过查看规则详情,我们发现真正的匹配是<status>^AUDIT_FAILURE|^failure</status>
我们返回的接收的原始日志查看,发现这么一段:
WinEvtLog: Security: AUDIT_FAILURE(4771):
正是由于这个关键字,我们成功的匹配到了4771事件,由于不是直接匹配4771事件,所以会存在一定的误报,毕竟登陆失败的代码还有很多,这里我采用修改其他规则文件来匹配4771事件.
我把18120事件修改成:
<rule id="18120" level="4"> <if_sid>18105</if_sid> <id>^4771$</id> <description>4771-Windows login fail.</description> </rule>
这样就能精确的匹配出4771事件,查看接收到的日志文件:
查找相关插件ID
我们已经把ossec有关报警的sid改成18120了,继续根据18120来查找相关的插件ID是哪个,从而编写出关联分析规则:
进入到插件目录,我们搜索18120,发现是存在这个插件中ossec-single-line.cfg,我们找到具体的规则:
18120=7006
所以这里的plugin_id=7006
18120 是事件类型id
至此,我们编写关联分析指令的所有信息都具备了,下面开始编写关联分析指令:
编写关联分析指令
具体的知识,请回顾2.4 关联分析指令,我们新建指令:
这里填写上NAME,INTENT,STRATEGY,METHOD即可,如图:
这里着重介绍下 PRIORITY的含义:PRIORITY:优先级,取值为0-5 ,表示如果这个攻击成功了,对系统所造成的影响程度,数值越高,危害就越大,本例来说没必要用4 ,这里要根据实际情况进行选择,这里我用4是为了突出实验效果..
点击SAVE之后,填写规则的名称,这里写个你能看懂的就行:
接下来就是用到我们上文提到的插件ID了,前文得之我们需要用7006
,这里直接搜索即可,然后选中:
然后选择事件类型ID,就是上文提到的 18120,查找填入即可.
接下来就是选择源了,因为这是策略的顶层,所以是接收任何ip,也就是any,直接下一步即可:
这里还要学习几个概念:Risk:取值范围(1-10),这里表示事件的风险值,值越高越要引起重视.计算方法下图已经给出了:Risk = (priority * reliability * asset_value) / 25.
至此我们已经完成一个指令的最上层了,继续重复上面的步骤建立下层:
最后,制造一些登录错误信息,查看报警:
ossim新手,如有错误,还请指正,欢迎交流~