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

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…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
