实战某高校的一次挖矿病毒的应急处置

2023-11-05 18:40

本文主要是介绍实战某高校的一次挖矿病毒的应急处置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0x00 缘起

    在风和日丽的周五,我抱着今天搬完砖明天葛优躺的心态开开心心、快快乐乐的工作,没成想刚接到一通电话,电话的那边传来周六需要加班的噩耗,直接打破了周六的葛优躺计划,我周六加班的悲剧故事就此展开。

在这里插入图片描述在这里插入图片描述

0x01 信息收集

    因为检测和处置的时间安排了明天,在这个时间里可以收集一下信息,这里给大家一个自己总结的信息收集表

名称介绍
操作系统主要收集操作系统是Linux还是Windows,具体版本是否存在高危漏洞,方便工具的准备和构造处置思路
病毒类型判断病毒类型如:挖矿病毒、勒索病毒、蠕虫病毒、DDOS攻击、WEB攻击
事件类型可以按照信息安全事件分类分级指南划分,也可以凭靠个人经验
项目信息收集客户信息、业务系统负责人、业务系统需求以及客户对安全了解程度和重视程度
其它信息病毒家族、网络拓扑、安全设备、日志审计设备、态势感知、账号密码及应急处置大致流程

每个项目的信息收集都不是唯一的,需要看项目的需求和背景结合自身经验进行必要的信息收集

接下来,展示本次信息收集出来的结果
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

对于这次信息收集我就很服,看来只能明天到现场再去看了

0x02 现场排查及处置

异常现象确认
     服务器被植入挖矿病毒,访问矿池,内网横向,根据病毒特征和其它手段判断该挖矿病毒为DTStealer蠕虫病毒,该病毒利用历史漏洞针对Windows、Linux下的主机进行入侵感染,在入侵成功之后不仅会下载挖矿文件进行挖矿,还会释放传播模块继续入侵感染内网其它终端。本次中挖矿病毒的有三台主机,下面会逐一进行分析。

次日,天气晴转多云,我的心情多云转阴,又是一次带阻的应急处置,不仅催我不要迟到居然还要求我编写报告。
在这里插入图片描述
学校在山沟,我光去的路程就三个小时,真是一个实实在在的打工仔啊。
在这里插入图片描述
话不多说,直接跳到现场进行检测
在这里插入图片描述
图片有点模糊,因为无法远程连接受害服务器所以直接到现场进行应急处置,这台服务器是通过网络交换机上查找网口找到的物理位置,据挺说已经多年没用了。


    找到该服务器,跟当地的负责此次应急的老师进行沟通,只获取到这台服务器走的是单独的网线出的外网没有经过任何的安全防护设备。
    开机显示这台机器是Windows Server 2012 R2服务器,但是忘记了开机密码,这里获取老师同意,关机进入PE修改Administrator管理员用户密码,直接跳过进入正题。


    重启服务器,登录administrator用户,先查看网络状态,使用netstat -ano命令,结果如图:
在这里插入图片描述
在这里插入图片描述
发现服务器开启443/80端口(一会详细看看做的什么业务交互),其次发现该服务器对内网进行扫描。
利用tasklist命令查看PID,锁定程序为PowerShell恶意脚本文件(这个应该是内网扫描脚本,可能是通过计划任务来定时调动此脚本,可以删除此脚本后排查一下任务计划项),直接kill掉
在这里插入图片描述
不出所料,名字为随机生成的就是调用pwershell恶意脚本文件和挖矿病毒程序,还不kill掉?


在使用netstat -ano查看网络状态连接命令和任务计划,也查看到了公网的地址,放到微步的上查看,果然不出所料,是挖矿的矿池地址。
在这里插入图片描述在这里插入图片描述这里有一个点需要注意一下,哦?柠檬鸭?驱动人生后门?
如果是柠檬鸭的驱动人生何尝不查看一下家族特征?(如果知道病毒的家族特征就可以在百度上查看一些处置案例和病毒的主程序位置)

