专栏首页FreeBuf详解OSSIM-OSSEC WIN 4771案例

详解OSSIM-OSSEC WIN 4771案例

介绍

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新手,如有错误,还请指正,欢迎交流~

本文分享自微信公众号 - FreeBuf(freebuf),作者:R00to1

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-03-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 僵尸网络Mirai最新变种Satori : 利用0day“绑架”华为家用路由器HG532

    时隔多日,2016 年 10 月开始活跃的 Mirai 僵尸网络创始人即便已经锒铛入狱,最近可能又将占据头条。之前在12月初 FreeBuf 就已经在关注其最新...

    FB客服
  • Google Project Shield如何抵御DDoS攻击?这个案例可以初探端倪

    对安全专家Brian Krebs来说,去年9月的第三个星期可以算是一段暗无天日的时光,大量持续不断的DoS攻击波涌向其个人网站KrebsOnSecurity,峰...

    FB客服
  • 防代码泄漏的监控系统架构与实践

    代码资源是组织的核心资源,对于敏感的代码是不希望流传到外部的,但由于各种原因还是有资源泄露出去, 对于泄露的原因先不论,因为相对比较难避免,但我们可以通过一定的...

    FB客服
  • WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于WS-MEX的实现](提供模拟程序)

    通过《如何将一个服务发布成WSDL[编程篇]》的介绍我们知道了如何可以通过编程或者配置的方式将ServiceMetadataBehavior这样一个服务形式应用...

    蒋金楠
  • 大数据看中国“八大菜系”:谁最受欢迎?(附餐饮经济地图)

    ? 俗话说“民以食为天”。在中国,虽然大家对“吃”有着一致的重视,但各地在食料、烹饪技法和风味上却大不相同,而“菜系”就是对这种饮食地域差异最直接的特征体现。...

    CDA数据分析师
  • 高翔Slambook第七讲代码解读(三角测量)

    在前面几期中,小绿简单的解读了第七讲的几个程序,运行这些程序或调用这些程序包装成的函数可以实现:

    小白学视觉
  • 大数据看吃货:最热门的20道中国菜出炉,你吃过几样?

    作为一个餐饮文化大国,中国菜式之多、味型之广、做法之精巧繁复,在世界范围内都是首屈一指。长期以来,中国各地的菜肴由于受到当地环境、气候、物产、风俗以及饮食习惯的...

    华章科技
  • 幕后英雄的用武之地——浅谈Java内部类的四个应用场景

    ——浅谈Java内部类的四个应用场景

    林老师带你学编程
  • 数据结构--双向循环链表

    http://www.cnblogs.com/skywang12345/p/3561803.html

    未来sky
  • 一次快速的数据迁移感悟(r8笔记第54天)

    最近碰到一件事情很感慨,简单说说。 有下面的三个数据库实例,都是在开发测试中使用,一台服务器上有业务1+业务2,另外一台服务器上有业务1+业务2. 当然为什么会...

    jeanron100

扫码关注云+社区

领取腾讯云代金券