系统运维安全之病毒自检及防护
一、前言

Linux勒索病毒(Linux ransomware)是一种最令人恶心的计算机恶意病毒,它以侵入Linux系统,捆绑文件并要求支付赎金才能释放文件为主要目的,破坏用户的数据,造成数据讹诈。Linux勒索病毒它们的存在已经很长一段时间,但安全警示显示最近活跃度是又开始增加的。感染方式也比过去更先进,它们的攻击目标也更广泛,涉及到Linux系统上的多种文件,包括文档、图片、音频和视频文件等。
常见病毒:
- “勒索病毒解密.makop”:跟通用病毒传播方式一样,它通过恶意电子邮件附件、恶意下载链接、感染的软件安装程序或漏洞利用等途径传播。用户可能会通过打开附件、点击链接、下载软件或访问被感染的网站来感染病毒。一旦用户执行了感染病毒的操作,恶意代码将被释放到受感染计算机上。恶意代码可能会使用已知或新发现的漏洞,将自己嵌入到系统中,以便在后台执行。.之后makop勒索病毒开始扫描计算机上的文件,包括文档、图片、视频等。一旦找到目标文件,它会使用强大的加密算法对这些文件进行加密,加密后通常是“.makop”或“.mop”等扩展名出现,用户是无法访问或打开它们的。
\- 常见后缀为:.360、.halo、.malox、.mallox、.maloxx、malloxx、.faust、.kat6、.l6st6r、.babyk、.DevicData-D-XXXXXXXX、.lockbit3.0、.eight、.locked、,locked1、.secret、.[MyFile@waifu.club].mkp、.milovski-V、,makop、devos、eking、.[hpsupport@privatemail.com].Elbie、.Elibe、.[hudsonL@cock.li].Devos、.[myers@cock.li].Devos、.[henderson@cock.li].Devos,[myers@airmail.cc].Devos、.[support2022@cock.li].faust、.[tsai.shen@mailfence.com].faust、faust、.777等勒索病毒
二、特征及影响
1)勒索病毒多以windows系统为主要传播对象/首次攻击目标,尤其利用RDP远程桌面最为常见,然后再利用系统漏洞横向传播。多以如下方式传播,包括:
1.通过电子邮件附件传播:病毒可以混入含有恶意程序的电子邮件附件,发送给用户,当用户点击附件时,病毒就会被下载和安装到用户的系统中。
2.通过社交媒体传播:病毒可以嵌入社交媒体中的链接,当用户点击链接时,病毒就会被下载和安装到用户的系统中。
3.通过聊天软件传播:病毒可以用聊天软件发送给用户,当用户点击链接时,病毒就会被下载和安装到用户的系统中。
2)Linux平台病毒问题主要为蠕虫病毒、勒索病毒、后门病毒,其中蠕虫病毒占比近半。在蠕虫病毒中最主要的恶意行为是恶意挖矿,恶意挖矿所需的技术和攻击成本较低,这些挖矿程序在后台静默运行,抢占系统大部分资源,造成系统卡顿,影响正常使用,为攻击者带来客观收益,这也是近年来此类蠕虫病毒泛滥的主要原因;Linux平台病毒传播主要通过漏洞和弱口令暴破进行,暴破传播主要以SSH暴破为主,漏洞传播主要以各种RCE漏洞为主。有些病毒感染进来后,会对内网进行扫描,如果发现目标存在漏洞,将对目标进行攻击,植入后门、挖矿等病毒模块,被利用的漏洞往往远程执行Shell脚本进行横向传播,且inux平台病毒通常具有一定的持久化手段来进行自我保护,给防御和查杀带来困难。
对于勒索病毒来说,Linux中,大部分勒索病毒自身并不携带任何传播手段,由攻击者进行人工渗透入侵,攻击成功后上传勒索病毒模块,通过加密和窃取数据的方式对企业或单位进行敲诈勒索,Linux勒索病毒具有以下特征:
1.它可以侵入Linux系统,捆绑文件,并要求支付赎金以释放文件。
2.它可以在Linux系统上传播,通过多种方式感染计算机:例如,通过邮件附件、社交媒体、聊天软件等。
3.它可以攻击多种文件,包括文档、图片、音频和视频文件等。
4.它会显示一个要求用户支付赎金的消息,要求用户支付比特币作为赎金才能恢复被捆绑的文件。
Linux平台病毒常见的持久化手段:
- 定时任务:这是Linux病毒常用的持久化手段,可通过向crontab目录写入定时任务的方式,来定期执行Shell脚本,往往伴随着大量外访链接,即时手动清除了,后门程序仍可自动创建定时任务。
\- 添加为Linux系统服务,在systemd/system目录下为病毒模块创建一个服务配置文件,系统启动后,病毒会自动运行;
\- 常伪装成系统进程:后门陈旭会创建了多个进程来防止主进程被关闭和防止病毒模块被删除,这类持久化进程往往难以排查;
三、防护

