Cyberdefenders蓝队-Boss Of The SOC v1
2023-3-6 08:33:56 Author: 安全孺子牛(查看原文) 阅读量:142 收藏

1、题目简介

1.1 背景介绍

场景 1 (APT):

本动手练习的重点将是 APT 场景和勒索软件场景。你假设爱丽丝·蓝鸟(Alice Bluebird)的角色,这位分析师最近被聘请来保护和捍卫Wayne Enterprises免受各种形式的网络攻击。

在此方案中,以下图形的报告来自您的用户社区,当他们访问 Wayne Enterprises 网站时,某些报告引用“P01s0n1vy”。如果您不知道,P01s0n1vy是一个针对Wayne Enterprises的APT组织。作为爱丽丝,你的目标是调查污损,着眼于通过杀戮链重建攻击。


场景 2(勒索软件):

在第二种情况下,您的一个用户在 Windows 桌面上看到此图像,该图像声称系统上的文件已加密,必须付款才能取回文件。Wayne Enterprises似乎有一台机器感染了Cerber勒索软件,您的目标是调查勒索软件,以期重建攻击。

1.2 题目链接

https://cyberdefenders.org/blueteam-ctf-challenges/15#nav-overview

1.3 虚拟机配置

使用VMwareworkstation导入OVA虚拟机,开启虚拟机以后通过vagrant/vagrant登录到虚拟机,获取虚拟机IP地址。

访问splunk控制台,打开后自动适配浏览器语言显示中文

http://IP:8000/

2、题目解析

2.1 这是一个简单的问题,让您熟悉提交答案。制作您用于本次比赛的软件的公司的名称是什么?只是一个没有标点符号的六个字母的单词。

谢谢Splunk赞助这个问题。根据提示制作比赛的公司是splunk

2.2 Po1s0n1vy组中某人通过扫描imreallynotbatman.com的Web应用程序漏洞的可能IP地址是什么?

首先查看日志中存在什么内容,重点搜索http流量和suricata事件内容

index=* 
| stats count by sourcetype

根据访问的地址进行过滤,并且过滤http请求,查看有2个IP地址,其中40.80.148.42请求数量最多

index=botsv1 imreallynotbatman.com sourcetype="stream:http" http_method="POST" 
| stats count by src_ip

通过suricata告警进行查询,发现有40.80.148.42匹配到告警

index=botsv1 imreallynotbatman.com sourcetype="suricata"  event_type="alert"
| stats count by src_ip

查看该IP地址攻击事件,提示存在有SQL注入攻击

index=botsv1 imreallynotbatman.com sourcetype="suricata"  event_type="alert"  src_ip="40.80.148.42"

2.3 哪家公司创建了Po1s0n1vy使用的Web漏洞扫描程序?键入公司名称(例如,微软或甲骨文)

通过查询攻击者的UA获取攻击工具为AWS

index=botsv1 imreallynotbatman.com sourcetype="stream:http"  src_ip="40.80.148.42"
| stats count by http_user_agent

2.4 imreallynotbatman.com 可能使用什么内容管理系统?

通过访问的URL进行排序,查看访问的URL地址,业务系统为joomla

index="botsv1" imreallynotbatman.com src_ip="40.80.148.42" 200
| stats count by uri
| sort - count
| head 10

2.5 危害imreallynotbatman.com网站的文件的名称是什么?请仅提交带有扩展名的文件的名称(例如,“记事本.exe”或“favicon.ico”)

查看攻击IP地址通信的目的IP地址信息,获取到2个IP地址,查看192.168.250.70请求数量比较多

index="botsv1" imreallynotbatman.com src_ip="40.80.148.42"
| stats count by dest_ip

通过查看通信信息可以确定WEB服务器地址是192.168.250.70

index="botsv1" imreallynotbatman.com src_ip="40.80.148.42" dest_ip="192.168.250.70" 
| stats count by url
| sort - count

查看该服务器地址主动发起请求http数据的

index="botsv1" c_ip="192.168.250.70" 
| stats count by url

2.6 此攻击使用动态DNS解析为恶意 IP。与此攻击关联的完全限定域名 (FQDN) 是什么

根据2.5获取到的请求地址即为恶意域名

2.7 Po1s0n1vy与预先预留以攻击Wayne Enterprise的域绑定了哪个IP地址

通过查询DNS记录,查看DNS解析的IP地址为23.22.63.114

index="botsv1" sourcetype="suricata" event_type=dns dns.type=answer dns.rrname=prankglassinebracket.jumpingcrab.com

2.8 根据从这次攻击中收集的数据和域名的常见开源情报来源,最有可能与 Po1s0n1vy APT 组关联的电子邮件地址是什么

通过VT进行IP地址查找,关联到域名信息

通过基于域名进行查找邮箱,获取到邮箱账号

2.9 哪个 IP 地址可能试图对 imreallynotbatman.com 进行暴力密码攻击

通过匹配http中POST请求,频繁更改密码内容进行查询,获取到IP地址为23.22.63.114

