事件应急响应专家(五)
在前四章
我们介绍了事件应急响应专家、要使用的工具splunk和搜索处理语言SPL。
今天,我们模拟真实环境,使用splunk来寻找攻击者的踪迹。
有效使用 Splunk(场景 1)
# 设想
您工作的组织 (Wayne Enterprises) 正在使用 Splunk 作为 SIEM 解决方案来增强其入侵检测功能。 SOC 经理通知您该组织已受到 APT 组织的攻击。他要求您通过大量利用 Splunk 及其获取的所有数据来响应此事件。
Splunk摄取的数据包括Windows事件日志、Sysmon日志、Fortinet下一代防火墙日志、Suricata日志等。
注:本实验基于Splunk发布的Boss Of The SOC (BOTS) v1数据集。感谢 RyanKovar、Dave Herrald 和 [John Stoner](https://twitter.com/ Stonerpsu)通过此数据集与公众分享本实验室介绍的 Splunk 检测技巧。
学习目标
本实验的学习目标不仅是熟悉Splunk的架构和检测功能,还要学习有效的Splunk搜索编写。
具体来说,您将学习如何使用 Splunk 的功能来:
- 通过网络获得更好的可见性
- 及时有效地响应事件
- 主动寻找威胁
任务 1:通过 Splunk 搜索识别针对您的网络的任何侦察活动
使用 Splunk 的功能,尝试识别 APTgroup 执行的任何侦察活动。您组织的网站是 imreallynotbatman.com。
提示:
- 关注 stream:http 源类型并识别负责大部分流量的源 IP。然后,使用 suricata 源类型验证您的发现。
- 通过分析所有重要字段和来源类型来深入调查 ## 任务 2:识别网络上的任何武器化活动
使用开源情报 (OSINT),尝试识别 APT 组织执行的任何武器化活动。
提示:
- 识别与预先准备攻击 Wayne Enterprises 的域相关的任何 IP 地址 - 尝试了解 IP 地址和域之间的关联以及其他 - 执行与上述相同的操作,将攻击者电子邮件与互联网上的基础设施关联起来 ## 任务 3 :识别您网络上的任何交付活动
使用 OSINT,尝试识别 APT 组织执行的任何交付活动。具体来说,尝试识别与您之前发现的攻击者基础设施相关的恶意软件。
提示:
- 将任何与攻击者相关的 IP 地址提交给 ThreatMiner、VirusTotal 和 Hybrid Analysis 等开放源
任务 4:通过 Splunk 搜索识别网络上的任何利用活动 使用 Splunk 的功能,尝试识别 APT 组执行的任何利用活动。
提示:
- 关注 stream:http 和 iis 源类型,并确定哪个服务器是目标以及它使用的内容管理系统
- 重点关注 stream:http 源类型并识别暴力攻击的来源 - 通过分析所有重要字段和源类型来更深入地进行调查 ## 任务 5:通过 Splunk 搜索识别网络上的任何安装活动 使用 Splunk功能,尝试识别 APT 组执行的任何安装活动。 提示:
- 关注 stream:http 和 suricata 源类型以识别任何上传的可执行文件
- 利用 Sysmon 日志来识别有关任何上传的可执行文件的附加信息
任务 6:通过 Splunk 搜索识别网络上任何与命令和控制相关的活动
使用 Splunk 的功能,尝试识别 APT 组执行的任何与命令和控制 (C2) 相关的活动。
提示:
- 重点关注 stream:http、 fgt_utm、 和 stream:dns 源类型,以识别充当命令和控制的任何域。
解决方案
您可以在下面找到本实验室每项任务的解决方案。但请记住,您可以遵循自己的策略,该策略可能与以下实验中解释的策略不同。任务 1:通过 Splunk 搜索识别针对您的网络的任何侦察活动
登录 Splunk 的 Web 管理界面后,单击位于左侧 应用程序 列中的搜索和报告应用程序。您应该会看到类似于下面的内容。
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i
法师11.png)
为了测试 Splunk 是否可以成功访问提取/加载的数据,首先将时间范围选择器更改为所有时间,然后提交以下搜索。
1 |
|
您应该会看到事件的数量随着时间的推移而增加。
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage12.png)
现在我们知道一切都按预期进行,让我们确定针对韦恩企业的任何侦察活动。提醒一下,该组织的网站是 imreallynotbatman.com。
我们应该做的第一件事是确定要搜索的源类型。具体来说,我们应该首先确定与 imreallynotbatman.com 关联的源类型。我们可以通过将时间范围选择器更改为 所有时间 并提交以下 Splunk 搜索来实现。
1 |
|
您应该会看到类似于下面的内容。
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage13.png)
要确定源类型,只需单击源类型(上面的红色矩形)。您应该看到以下内容。
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage14.png)
我们还可以识别所有源地址。我们可以通过之前的搜索来做到这一点,但是这次我们将向下滚动并单击 src 字段,如下所示。
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage15.png)
由于我们对识别侦察活动感兴趣,因此最好将重点放在
流:http 源类型。 (Stream 是 Splunk 的一款免费应用程序,可收集线路数据,并可关注多种不同的协议,包括 smtp、tcp、ip、http 等。)
1 |
|
如果我们这样做,源将缩小到两个:40.80.148.42和23.22.63.114。 40.80.148.42 与大约 95% 的 http 流量相关,因此我们暂时关注这一点。
识别所有来源的另一种方法如下。
1 |
|
到目前为止,我们只能假设 40.80.148.42 是 APT 组织执行侦察/扫描活动的 IP。我们可以通过检查 Suricata 来验证这一发现,如下所示。
1 |
|
索引=botsv1 src=40.80.148.42 源类型=流:http
1 |
|
索引=botsv1 dest=192.168.250.70 源类型=流:http
1 |
|
索引=botsv1 dest=192.168.250.70 源类型=流:http 状态=200 |按 uri 统计计数 |排序-计数
1 |
|
索引=botsv1 源类型=iis sc_status=200 |统计值(cs_uri_stem)
1 |
|
索引=botsv1 源类型=iis
1 |
|
index=botsv1 sourcetype=stream:http dest=”192.168.250.70” http_method=POST ```
src 字段包含我们正在寻找的内容。我们指定我们对 POST 请求感兴趣,因为登录通常是通过 POST 请求执行的(稍后会详细介绍)。
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage33.png)
我们来看看 40.80.148.42 发出的那些 POST 请求
1 |
|
form_data 字段包含我们在处理 POST 请求时要检查的信息。
没有任何理由可以证明成功的剥削活动是合理的。让我们检查 23.22.63.114。
1 |
|
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage34.png)
看起来 23.22.63.114 正在强制 Web 服务器进行身份验证。让我们确认一下,如下。
1 |
|
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage35.png)
事实上 23.22.63.114 对 Web 服务器的身份验证执行了暴力攻击。
我们很想知道暴力攻击是否成功。我们可以确定这一点,如下所示。
1 |
|
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage36.png)
上面的搜索提取每个用户密码并计算其被看到/使用的次数。如果密码出现多次,这可能意味着攻击者受到攻击并再次使用该密码登录。这就是我们按计数排序的原因。
如果我们想了解妥协的时间和目标 URI,我们可以按如下方式进行。
1 |
|
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage37.png)
最后,如果我们想查看两次成功的登录,我们可以这样做,如下所示。
1 |
|
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage38.png)
以下是我们迄今为止的发现。
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage39.png)
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage40.png)
任务 5:通过 Splunk 搜索识别网络上的任何安装活动
就网络杀伤链的安装阶段而言,我们最感兴趣的是识别正在上传的任何恶意软件。
我们可以通过各种源类型来识别,特别是 stream:http 和 Suricata。
1 |
|
index=botsv1 sourcetype=suricata (dest=imreallynotbatman.com OR dest=”192.168.250.70”) http.http_method=POST .exe
1 |
|
index=botsv1 sourcetype=suricata dest_ip=”192.168.250.70” http.http_method=POST .exe ```
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage43.png)
如果我们还可以识别上传文件的哈希值,那就太好了。但是我们应该使用什么源类型呢?我们来了解一下,如下。
1 |
|
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage44.png)
Sysmon 是一个很好的候选者,因为它记录文件的 MD5、SHA1 和 SHA256 哈希值等信息。
1 |
|
索引=botsv1 3791.exe 源类型=XmlWinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=1
1 |
|
索引=botsv1 3791.exe 命令行=3791.exe |统计值(md5)
1 |
|
索引=botsv1 答案=23.22.63.114 源类型=流:dns |统计值(“名称{}”)```
![](https://assets.ine.com/cybersecurity-lab-images/b75194df-9a04-4879-95c8-d88b1fc54d1b/i mage48.png)
如果您仔细观察,您会发现prankglassinebracket.jumpingcrab.com域已被攻击者用来破坏网络服务器。试一试…
参考:
- https://www.slideshare.net/Splunk/splunk-data-onboarding-overview-splunk-data-collection-architecture
- https://www.splunk.com/en_us/training.html
实验
任务 1:通过Splunk搜索识别针对您网络的任何侦察活动
利用Splunk的能力,尝试识别由APT组织执行的任何侦察活动。您组织的网站是imreallynotbatman.com。
提示:
集中在stream:http sourcetype上,识别负责大部分流量的源IP。然后,使用suricata sourcetype验证您的发现。
通过分析所有重要字段和sourcetype,深入进行调查。
任务一答案
要识别APT的活动,提示告诉了我们要先分析http的请求
一旦您登录到Splunk的Web管理界面,请点击左侧应用栏中的“搜索与报告”应用程序。您应该看到类似以下的界面。
任务 2:在您的网络中识别任何武器化活动
利用开源情报(OSINT),尝试识别由APT组织执行的任何武器化活动。
提示:
识别与预置攻击韦恩企业相关的任何域名绑定的IP地址。
尝试理解IP地址与域名等之间的关联。
对攻击者电子邮件与互联网基础设施之间的关联进行相同操作。
任务 3:通过OSINT识别您网络中的任何交付活动
利用开源情报(OSINT),尝试识别由APT组织执行的任何交付活动。具体来说,尝试识别与您先前发现的攻击者基础设施相关联的恶意软件。
提示:
提交任何攻击者相关的IP地址到ThreatMiner、VirusTotal和Hybrid Analysis等开放资源。
任务 4:通过Splunk搜索识别您网络中的任何利用活动
利用Splunk的能力,尝试识别由APT组织执行的任何利用活动。
提示:
集中在stream:http和iis sourcetypes上,识别作为目标的您的服务器以及其使用的内容管理系统。
集中在stream:http sourcetype上,识别暴力攻击的源头。
通过分析所有重要字段和sourcetype,深入进行调查。
任务 5:通过Splunk搜索识别您网络中的任何安装活动
利用Splunk的能力,尝试识别由APT组织执行的任何安装活动。
提示:
集中在stream:http和suricata sourcetypes上,识别任何上传的可执行文件。
利用Sysmon日志,获取有关任何上传的可执行文件的额外信息。
任务 6:通过Splunk搜索识别您网络中的任何命令与控制相关活动
利用Splunk的能力,尝试识别由APT组织执行的任何命令与控制(C2)相关活动。
提示:
集中在stream:http、fgt_utm和stream:dns sourcetypes上,识别任何充当命令与控制的域名。