2023年BeijngCrypt勒索病毒家族最新变种之.halo勒索病毒
目录
前言:简介
一、什么是.halo勒索病毒?
二、.halo勒索病毒是如何传播感染的?
三、感染.halo后缀勒索病毒建议立即做以下几件事情
四、中了.halo后缀的勒索病毒文件怎么恢复?
五、加密数据恢复情况
六、系统安全防护措施建议
前言:简介
近日, 我们发现多起 .halo勒索病毒家族的攻击事件。该病毒主要针对企业的Web应用和数据库服务器发起攻击,包括Spring Boot、Weblogic、OA、财务软件等,在拿下目标设备权限后还会尝试在内网中横向移动,获取更多设备的权限,然后执行加密程序加密设备的文件。经91数据恢复研究院分析该病毒加密特征,发现halo勒索病毒属于BeijngCrypt勒索病毒家族,BeijngCrypt勒索病毒家族于 2020 开始传播,在这几年间一直保持着每年更新1-2次升级变种的频率,偶尔活跃传播,偶尔沉寂消失。
万一不幸感染了这个勒索病毒,您可添加我们的数据恢复服务号(sjhf91)免费咨询获取数据恢复的相关帮助。
接下来我们先了解一下.halo勒索病毒。
一、什么是.halo勒索病毒?
我们发现,.halo是一个勒索病毒类型程序的名称。当我们在我们的测试系统上启动一个样本时,它会加密文件并在文件名后附加“ .halo”扩展名。例如,最初标题为“ 1.jpg ”的文件显示为“ 1.jpg.halo”,“ 2.jpg ”显示为“ 2.jpg.halo”,依此类推。
攻击者会向Web应用中植入大量的WebShell,一旦成功入侵目标设备,攻击者会尝试释放PowerCat、lCX、AnyDesk等黑客工具控制目标机器、创建账户,并尝试远程登录目标机器。此外,攻击者还会使用fscan工具扫描设备所在内网,并尝试攻击内网中的其它机器。在获取到最多设备权限后开始部署勒索病毒。
勒索病毒会绕开所有系统防御,开始加密文件的过程。在加密过程中会占用系统资源,计算机运行速度会变慢,但由于种种原因用户可能不会察觉(比如休息日、深夜等),最显著的特征是文件的后缀扩展名变更为“.halo”。
二、.halo勒索病毒是如何传播感染的?
经过我们分析中毒后的机器环境判断,BeijngCrypt勒索病毒家族基本上是通过以下两种方式入侵。
远程桌面口令爆破
关闭远程桌面,或者修改默认用户administrator。
数据库弱口令攻击
检查数据库的sa用户的密码复杂度。
三、感染.halo后缀勒索病毒建议立即做以下几件事情
如果服务器不幸感染了勒索病毒,建议立即采取以下措施:
断网连接:将感染病毒的设备断开互联网连接;
备份数据:如果可能,请确保将数据备份到一个安全的地方,以防止数据丢失。
清除病毒:使用专业的反病毒软件扫描并删除病毒。如果不确定如何操作,建议寻求专业的IT技术支持。
更新安全性:更新操作系统和安全软件,以提高服务器的安全性。
数据恢复:如需数据恢复,寻求专业数据恢复公司的帮助,千万不要擅自进行文件后缀修改或者使用各种数据恢复软件进行操作,这将会二次破坏文件内容,可能导致后期数据无法恢复。
四、中了.halo后缀的勒索病毒文件怎么恢复?
此后缀病毒文件由于加密算法问题,每台感染的电脑服务器文件都不一样,需要独立检测与分析中毒文件的病毒特征与加密情况,才能确定最适合的修复方案。
考虑到数据恢复需要的时间、成本、风险等因素,建议如果数据不太重要,建议直接全盘扫描杀毒后全盘格式化重装系统,后续做好系统安全防护工作即可。如果受感染的数据确实有恢复的价值与必要性,可添加我们的技术服务号(sjhf91)进行免费咨询获取数据恢复的相关帮助。
五、加密数据恢复情况
一台服务器,被加密的文件有4万+个,主要是恢复速达软件的业务数据库文件。


数据恢复完成情况:
被加密的文件,除了4个c盘系统缓存文件以外,其它所有文件均100%恢复。恢复完成的文件均可以正常打开及使用。


