使用SIEM培训道德黑客:开设动手实验室

我们如何在大学和培训中心培训道德黑客?通常,我们为他们提供Kali LinuxScanner-VS其中包括一组安全测试工具和一台具有许多漏洞的计算机。因此,由于在实际项目中,渗透测试人员会处理包括信息安全工具和信息安全事件监视系统(SIEM)的基础结构,因此侦听者可以粗略了解渗透测试的实际执行方式。为了纠正这种情况并为新手专家提供研究安全性测试方法和工具以监视复杂环境中信息安全事件的机会,我们从本文开始发表实际的实验室工作。







我们的介绍性实验重点是确定与访问Web服务器的管理面板相关的事件。



案件



在ISA放假期间,聘请了第三方开发人员来创建一个Web应用程序,该应用程序计划托管在Tomcat Web服务器上。为了方便起见,开发人员使用于管理服务器应用程序的Web控制台可用于整个外部世界,并创建了一个“非平凡的” admin:admin帐户。



威胁



攻击者在扫描组织的外部主机时,遇到了有问题的Web服务器的端口8080,请确保管理控制台可用,并在尝试了几次之后成功破解了管理员帐户的密码。



任务



有必要确定信息安全管理员在休假之前如何设置SIEM,以便及时注册与所威胁有关的事件。之后,您需要实施此攻击方案并确保相关指令正确运行。



虚拟基础架构



在VirtualBox中部署的以下IT基础结构中,情况正在发展:







  1. 攻击者的机器(Kali Linux,IP:8.8.8.10,4GB RAM,kali:kali);
  2. 具有入侵检测系统的防火墙(pfSense,外部IP:8.8.8.1,内部网络IP:192.168.1.1,DMZ IP:192.168.2.1,1GB RAM,admin:pfsense);
  3. Web服务器(Ubuntu Server 18.04,带有Tomcat,IP 192.168.2.15、2GB RAM,用户:user);
  4. 服务器SIEM系统“ KOMRAD”(Ubuntu 20.04,IP 192.168.1.99,4GB RAM,用户:user)。


如果您有兴趣自行部署此基础架构,则可以按照说明进行操作,但是如果您希望节省时间,那么我们将以OVA格式发布已配置的虚拟机将需要另外获得SIEM系统,但是下面将对此进行描述。



解决方案:设置SIEM系统



为了解决该问题,我们将顺序执行攻击者的动作,分析它们在防火墙和Web服务器日志中的反映方式,配置事件的收集,解析和过滤,并在SIEM系统中创建必要的关联指令。我们实验室

指南提供了解决此问题的详细步骤,在本文中,我们将仅专注于关键点。



1.从防火墙发送事件



pfSense防火墙允许您通过Syslog协议将日志发送到远程服务器,为此,您只需要设置Syslog收集器SIEM“ KOMRAD”的IP地址和端口,并添加一条规则,允许从192.168.2.0/24网络向192.168内部网络发送日志.1.0 / 24。







SIEM系统将接收以下类型的事件:



<134> 1 2020-10-18T02:33:40.684089 + 00:00 pfSense.localdomain filterlog 9761--4 ,, 1000000103,em0,match,block,in,4,为0x0 ,, 64,25904,0,DF,6,TCP,60,8.8.8.108.8.8.1,35818,1721,0,S,1017288379 ,, 64240 ,, MSS; sackOK; TS; NOP; wscale



如您所见,该条目包含重要信息,例如发起连接的主机的IP地址,尝试连接的主机的IP地址,以及表明连接尝试被阻止的指示。



2.从Web服务器发送事件



Tomcat Web服务器将http请求记录在本地日志中,可以通过rsyslog将其重定向到SIEM系统。为了解决此问题,您还可以使用文件收集器,该文件收集器是SIEM系统“ KOMRAD”的一部分。在记录中,您可以看到注册了接收请求的主机的IP地址,以及成功授权的用户帐户:







3.通过SIEM系统“ KOMRAD”接收事件流



所考虑的事件由SIEM系统“ KOMRAD”自动注册:







提到的两种类型的事件足以检测以下情况:



  • 连接阻止-基于阻止;
  • 端口扫描-如果多次阻止由同一主机发起的连接尝试;
  • 怀疑未经授权的访问-端口扫描,然后获得管理访问权限。


这三种情况都可能是信息安全事件,但是严重性当然有所不同。