index="botsv1" imreallynotbatman.com sourcetype="stream:http" http_method=POST "passwd=*"
| stats count by src, form_data, status

2.10 Po1s0n1vy上传的可执行文件的名称是什么?请包括文件扩展名。(例如,“记事本.exe”或“favicon.ico”)

查看通过http进行上传数据内容,发现上传可执行程序名称为3791.exe

index="botsv1" sourcetype="stream:http" dest="192.168.250.70" "multipart/form-data"

2.11 上传的可执行文件的 MD5 哈希是多少

查找文件的详情信息,查看在系统监控中存在文件

index=botsv1 3791.exe 
| stats count by sourcetype

通过正则过滤匹配文件,获取到文件MD5信息

index=botsv1 3791.exe sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" CommandLine="3791.exe"
| rex field=_raw MD5="(?<md5sum>\w+)"
| table md5sum

2.12 GCPD 报告说,如果初始入侵失败,Po1s0n1vy APT 组的常见 TTP(策略、技术、程序)是发送鱼叉式网络钓鱼电子邮件,并将自定义恶意软件附加到其预期目标。该恶意软件通常连接到 Po1s0n1vy 的初始攻击基础设施。使用研究技术,提供此恶意软件的 SHA256 哈希

根据提供的IP地址,进入到VT进行搜索IP地址相关的信息,可以查看到有文件相关的信息

选择文件查看文件SHA256信息

2.13 与问题12中讨论的自定义恶意软件相关的特殊十六进制代码是什么

在VT上查看文件关联信息,可以看到十六进制代码

2.14 Po1s0n1vy的一个暂存域具有一些杂乱无章“唯一”whois 信息。将两个代码连接在一起并将它们作为单个答案提交

根据历史域名查找恶意域名信息

https://www.whoxy.com/whois-history/demo.php

查看到公司名称和邮件地址

2.15 使用的第一个暴力密码是什么

通过过滤出http的POST请求,并且在from_data字段中获取到的passw字段内容,通过基于时间从小到大的顺序,获取到第一个爆破的密码

index="botsv1" sourcetype="stream:http" http_method="POST" form_data=*username*passwd* 
| rex field=form_data "passwd=(?<password>\w+)"
| table _time, password, user
| sort by _time

2.16 暴力破解中的密码之一是James Brodsky最喜欢的Coldplay歌曲。提示:我们正在寻找一个关于这个的六个字符的词是哪个

获取到歌曲列表,并过滤出6个字符的词

https://en.wikipedia.org/wiki/List_of_songs_recorded_by_Coldplay
 grep -E '^[[:alpha:]]{6}$' songs
Aliens
Broken
Church
Clocks
Murder
Oceans
Shiver
Sparks
Voodoo
Yellow

通过上述获取到的关键字和长度进行密码过滤,经过测试为yellow

index="botsv1" "Aliens" OR "Broken" OR "Church" OR "Clocks" OR "Murder" OR "Oceans" OR "Shiver" OR "Sparks" OR "Voodoo" OR "Yellow" sourcetype="stream:http" http_method="POST" form_data=*username*passwd* 
| rex field=form_data "passwd=(?<userpassword>\w+)"
| eval lenpword=len(userpassword)
| search lenpword=6
| eval password=lower(userpassword)
| table userpassword

2.17 管理员访问运行imreallynotbatman.com的内容管理系统的正确密码是什么

通过查找密码登录次数是否大于1进行判断

index="botsv1" imreallynotbatman.com sourcetype="stream:http" http_method="POST"
| rex field=form_data "passwd=(?<pass>\w+)"
| stats count by pass
| where count>1

2.18 密码暴力破解尝试中使用的平均密码长度是多少?(舍入到最接近的整数。例如“5”而不是“5.23213”)

通过获取到密码字段的长度,进行平均计算,四合五入为6

index="botsv1" imreallynotbatman.com sourcetype="stream:http" http_method="POST" form_data=*username*passwd*
| rex field=form_data "passwd=(?<pass>\w+)"
| eval lpass=len(pass)
| stats avg(lpass) as av

2.19 从暴力破解密码扫描识别出正确的密码到登录被盗之间经过了多少秒?四舍五入到小数点后两位。

通过搜索2次登录成功的账号耗费的事件进行计算

index=botsv1 imreallynotbatman.com sourcetype="stream:http"  http_method="POST" form_data=*username*passwd* 
| rex field=form_data "passwd=(?<pw>\w*)"
| search pw="batman"
| transaction pw
| eval dur=round(duration, 2)
| table dur

2.20 在暴力破解尝试中尝试了多少个唯一密码

寻找与之前获得的密码匹配的查询,事务和评估持续时间 = round(X,2)

index=botsv1 imreallynotbatman.com sourcetype="stream:http"  http_method="POST" form_data=*username*passwd* 
| rex field=form_data "passwd=(?<pw>\w*)"
| dedup pw
| stats count

2.21 we8105desk在24AUG2016最有可能的IP地址是什么?