家族特征:驱动人生”蠕虫病毒出现新变种、老牌木马团伙“柠檬鸭”进化袭来
在这里插入图片描述    通过互联网对该挖矿病毒家族团伙进行信息收集,大都使用powershell脚本反射式加载xmrig进行无文件挖矿,但是这里我对netstat查看到的矿池进行tasklist PID查看到一个8991d9.exe文件,再通过Everything软件查看到这个文件居然存在的Windows/tmep目录,该目录居然是这次应急处置病毒的Home,就这么简单?
在这里插入图片描述这个目录下还有好多tmp文件,都是病毒生成的临时文件和日志,还多余做了云沙箱这个步骤。
在这里插入图片描述最终直接将整个temp目录kill掉,但是遇见了一个问题,temp目录下有一个东西居然还在启动,难道我没关完?
在这里插入图片描述Putty啊,这不更判断是柠檬鸭驱动人生挖矿病毒了吗?直接结束进程过几秒钟又自动启动,可能是条件竞争。我这暴脾气能受得了?直接拉进火绒里进行文件粉碎。


然后给客户装我最喜欢的火绒,把残留的恶意病毒查杀掉,将矿池的恶意地址加入火绒自带的黑名单内。
在这里插入图片描述
在这里插入图片描述

    然后就是重启,再次检查一遍powershell、启动项、计划任务、服务、网络状态、影子用户(像挖矿病毒很少留影子用户的,但是最好也检查一遍),半个小时-一个小时网络状态没有异常,到这里处置已经做完了,很水。

0x03 溯源分析过程

之前在网络状态连接查看到服务器开放443/80端口,领导要求写报告,这次应急的内容很少,很难获得青睐,试试能不能在别的地方拽取点,就发生了一下故事,更水!

居然是和信下一代云桌面系统,不用想了还存在超级弱密码!
在这里插入图片描述
查看以前admin登录次数和时间发现近期都有人登录过,客户确认不是他们本人操作。
查看版本,2017年后未升级,可能存在历史漏洞:
在这里插入图片描述

通过搜索引擎搜索和信下一代云桌面系统历史漏洞
在这里插入图片描述

文件上传漏洞 、CNVD-2021-58587
阶段结果:初步认为网站存在高危漏洞(弱密码、CNVD-2021-58587),现已对网站弱密码进行整改,版本问题需要跟进。


这文笔不就来了?还想着从系统安全日志查看异常用户登录,日志只有半年至一年的,但是文件18年就存在了,报告文案也有了就没有再继续了。本次应急就到这里最后就是编写报告的时间了

0x04 应急响应事件结论

    三台机器被入的挖矿都为DTStealer,内网横向,访问矿池。和信下一代云桌面系统被入侵的时间需要再次详细排查。因为不知道操作系统是否存在漏洞、操作系统以前是否为弱密码,初步认为造成被入侵的原因是历史漏洞+WEB管理员弱密码。

0x05 存在的威胁

一、安全意识问题

1.对内网安全不够重视,未充分考虑内网安全,导致病毒在内网肆意扩散。
2.对于内网主机的安全性不够重视,比如内网主机存在弱口令等。

二、终端安全

1.主机上未安装最新版/可统一管控的杀毒软件,未对主机进行病毒查杀;
2.桌面云管理系统未及时更新系统补丁;
3.内网未部署漏洞扫描工具,无法得知哪些主机存在漏洞未修复等安全隐患。

0x06 安全加固和改进建议

一、系统加固建议

账号安全
1.密码复杂度 - 最短密码长度要求八个字符,密码含有数字、大小写英文字母和特殊字符。
2.禁用Guest账号,禁用或删除其他无用账号。
3.禁用administrator账号,为跳板机用户专门设置新的账号。
4.账号尝试登陆5次后将该账号进行封锁半小时不运行登陆的禁令。
系统安全
1.操作系统补丁管理 - 安装最新的操作系统Hotfix补丁。安装补丁时应对服务器系统进行兼容性测试。
2.限制远程登陆空闲断开时间 - 对于远程登陆的账号,设置不活动超过时间15分钟自动断开连接。
3.防病毒管理 - 安装企业级防病毒软件,并开启病毒库更新及实时防御功能。
4.服务安全 - 禁用TCP/IP上的NetBIOS协议,可以关闭监听的UDP 137、UDP 138、以及TCP 139端口。
5.共享文件夹及访问权限 - 非域环境中,关闭Windows硬盘默认共享,C , D ,D D
6.跳板机机器的远程连接端口不对公网进行开放。
网站安全
1.管理界面禁止弱密码,限制登录失败次数
2. 版本需要及时更新
3. Web应用防火墙

二、产品加固建议