在注册事件之前,我们需要学习如何从事件中提取上述有用信息。



4.通过SIEM系统“ KOMRAD”对事件进行分析(解析)



要在SIEM系统中解析源事件,您需要创建一个包含一组正则表达式的插件。对于最受欢迎的资源,COMRAD已经拥有现成的插件。在没有插件的情况下,用户可以创建一个。



下面是设计正则表达式以从上述防火墙事件中提取字段的示例。作为调试工具,我们使用门户网站https://regex101.com/







创建插件后,事件数据将提取到单独的字段中,如以下事件卡所示:







5.配置过滤器以从流中提取感兴趣的信息安全事件



为了识别进入SIEM系统的事件流中我们感兴趣的事件,我们需要设置过滤器。在SIEM系统中,“ KOMRAD”过滤器是使用流行的脚本语言Lua形成的(信息安全专家已经从Nmap和Suricata那里熟悉它)。



要选择与阻止连接有关的防火墙事件,我们将创建以下过滤器:



--  filter  
function filter(event)
--    ,     IP- ,  
    action = event:getString ('Action')
    ip = event:getString ('IpSrc')
--     IP-,      
    if action == 'block' then
        return {IP=ip}
    end
end


Tomcat事件的过滤器看起来有点复杂,在该过滤器中,我们检查从事件中检索的帐户是否与值“ admin”匹配。在这种情况下,我们还返回IP地址。



function filter(event)
    journal = event:getString ('Journal')
    login = event:getString ('Username')
    ip = event:getString ('IpSrc')
    
    if journal == 'tomcat-access' and login == 'admin' then
        return {IP=ip}
    end
end


在生产环境中使用时,为了提高系统性能,可能需要在每个过滤器的开头检查特定的收集器ID,以限制过滤器的范围。



6.创建关联指令



让我们为具有以下严重性级别的情况创建相关的指令:



  1. 连接阻塞-“无关紧要”;
  2. 端口扫描-低;
  3. 使用管理员帐户发送http请求是“高”的。


要在连接阻塞的情况下创建事件,只需在相关指令中指示唯一应用的过滤器即可:



filter 5


第二个指令将在同一主机发起的连接被阻止三次的情况下创建一个事件,它看起来像这样:



/*  ip,   ,        .*/
var ip
filter 5 export ip = ep.IP
/*         IP.
    notforking,       .*/
filter 5 +1m where ep.IP==ip notforking
//   .
filter 5 +1m where ep.IP==ip notforking


在第三个指令中,我们添加另一行,其中使用ID为6的过滤器,该过滤器的创建是为了使用admin帐户选择对Web服务器的请求。




var ip
filter 5 export ip = ep.IP
filter 5 +1m where ep.IP==ip notforking
filter 5 +1m where ep.IP==ip notforking
filter 6 +1m where ep.IP==ip notforking


在本教程示例中,时间窗口等于1分钟;在现实生活中,将其增加到几分钟是有意义的。



解决方案:进行攻击并加以识别



配置事件源和SIEM系统之后,就该进行模拟攻击了。首先,让我们扫描端口:







然后进入端口8080,并通过admin授权:admin帐户:







这些操作由SIEM系统“ KOMRAD”记录:触发所有三个相关指令:







结论



因此,在此实验室工作中,我们看到了在获得对Web服务器的管理访问权限的情况下收集和分析信息安全事件的操作顺序。在下一个实验中,攻击者将发起攻击并使用获得的管理访问权限来收集有关目标基础结构的信息。



如何获得SIEM系统“ KOMRAD”的演示版



我们目前正在对我们的产品进行Beta测试,任何人都可以参与。为此,我们以Docker容器的形式提供SIEM系统的当前版本。演示版本中只有两个限制:事件处理速率降低到1000 EPS,并且没有授权和访问控制系统。



要接收带有演示版本的存档,从您组织的邮箱(电子邮件地址为getkomrad@npo-echelon.ru)给我们发送电子邮件(我们对谁会参与感兴趣)。我们还邀请您加入我们的Telegram组,在遇到任何困难时可以获取帮助:https : //t.me/komrad4



链接



  1. 用于在VirtualBox中组织培训基础结构的虚拟机:https//yadi.sk/d/GQ4BFn_soDJj0A
  2. , : https://yadi.sk/i/tD8nxckjYwr_6Q
  3. №1: https://yadi.sk/i/ffztj2XQMPD-xw



All Articles