六、系统安全防护措施建议
预防远比救援重要,所以为了避免出现此类事件,强烈建议大家日常做好以下防护措施:
① 及时给办公终端和服务器打补丁,修复漏洞,包括操作系统以及第三方应用的补丁,防止攻击者通过漏洞入侵系统。
② 尽量关闭不必要的端口,如139、445、3389等端口。如果不使用,可直接关闭高危端口,降低被漏洞攻击的风险。
③ 不对外提供服务的设备不要暴露于公网之上,对外提供服务的系统,应保持较低权限。
④ 企业用户应采用高强度且无规律的密码来登录办公系统或服务器,要求包括数字、大小写字母、符号,且长度至少为8位的密码,并定期更换口令。
⑤ 数据备份保护,对关键数据和业务系统做备份,如离线备份,异地备份,云备份等, 避免因为数据丢失、被加密等造成业务停摆,甚至被迫向攻击者妥协。
⑥ 敏感数据隔离,对敏感业务及其相关数据做好网络隔离。避免双重勒索病毒在入侵后轻易窃取到敏感数据,对公司业务和机密信息造成重大威胁。
⑦ 尽量关闭不必要的文件共享。
⑧ 提高安全运维人员职业素养,定期进行木马病毒查杀。
相关文章:
2023年BeijngCrypt勒索病毒家族最新变种之.halo勒索病毒
目录 前言:简介 一、什么是.halo勒索病毒? 二、.halo勒索病毒是如何传播感染的? 三、感染.halo后缀勒索病毒建议立即做以下几件事情 四、中了.halo后缀的勒索病毒文件怎么恢复? 五、加密数据恢复情况 六、系统安全防护措施建…...
【LeetCode】BM1 反转链表、NC21 链表内指定区间反转
作者:小卢 专栏:《Leetcode》 喜欢的话:世间因为少年的挺身而出,而更加瑰丽。 ——《人民日报》 BM1 反转链表 描述: 给定一个单链表的头结点pHead(该头节点是有值的,…...
拼多多24届暑期实习真题
1. 题目描述: 多多开了一家自助餐厅,为了更好地管理库存,多多君每天需要对之前的课流量数据进行分析,并根据客流量的平均数和中位数来制定合理的备货策略。 2. 输入输出描述: 输入描述: 输入共两行&#x…...
JS高级知识总结
文章目录1. this指向问题2. 对象进阶2.1 对象的定义和使用2.2 对象访问器2.2.1 Getter2.2.2 Setter2.3 对象构造器2.4 对象原型2.4.1 prototype属性2.4.2 \_\_proto\_\_ 属性2.4.3 constructor属性2.4.4 原型链2.5 Object对象2.5.1 管理对象2.5.2 保护对象3. 函数进阶3.1 函数的…...
Jenkins+Docker+Maven+gitlab实现自动构建、远程发布
前言 一个项目完整的生命周期是从开发的coding阶段和coding阶段的质量测试,再到多次发布投入使用。目前大部分的测试阶段并不是从coding结束后开始的,而是和coding同步进行的。可能今天早上coding完成一个功能,下午就要投入测试。在这期间&a…...
centos7克隆虚拟机完成后的的一些配置介绍
系列文章目录 centos7配置静态网络常见问题归纳_张小鱼༒的博客-CSDN博客 文章目录 目录 系列文章目录 前言 一、配置Hadoop要下载的压缩包 1、下载对应版本的Hadoop压缩包 2、我们如何查看自己电脑的端口号 3、下载jdk对应的版本 二、虚拟机centos7克隆虚拟机完成后的一些基本…...
C语言/动态内存管理函数
C程序运行时,内存将被划分为三个区域,而动态开辟的内存区间位于堆区。 文章目录 前言 一、内存划分 二、malloc函数 三、calloc函数 四、realloc函数 五、free函数 总结 前言 在使用C语言编写程序时,使用动态内存是不可避免的&#x…...
华为OD机试题,用 Java 解【任务调度】问题
华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不要…...
河南农业大学2023春蓝桥杯赛前训练第一场
A 滑板上楼梯 贪心 要求最少次数,尽量多跳三阶的,不能连续跳三阶,三阶后面一定要跟着一个一阶,相当于直接跳四阶 每次跳四阶都是两步(3、1),如果 % 4 之后,正好剩下 3 ,…...
docker-dockerfile
1.常用保留字指令 FROM : 基础镜像MAINTAINER: 维护者姓名和邮箱RUN : Run ["可执行文件",参数1]; Run [shell命令]EXPOSE: 暴露出的端口号WORKDIR: 登录后的位置USER: 执行用户,默认是rootENV: 构建过程的环境变量ADD: 将宿主机的文件拷贝到…...
【JavaEE】浅识进程
一、什么是进程1.1 操作系统学习进程之前首先要了解我们的操作系统(OS),我们的操作系统实际上也是一款软件,属于系统软件的范畴,操作系统早期采用命令提示框与用户交互,我们启动某个软件,打开某…...
Java_Spring:1. Spring 概述
目录 1 spring 是什么 2 Spring 的发展历程 3 spring 的优势 4 spring 的体系结构 1 spring 是什么 Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspec…...
使用Maven实现第一个Servlet程序
目录 前言: Maven 什么是Maven 创建Maven项目 Mevan目录介绍 Servlet程序 引入Servlet依赖 创建目录结构 编写代码 打包程序 部署程序 验证程序 idea集成Tomcat 下载Tomcat插件 配置Tomcat的路径 Smart Tomcat工作原理 小结: 前言&#…...
【MySQL】MySQL的优化(一)
目录 查看SQL执行频率 定位低效率执行SQL 定位低效率执行SQL-慢查询日志 定位低效率执行SQL-show processlist 查看SQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以查看服务器状态信息。通 过查看状态信息可以查看对当…...
win kubernetes dashbord部署springboot服务
文章目录前言一、新建springboot工程二、制作镜像1.编写dockerfile2.使用阿里云镜像仓库3.使用dashbord部署服务总结前言 使用win版docker desktop安装的k8s,kubenetes dashbord。 一、新建springboot工程 就是简单一个接口。没什么说的 二、制作镜像 1.编写dock…...
Linux之进程终止
本节目录1.进程终止2.exit与_exit函数1.进程终止 进程终止时,操作系统做了什么? 释放进程中申请的相关内核数据结构和对应的数据和代码。本质就是释放系统资源。 进程终止的常见方式 a.代码跑完,结果正确 b.代码跑完,结果不正确…...
全网独家首发|极致版YOLOv7改进大提升(推荐)网络配置文件仅24层!更清晰更方便更快的改进YOLOv7网络模型
有不少小伙伴和我交流YOLO改进的时候,都说YOLOv7的网络配置文件长达104层,改起来很费力,数层数都要数很久,还很容易出错,而且基于YOLOv5代码架构,Debug起来也确实比较费时,所以博主对YOLOv7网络…...
C++入门 谁都能看懂的类和对象
类 C语言结构体中只能定义变量. 在C中,结构体内不仅可以定义变量,也可以定义函数。 //c语言 typedef struct ListNode {int val;struct ListNode* next; }LTN; //c struct ListNode {int val;//c中可以直接用这个,不用加structListNode* next…...
C++ STL:string类的模拟实现
目录 前置说明 一. 构造函数和析构函数的模拟实现 1.1 构造函数 1.2 析构函数 二. string类对象容量及成员相关的函数 2.1 获取字符串有效字符数、容量及_str成员变量获取相关函数 2.2 扩容及变长相关函数 2.3 字符串清空和判空函数 三. 运算符重载函数 3.1 赋值运算…...
并发编程---线程池(六)
阻塞队列的应⽤——线程池一 线程池基本概念二 线程池三种常⽤创建⽅式2.1.newFixedThreadPool线程池:2.2.newSingleThreadExecutor线程池:2.3.newCachedThreadPool线程池:2.4. 线程池代码演示三 线程池创建的七个参数四 线程池底层原理理解&…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Rapidio门铃消息FIFO溢出机制
关于RapidIO门铃消息FIFO的溢出机制及其与中断抖动的关系,以下是深入解析: 门铃FIFO溢出的本质 在RapidIO系统中,门铃消息FIFO是硬件控制器内部的缓冲区,用于临时存储接收到的门铃消息(Doorbell Message)。…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...