通过关键字进行模糊搜索,获取到主机IP地址

we8105desk AUG 2016 24

2.22 在检测到Cerber恶意软件的Suricata签名中,哪个签名发出的警报次数最少?仅提交签名ID值作为答案。(没有标点符号,只有7个整数。)

index=botsv1 sourcetype="suricata" Cerber 
| stats count by alert.signature_id
| sort -count

2.23 Cerber勒索软件在其加密阶段结束时尝试将用户定向到什么完全限定的域名(FQDN)?

基于时间针对上述的主机IP地址进行dns请求获取,过滤掉通用的DNS请求,查看其他的DNS请求信息,查看只有一个可以匹配到名称的请求

index=botsv1 src_ip="192.168.250.100" sourcetype="stream:dns" NOT query=*.local AND NOT query=*.arpa AND NOT query=*.microsoft.com AND query=*.*
| stats count by query
| sort by _timer asc

2.24 we8105desk在2016年8月24日访问的第一个可疑域是什么

通过查看2016/08/24 16:48:12.267访问了恶意地址:solidaritedeproximite.org,在2016/08/24 17:15:12.668访问了一个地址cerberhhyed5frqa.xmfir0.win。

index=botsv1 src_ip="192.168.250.100" sourcetype=stream:dns record_type=A NOT (query{}="*microsoft.com" OR query{}="wpad" OR query{}="*.waynecorpinc.local" OR query{}="isatap" OR query{}="*bing.com" OR query{}="*windows.com")
| table _time, query{}
| sort by _time

2.25 在最初的Cerber感染期间,运行了一个VB脚本。可以在Splunk的一个字段中找到此执行的整个脚本,以启动.exe的名称为前缀。该字段值的字符长度是多少?

查找以cmd命令启动vbs脚本,并获取到长度

index="botsv1" .vbs cmd.exe we8105desk 
| eval length=len(cmdline)
| table _time, cmdline, length

2.26 Bob Smith插入的USB密钥的名称是什么

通过过滤usb信息,获取内容

index=botsv1 sourcetype=winregistry friendlyname 
| stats count by registry_value_data

2.27 Bob Smith的工作站(we8105desk)在勒索软件爆发期间连接到文件服务器。文件服务器的IP地址是多少

基于工作站的连接的目的地址,查看通过SMB连接的地址,并且数据量比较大的主机

index="botsv1" sourcetype="stream:smb" src_ip=192.168.250.100
| stats count by dest_ip
| sort by count

2.28 勒索软件在远程文件服务器上加密了多少个不同的PDF?

查找pdf文件的日志类型

index="botsv1" *.pdf 
| stats count by sourcetype

根据文件查找传输地址

index="botsv1" *.pdf   sourcetype=wineventlog 
| stats count by dest

获取传输的源地址

index=botsv1 *.pdf sourcetype=wineventlog   dest="we9041srv.waynecorpinc.local" 
| stats count by Source_Address

统计传输的文件数量

index=botsv1 sourcetype=wineventlog dest="we9041srv.waynecorpinc.local" Source_Address="192.168.250.100" Relative_Target_Name="*.pdf"
| stats dc(Relative_Target_Name)

2.29 问题25中发现的VBScript启动121214.tmp。此初始启动的ParentProcessId是什么

经过查找发现测试为3968

index=botsv1 121214.tmp   sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" CommandLine=* 
| table _time, CommandLine, ProcessId, ParentCommandLine, ParentProcessId
| sort by _time

2.30 Cerber勒索软件加密位于Bob Smith的Windows配置文件中的文件。它加密了多少个.txt文件

查找文件路径的日志索引

index=botsv1 host=we8105desk *.txt 
| stats count by sourcetype

index=botsv1 host=we8105desk *.txt sourcetype="xmlwineventlog:microsoft-windows-sysmon/operational"
| stats count by TargetFilename

查看文件名称

index=botsv1 host=we8105desk *.txt sourcetype="xmlwineventlog:microsoft-windows-sysmon/operational"
| stats count by TargetFilename

统计加密文件数量

index=botsv1 host=we8105desk  sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" TargetFilename="C:\\Users\\bob.smith.WAYNECORPINC\\*.txt"
| stats dc(TargetFilename)

2.31 该恶意软件会下载一个包含Cerber勒索软件加密代码的文件。该文件的名称是什么

在问题24中看到有一个恶意的域,根据该域进行搜索发现访问url的jpg文件

sourcetype=suricata src=192.168.250.100 dest=solidaritedeproximite.org
| stats count values(url) BY dest

2.32 现在您知道勒索软件的加密文件的名称,它可能使用什么混淆技术

基于图片加密目前主流是隐写术


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MDI0NTM2Nw==&mid=2247489760&idx=1&sn=7613022c602d5928bc8500407fe878f4&chksm=ea6dcaf8dd1a43eef646c31f99da4378a0c6e0ab7ad80661f187789ca09611f79339c4b54adf#rd
如有侵权请联系:admin#unsafe.sh