1.部署可统一管控的终端安全杀毒软件,如发现安全问题可一键下发病毒查杀扫描任务,及时清理病毒。
2.缺少内网安全监控产品, 未对主机的攻击流量进行监控,无法预知或发现安全隐患;
3.缺少漏洞扫描设备,未定期对内网环境进行漏洞扫描,未能及时修复漏洞,造成病毒肆意传播。
4.缺少安全防护设备,无法限制病毒的植入和防护。

经过本次应急响应,成功推出EDR(终端安全防护软件),我作为本次最大的公臣,奖励调休一天🙂

这篇关于实战某高校的一次挖矿病毒的应急处置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/351764

相关文章

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

剑指offer(C++)--数组中只出现一次的数字

题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 class Solution {public:void FindNumsAppearOnce(vector<int> data,int* num1,int *num2) {int len = data.size();if(len<2)return;int one = 0;for(int i

剑指offer(C++)--第一个只出现一次的字符

题目 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写). class Solution {public:int FirstNotRepeatingChar(string str) {map<char, int> mp;for(int i = 0; i < str.size(); ++i)m

PyTorch模型_trace实战:深入理解与应用

pytorch使用trace模型 1、使用trace生成torchscript模型2、使用trace的模型预测 1、使用trace生成torchscript模型 def save_trace(model, input, save_path):traced_script_model = torch.jit.trace(model, input)<

LeetCode —— 只出现一次的数字

只出现一次的数字 I  本题依靠异或运算符的特性,两个相同数据异或等于0,数字与0异或为本身即可解答。代码如下: class Solution {public:int singleNumber(vector<int>& nums) {int ret = 0;for (auto e : nums){ret ^= e;}return ret;}};  只出现一次的数字 II

MyBatis-Plus常用注解详解与实战应用

MyBatis-Plus 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了大量的常用注解,使得开发者能够更方便地进行数据库操作。 MyBatis-Plus 提供的注解可以帮我们解决一些数据库与实体之间相互映射的问题。 @TableName @TableName 用来指定表名 在使用 MyBatis-Plus 实现基本的 C

[大师C语言(第三十六篇)]C语言信号处理:深入解析与实战

引言 在计算机科学中,信号是一种软件中断,它允许进程之间或进程与内核之间进行通信。信号处理是操作系统中的一个重要概念,它允许程序对各种事件做出响应,例如用户中断、硬件异常和系统调用。C语言作为一门接近硬件的编程语言,提供了强大的信号处理能力。本文将深入探讨C语言信号处理的技术和方法,帮助读者掌握C语言处理信号的高级技巧。 第一部分:C语言信号处理基础 1.1 信号的概念 在Unix-lik

MATLAB算法实战应用案例精讲-【数模应用】三因素方差

目录 算法原理 SPSSAU 三因素方差案例 1、背景 2、理论 3、操作 4、SPSSAU输出结果 5、文字分析 6、剖析 疑难解惑 均方平方和类型? 事后多重比较的类型选择说明? 事后多重比较与‘单独进行事后多重比较’结果不一致? 简单效应是指什么? 边际估计均值EMMEANS是什么? 简单简单效应? 关于方差分析时的效应量? SPSSAU-案例 一、案例

[最全]设计模式实战(一)UML六大原则

UML类图 UML类图是学习设计模式的基础,学习设计模式,主要关注六种关系。即:继承、实现、组合、聚合、依赖和关联。 UML类图基本用法 继承关系用空心三角形+实线来表示。实现接口用空心三角形+虚线来表示。eg:大雁是最能飞的,它实现了飞翔接口。 关联关系用实线箭头来表示。当一个类"知道"另一个类时,可以用关联。eg:企鹅需要"知道"气候的变化,需要"了解"气候规律。 聚合关

B站大模型指令微调入门实战(完整代码),一键打造你的数字分身

前两天,想导出微信聊天记录,于是搞了个小工具。 感兴趣的小伙伴,可以回看: 微信聊天记录导出为电脑文件实操教程(附代码) 一键获取所有微信聊天记录(附PyQT6入门实战) 拿到这些数据都有什么用? 突发奇想:如果把微信上,所有和我相关的聊天对话提取出来,再结合大语言模型 LLM,是不是就可以打造我的数字分身了? 选择一个基座大模型,通过指令微调的方式,打造个性化AI Bot,不失为