• 我的服务器被挖矿了,原因竟是。。。


    「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
    「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》

    一、什么是挖矿

    比特币系统每隔一段时间就会在节点上生成一个「随机代码」,互联网中的所有设备都可以寻找这个代码,谁先找到就能获得奖励。

    「寻找代码」的过程,就是挖矿。

    设备通过计算来筛选出符合条件的随机代码,每找到一个随机代码往往需要上万亿次的「哈希运算」CPU通常会被顶到100%。

    为了「降低成本」,黑客往往会通过入侵的方式,控制别人的计算机来帮自己挖矿。

    二、被挖矿主机现象

    挖矿木马最大的特点就是「CPU占用高」,占用高以后,电脑温度就会升高、风扇噪音也会变大,服务器上的业务变得异常缓慢。

    三、挖矿木马处置思路

    1)隔离

    非重要业务系统直接下线隔离再做排查。

    重要业务系统:在不影响业务的前提下,及时隔离当前主机,如禁用非业务使用端口、服务、配置ACL白名单。

    2)确认挖矿进程

    挖矿程序的进程名称一般表现为两种形式:

    一种是不规则的数字或字母,这种需要检查哪些不常见的名字。

    另一种是伪装成常见的进程,这种就重点看CUP占用高的进程。

    3)清除木马

    网络层面阻断挖矿木马与矿池的通信。

    清除挖矿定时任务,启动项等。

    定位挖矿文件位置并删除。

    4)加固

    根据挖矿木马的传播方式,修复相应漏洞,防止再次感染。


    四、挖矿木马处置步骤

    首先根据CPU占用率确定确定挖矿进程,找到母体文件并清除。

    而后是检查计划任务、启动项中,挖矿木马的持久化操作,杜绝复发。

    最后通过账号、日志、母体文件等信息,溯源攻击路径。

    1)Windows

    0、挖矿木马现象

    CPU占用高,主机卡顿

    1、排查进程

    思路:

    通过网络连接定位进程PID,再通过PID定位具体程序,通过任务管理器定位进程文件位置。
    排查CUP占用高的、进程名异常的进程。

    相关命令:

    netstat -ano 查看网络连接,最常见的就是大量445的连接。

    tasklist | findstr “PID” 根据PID查看具体的进程。

    wmic process | findstr “进程名称” 根据进程名获取进程位置。

    attrib -H 文件名 取消隐藏属性,很多时候我们定位到文件位置时,发现文件夹是空的,这时候就需要取消文件的隐藏属性并显示文件的后缀名。

    2、排查账号

    思路:

    检查弱口令、可疑账号,比如新建账号、隐藏账号、克隆账号

    相关命令:

    net user查看当前系统的账号,与用户确认,是否有新建的可疑账号;询问用户账号口令是什么,是否存在弱口令。

    WIN + R,输入lusrmgr.msc,查看是否有隐藏账号。

    3、排查启动项

    WIN + R,输入 regedit,打开注册表,看开机启动项。

    WIN + R,输入msconfig 或【任务管理器】-【启动】

    4、排查计划任务

    【控制面板】-【计划任务】

    cmd 输入at或schtasks.exe。

    5、日志分析

    WIN + R,输入 eventvwr.msc

    重点看登录日志,看登录类型,2(网络共享)和10(远程桌面)是挖矿木马出现最多的登录类型。

    根据样本文件的创建时间,排查这个时间段的登录情况。

    2)Linux

    1、排查进程

    top命令检查CUP占用高的进程,确定PID,定位文件位置

    netstat -anp 查看网络连接

    ps -ef 查看可疑进程

    ps -aux 查看进程

    ls -alh /proc/PID 根据PID查看进程对应的可执行程序

    kill -9 PID 结束进程

    2、排查账号

    cat /etc/passwd 查看用户信息

    last 用户最近登录的信息

    lastlog 所有用户最后一次登录的信息

    lastb 用户登录失败的信息

    history 历史命令

    3、排查定时任务

    crontab -l 查看计划任务

    cat /etc/crontab 查看计划任务

    crontab -u root -l 查看root用户的计划任务

    ls /etc/cron* 查看计划任务文件

    4、排查启动项

    /etc/rc*

    /etc/rc.d/rc

    /etc/rc

    /etc/rc.local

    /etc/rc.d/rc.local

    /etc/rc.d/rc

    /etc/init/*.conf

    五、挖矿木马应急实例

    驱动人生挖矿木马:

    利用永恒之蓝传播。

    存在大量445连接行为,netstat -ano | grep 445

    服务名包含drivers(\windows\system32\drivers\svchost.exe)

    母体文件设置为隐藏,会创建多个计划任务(Rsta或其他随机名称),调用PowerShell。

    粉丝福利

    评论区评论参与抽奖,送《Windows PowerShell自动化运维大全》一本。

    《Windows PowerShell自动化运维大全》由微软最有价值专家、微软TechEd优秀讲师徐鹏著作,多年经验毫无保留分享,一本书完全讲透Windows PowerShell自动化运维所有核心知识点,赠送同步视频学习教程,助你从运维初级工程师转向高级运维工程师!一本书精通Windows PowerShell自动化运维!

    本书从基础的 PowerShell 命令开始,先后讲述了基础命令、模块、脚本的编写等相关知识。同时为了让大家更快地理解和掌握 PowerShell 的环境配置和编写,我们使用系统内置的 PowerShell ISE 开发环境进行 PowerShell 代码的开发和运行。为了照顾很多基础薄弱的读者,在进行代码案例演示时都使用了 15 行以内的代码。

    本书可作为学校培训与企业培训的基本学习教程和工具书,相信通过本书的学习,读者可以更快地理解 PowerShell在日常生活及企业内的应用,为读者在自动化运维的道路上助力。

    在这里插入图片描述

  • 相关阅读:
    Windows Server 2012各种版本密钥大全
    Linux 中安装MySQL
    第五章:方法
    maven以及配置
    UML和模式应用~迭代、进化和敏捷
    LeetCode 每日一题——641. 设计循环双端队列
    Docker从入门到跑路
    WebGL笔记:图形转面的原理与实现
    Django:四、Djiango如何连接使用MySQL数据库
    【微信小程序】Chapter(5):微信小程序基础API接口
  • 原文地址:https://blog.csdn.net/wangyuxiang946/article/details/130434206