详解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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linux驱动

38.Linux驱动调试-根据系统时钟定位出错位置

当内核或驱动出现僵死bug,导致系统无法正常运行,怎么找到是哪个函数的位置导致的? 答,通过内核的系统时钟,因为它是由定时器中断产生的,每隔一定时间便会触发一次...

238100
来自专栏乐沙弥的世界

HeartBeat 集群组件概述

10020
来自专栏张戈的专栏

Linux在批量服务器管理中实用的PS1命令提示符格式

作为一个大公司的运维,手头管理了成百上千的服务器是家常便饭,甚至更多。而我们一般都是用跳板机登陆,由于这些机器一般都是克隆或者虚拟化出来的,所以登陆后的命令行提...

37960
来自专栏沃趣科技

ASM 翻译系列第二弹:ASM 12C 版本新特性

原作者:Bane Radulovic 译者: 邱大龙 审核: 魏兴华 随着Oracle 12c的发布,也就意味着全新版本的ASM面世了。已知的重大新...

38040
来自专栏北京马哥教育

ssh代理

ssh隧道技术 1. 用ssh做正向连接 啥叫正向连接?就是client连上server,然后把server能访问的机器地址和端口(当然也包括server自己)...

64280
来自专栏FreeBuf

挖洞经验 | 一个价值$3133.7美金的Google漏洞

在对Google的安全研究中,由于其云服务平台“cloud.google.com” 具备多种功能,感觉有点意思,所以某天我决定来深入测试一下它。

16550
来自专栏Java进阶架构师

手写实现一个迷你版的Tomcat

Tomcat,这只3脚猫,大学的时候就认识了,直到现在工作中,也常会和它打交道。这是一只神奇的猫,今天让我来抽象你,实现你!

15210
来自专栏魏豪的专栏

另一个Web应用服务器——Tomcat

Tomcat 由于其比较突出的优势,譬如 技术先进、性能稳定,而且免费,所以深受 Java 语言爱好者的喜爱,并且得到了部分软件开发商的认可,目前已经成为比较流...

35200
来自专栏北京马哥教育

Linux DNS 服务器安装、配置和维护

每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相...

53750
来自专栏xcywt

Linux进程间通信之管道

1,进程间通信 (IPC ) Inter-Process Communication   比较好理解概念的就是进程间通信就是在不同进程之间传播或交换信息。 2,...

27680

扫码关注云+社区

领取腾讯云代金券