为保障网络安全,降低攻击者入侵的可能性,部署在机构中的安全信息与事件管理系统(SIEM)需要实时记录日志对进出网络的行为进行收集、分析和预警处理,SIEM系统中会涉及到大量的日志收集设备。但是,还有一种可能是攻击者可以在SIEM系统中的日志收集设备上形成虚假日志,从而达到干扰SIEM安全行为监控的目的。本文讨论内网攻击者如何对日志采集设备发起伪造日志攻击。本文仅供分享,不代表实战观点。一、理论思路SIEM系统日志采集设备生成虚假日志主要有两个步骤:找到目标日志采集设备的日志格式根据格式生成相应的虚假日志前提条件:目标网络中的设备。大家可以点击Letsdefend.io的SIEM模拟实验室进行练习。(1)发现目标日志采集设备的日志格式如果目标日志采集设备使用的是扩展日志格式(LEEF),而我们发送给它的是通用事件格式(CEF),就会出现解析问题。这里我们可以通过以下两种方法来判断目标监控设备的日志格式:(2)应用程序识别在网络中识别目标日志采集设备监控的前端应用程序,然后分析应用程序的属性和日志溪流;流量监控分析,如果网络系统中的日志信息没有加密传输,一般可以查到具体的日志格式。(3)生成虚假日志根据前一阶段的分析,构建虚假日志,发送给目标日志采集设备。2.实例测试下面以一个简单的网络系统为例。网络架构中部署了客户端日志采集设备。它是一个基于Splunk的日志系统。采集到的日志信息将传递给监控分析设备进行关联分析。并发出威胁警报。攻击者潜入网络并开始信息检测。按照以上步骤,首先确定日志采集设备的日志采集格式。在这一步中,他应该对日志采集设备进行端口扫描:从扫描结果中,我们可以看到日志采集设备系统中运行着一个Splunk服务。假设514和1234端口用于收集日志信息。之后,攻击者通过网络流量进行监听。会发现1234端口是用来传输TCP包的:从实际传输的包可以看出整个网络的数据都没有加密,所以从中可以查到具体的日志格式:withthisplaintextlogformat,接下来就是构造日志的事情了。这里虚假日志的目的是不同的。比如发送大量的日志来屏蔽日志采集功能,或者使用虚假的攻击日志来欺骗系统管理员(分析师),或者立即发送大量的日志信息来延迟日志处理机制等等。.为了分散系统管理员的注意力,基于上述格式,攻击者可以伪造如下SQL注入尝试日志格式:192.168.131.23––[19/Apr/2020:11:33:23-0700]“GET/读取.php?id=1%27%20UNION%20ALL%20SELECT%20LOAD_FILE(%27/etc/passwd%27)HTTP/1.1"404208"-""Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/80.0.3987.163Safari/537.36",类似大量的日志发送到日志采集设备的1234端口:管理员在日志采集设备中看到如下记录信息,攻击者已经成功实现干扰目的预防措施日志采集设备实现白名单通信机制;实时监控日志流量,异常增减日志告警;日志传输信息加密。