1)防护手段
1.安装杀毒软件:安装杀毒软件和其他安全软件,并及时更新其病毒库,以防止病毒的传播和感染。
2.及时修补漏洞,减小暴露面:及时扫描和修复系统中的安全漏洞,及时安装操作系统和应用程序的安全更新,以弥补已知漏洞,防止病毒的入侵,减少受到攻击的风险。修改默认端口如SSH、Redis、FTP、MySQL等,防止被扫描器暴破;
3.使用强密码:使用强度足够高的密码,避免系统和各个软件使用相同的密码,以防止攻击者破解密码,从而获取系统访问权限。
4.定期备份数据:定期将重要数据备份到安全的外部设备或云存储中,确保备份是自动的并进行多个版本的保存。
5.谨慎打开附件和链接:避免打开来自不明寄件人的电子邮件附件,以及点击怀疑链接,因为这可能是传播恶意软件的重要途径之一。
6.安装可信安全软件:使用强大的安全软件来检测和拦截恶意软件的入侵尝试。
7.网络安全意识教育:教育员工、家庭成员等有关网络安全的基本知识,以减少被社会工程攻击的风险。
2)防护工具
1.勒索病毒解密.makop” :通过分析病毒的加密算法,然后使用特定的密钥来解密加密的文件。它首先会搜索系统中被加密的文件,然后识别出病毒的加密算法,最后使用特定的密钥来解密文件。它可以有效抵御新出现的勒索病毒,防止新的文件被加密,支持多种文件格式,可以解密 doc,pdf,ppt,xls,mp3,jpg 等多种文件。它主要应用于被勒索病毒加密的文件解密,它能够有效恢复被加密的文件,让用户可以重新访问这些文件。
2、专业查杀软件:windows可选火绒,比如:HRkill专杀工具;PCHunter、
3、Linux杀毒:Clamav、GScan(),火绒安全企业版linux终端产品,Rootkit(木马后门工具)检查,使用chkrootkit,
- Gscan:Gscan是一款使用Python3基于web渗透测试开发的信息收集扫描器,其融合了大部分的信息收集能力于一体。如常见的主机探活、端口扫描、目录扫描、邮箱收集等,同时还提供接口用于拓展其漏洞扫描能力。Gscan旨在为安全应急响应人员对 Linux 系统排查时提供便利,实现主机侧 Checklist(检查表) 的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。目前程序只针对Centos进行开发测试,其他系统并未做兼容性,扫描结果仅做参考;
#Gcan安装
yum install git python3 python3-devel gcc-c++ gcc make -y
git clone https://github.com/grayddq/GScan.git
cd GScan
python3 GScan.py -h #帮助
#使用默认安全扫描
python3 GScan.py #会生成 ./GScan/log/gscan.log 文件
#完全扫描
python3 GScan.py --full#chkriotkit安装
tar zxvf chkrootkit.tar.gz
cd chkrootkit-*
make sense
cp -r chkrootkit-* /usr/local/chkrootkit/usr/local/chkrootkit/chkrootkit -h #帮助
#注:chkrootkit在检查rootkit的过程中使用了部分系统命令,因此,如果服务器被黑客入侵,那么依赖的系统命令可能也已经被入侵者替换,此时chkrootkit的检测结果将变得完全不可信。为了避免chkrootkit的这个问题,可以在服务器对外开放前,事先将chkrootkit使用的系统命令进行备份,在需要的时候使用备份的原始系统命令让chkrootkit对rootkit进行检测。
#chkrootkit依赖命令
mkdir /usr/share/.commands #创建一个存储这些命令的隐藏目录
cp -pr `which --skip-alias awk cut echo find egrep id head ls netstat ps strings sed uname` /usr/share/.commands/usr/local/chkrootkit/chkrootkit -p /usr/share/.commands/ #参数-p,指定chkrootkit检测时使用系统命令的目录,chkrootkit指定使用原始命令扫描检测
四、附录:其他安全
4.1、其他安全风险
常见危害:暴力破解,漏洞利用,流量攻击,木马控制(Webshell,PC木马等),病毒感染(挖矿,蠕 虫,勒索等)。
//分析日志,统计确认服务器遭受多少次暴力破解,有的记录在authpriv日志里grep -o "Failed password" /var/log/secure|uniq -c//输出登录爆破的第一行和最后一行,确认爆破时间范围grep "Failed password" /var/log/secure|head -1
grep "Failed password" /var/log/secure|tail -1//定位有哪些 IP 在尝试爆破grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c | sort -nr//爆破用户名字典都有哪些grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr//登录成功的日期、用户名、IP有哪些grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
相关文章:
系统运维安全之病毒自检及防护
一、前言 Linux勒索病毒(Linux ransomware)是一种最令人恶心的计算机恶意病毒,它以侵入Linux系统,捆绑文件并要求支付赎金才能释放文件为主要目的,破坏用户的数据,造成数据讹诈。Linux勒索病毒它们的存在已…...
Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理
文章目录 Mabatis处理异常屏蔽SQL返回前端全局异常捕获处理结论1 java异常体系2 Spring框架异常处理3 定位Spring框架转化为哪种unchecked异常3.1 捕获RuntimeException定位Spring框架转化抛出的异常类3.2 进一步查看包名判断3.3 识别MyBatisSystemException下级实现3.3 识别My…...
黑豹程序员-java发邮件,发送内容支持html,带多附件的案例
介绍 发邮件mail是常见的软件功能,下面利于spring和java的mail库实现发送内容支持html,带多附件的案例 开启SMTP邮件发送协议 谁提供的SMTP邮件服务,就找谁开启。QQ邮箱类似。 依赖 <!--Java MAil 发送邮件API--><dependency&g…...
[LeetCode] 15. 三数之和
15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 **注意:**答案中不可以包含重复…...
Android Chips(标签)
目录 一、流式布局标签发展历程 二、类型及使用 2.1 Chip.Action(默认值) 2.2 Chip.Entry 2.3 Chip.Filter 2.4 Chip.Choice 三、常用事件 3.1 OnClickListener 3.2 OnCheckedChangeListener 3.3 OnCloseIconClickListener 四、ChipGroup 4.1 ChipGroup Chip.Choi…...
飞行汽车开发原理(上)
前言 小节的安排是由浅入深,要按顺序读;有电路知识基础的同学可跳到“计算机电路”一节开始。因为知识点之间有网状依赖,没办法按分类来讲。 为了避免过于深入、越讲越懵,很多描述仅为方便理解、不求严谨。 半导体特性 导体&a…...
22、pytest多个参数化的组合
官方实例 # content of test_multi_parametrie.py import pytestpytest.mark.parametrize("x",[0,1]) pytest.mark.parametrize("y",[2,3]) def test_foo(x,y):print("{}-{}".format(x,y))pass解读与实操 要获得多个参数化参数的所有组合&…...
【网络奇缘】- 如何自己动手做一个五类|以太网|RJ45|网络电缆
🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 本篇文章关于计算机网络的动手小实验---如何自己动手做一个网线, 也是为后面的物理层学习进…...
【从零开始学习JVM | 第三篇】类的生命周期(高频面试)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。 在本文中,我们将深入探讨类的生命周期,从类加载到…...
详解前后端交互时PO,DTO,VO模型类的应用场景
前后端交互时的数据传输模型 前后端交互流程 前后端交互的流程: 前端与后端开发人员之间主要依据接口进行开发 前端通过Http协议请求后端服务提供的接口后端服务的控制层Controller接收前端的请求Contorller层调用Service层进行业务处理Service层调用Dao持久层对数据持久化 …...
力扣295. 数据流的中位数
优先队列 思路: 中位数是排序中间的数值:S1.M.S2可以使用两个优先队列来存放两边的数值,总是使得左侧的堆顶是最大的,右侧的堆顶是最小的,即使用大顶堆存放 S1,使用小顶堆存放S2,使得两个队列的…...
英语二笔记
完型填空 20题/0.5分 总分10, 至少拿8分 阅读理解A 20题/2分 总分40 至少拿24分 阅读理解B 5题/2分 总分10 至少拿6分 短文翻译 1题/15分 …...
【OpenSSH升级】升级后证书认证登录突然失效
上一篇“【OpenSSH升级】无论密码输入正确与否总是登录失败(error: Could not get shadow information for root)”总结了CentOS7上的openssh从7.4升级到9.4之后,密码认证失败问题,这里再总结一下证书认证失效问题。 大多数情况下…...
pytest +uiautomator2+weditor app自动化从零开始
目录结构1.0 把设备连接单独移出去了 模块操作代码,有一些流程操作和断言方法 from devices import dv from time import sleep import random from tool.jt import capture_screenshotdef initialization(func):def wrapper():sleep(1)dv.app_stop(com.visteon.…...
【计算机网络笔记】物理层——信道与信道容量
系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...
深度学习火车票识别系统 计算机竞赛
文章目录 0 前言1 课题意义课题难点: 2 实现方法2.1 图像预处理2.2 字符分割2.3 字符识别部分实现代码 3 实现效果4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 图像识别 火车票识别系统 该项目较为新颖,适…...
C++EasyX之井字棋
视频链接 井字棋 用EasyX和C实现井字棋小游戏 源码及注释 #include<graphics.h>char board_data[3][3] {{-,-,-},{-,-,-},{-,-,-}, };char current_piece O;//检测指定棋子的玩家是否获胜 bool CheckWin(char c) {// 检查每一行for (int i 0; i < 3; i){if (bo…...
12.5_黑马数据结构与算法Java
目录 001 二分查找 算法描述 002 二分查找 算法实现 003 二分查找 问题1 循环条件 004 二分查找 问题2 中间索引 thinking:反码补码原码? thinking:二进制转十进制? thinking:无符号右移? 005 二分…...
【PID学习笔记 5 】控制系统的性能指标之一
写在前面 PID在实际工程中最重要的工作就是调参,那么首先就要了解控制系统的性能指标。上文最后简要介绍了控制系统的基本要求,本文开始将系统学习控制系统的性能指标,内容比较多,初步计划是分三节来讲解。本文重点介绍性能指标的…...
HarmonyOS学习--TypeScript语言学习(三)
本章目录如下 一、条件语句 二、迭代器 三、循环 四、函数 五、类 一、条件语句 条件语句用于基于不同的条件来执行不同的动作。TypeScript 条件语句是通过一条或多条语句的执行结果(True 或 False)来决定执行的代码块。 在 TypeScript 中&#x…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
