我的服务器被挖矿了,原因居然是...

挖矿木马应急响应

  • 一、什么是挖矿
  • 二、被挖矿主机现象
  • 三、挖矿木马处置思路
    • 1)隔离
    • 2)确认挖矿进程
    • 3)清除木马
    • 4)加固
  • 四、挖矿木马处置步骤
    • 1)Windows
      • 0、挖矿木马现象
      • 1、排查进程
      • 2、排查账号
      • 3、排查启动项
      • 4、排查计划任务
      • 5、日志分析
    • 2)Linux
      • 1、排查进程
      • 2、排查账号
      • 3、排查定时任务
      • 4、排查启动项
  • 五、挖矿木马应急实例

前段时间有个粉丝问我,说他买的云服务器最近特别卡,好像是中毒了,让我帮忙看看。

我远程了好几次,终于连上去,发现果然是被挖矿了,很蠢的那种Driver,连服务名都懒得改。

本来是个很简单的问题,但排查了半天竟没发现它是怎么进来的,啥漏洞也没有。

直到事后吃饭的时候才发现,她给我发的服务器密码,

是 1 2 3 4 5 6 7

在这里插入图片描述
趁此机会,跟大家分享一下挖矿木马的应急思路。

倒不是说能防住,起码在你被挖矿的时候,能知道自己是被挖矿了。

一、什么是挖矿

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

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

设备通过计算来筛选出符合条件的随机代码,每找到一个随机代码往往需要上万亿次的哈希运算,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。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智能合约Solidity编程教程 以太坊编程之菜鸟教程 译注:⾸发于ConsenSys开发者博客,原作者为Eva以及ConsenSys的开发团队。如果您想要获取更多及时信息,可以访问⾸页点击左下⾓Newsletter订阅邮件。本⽂的翻译获 得了ConsenSys创始⼈Lubin先⽣的授权。 有些⼈说以太坊太难对付,于是我们(译注:指, 下同)写了这篇⽂章来帮助⼤家学习如何利⽤以太坊编写智能合约和应⽤。这⾥所⽤到的⼯具,钱包,应⽤程序以及整个⽣态系统 仍处于开发状态,它们将来会更好⽤! 概述,讨论了关键概念,⼏⼤以太坊客户端以及写智能合约⽤到的编程语⾔。 讨论了总体的⼯作流程,以及⽬前流⾏的⼀些DApp框架和⼯具。 主要关于编程,我们将学习如何使⽤Truffle来为智能合约编写测试和构建DApp。 第⼀部分. 概述 如果你觉得⽩⽪书中的章节太晦涩,也可以直接动⼿来熟悉以太坊。在以太坊上做开发并不要求你理解所有那些"密码经济计算机科学"(crypto economic computer science),⽽ ⽩⽪书的⼤部分是关于以太坊想对于⽐特币架构上的改进。 新⼿教程 提供了官⽅的新⼿⼊门教程,以及⼀个代币合约和众筹合约的教程。合约语⾔Solidity也有。学习智能合约的另⼀份不错的资料(也是我的⼊门资料)是,不过现在可能有些过时 了。 这篇⽂章的⽬的是成为上述资料的补充,同时介绍⼀些基本的开发者⼯具,使⼊门以太坊,智能合约以及构建DApps(decentralized apps, 分布式应⽤)更加容易。我会试图按照 我⾃⼰(依然是新⼿)的理解来解释⼯作流程中的每⼀步是在做什么,我也得到了ConsenSys酷酷的开发者们的许多帮助。 基本概念 了解这些名词是⼀个不错的开始: 公钥加密系统。 Alice有⼀把公钥和⼀把私钥。她可以⽤她的私钥创建数字签名,⽽Bob可以⽤她的公钥来验证这个签名确实是⽤Alice的私钥创建的,也就是说,确实是Alice的 签名。当你创建⼀个以太坊或者⽐特币钱包的时候,那长长的 0xdf...5f 地址实质上是个公钥,对应的私钥保存某处。类似于Coinbase的在线钱包可以帮你保管私钥,你也可以⾃ ⼰保管。如果你弄丢了存有资⾦的钱包的私钥,你就等于永远失去了那笔资⾦,因此你最好对私钥做好备份。过来⼈表⽰:通过踩坑学习到这⼀点是⾮常痛苦的... 点对点⽹络。 就像BitTorrent, 以太坊分布式⽹络中的所有节点都地位平等,没有中⼼服务器。(未来会有半中⼼化的混合型服务出现为⽤户和开发者提供⽅便,这我们后⾯会讲 到。) 区块链。 区块链就像是⼀个全球唯⼀的帐簿,或者说是数据库,记录了⽹络中所有交易历史。 以太坊虚拟机(EVM)。 它让你能在以太坊上写出更强⼤的程序(⽐特币上也可以写脚本程序)。它有时也⽤来指以太坊区块链,负责执⾏智能合约以及⼀切。 节点。 你可以运⾏节点,通过它读写以太坊区块链,也即使⽤以太坊虚拟机。完全节点需要下载整个区块链。轻节点仍在开发中。 矿⼯。 挖矿,也就是处理区块链上的区块的节点。这个⽹页可以看到当前活跃的⼀部分以太坊矿⼯:。 ⼯作量证明。 矿⼯们总是在竞争解决⼀些数学问题。第⼀个解出答案的(算出下⼀个区块)将获得以太币作为奖励。然后所有节点都更新⾃⼰的区块链。所有想要算出下⼀个区块 的矿⼯都有与其他节点保持同步,并且维护同⼀个区块链的动⼒,因此整个⽹络总是能达成共识。(注意:以太坊正计划转向没有矿⼯的权益证明系统(POS),不过那不在本⽂讨 论范围之内。) 以太币。 缩写ETH。⼀种你可以购买和使⽤的真正的数字货币。这⾥是可以交易以太币的其中⼀家交易所的。在写这篇⽂章的时候,1个以太币价值65美分。 Gas. (汽油) 在以太坊上执⾏程序以及保存数据都要消耗⼀定量的以太币,Gas是以太币转换⽽成。这个机制⽤来保证效率。 DApp. 以太坊社区把基于智能合约的应⽤称为去中⼼化的应⽤程序(Decentralized App)。DApp的⽬标是(或者应该是)让你的智能合约有⼀个友好的界⾯,外加⼀些额外的东西, 例如IPFS(可以存储和读取数据的去中⼼化⽹络,不是出⾃以太坊团队但有类似的精神)。DApp可以跑在⼀台能与以太坊节点交互的中⼼化服务器上,也可以跑在任意⼀个以太 坊平等节点上。(花⼀分钟思考⼀下:与⼀般的⽹站不同,DApp不能跑在普通的服务器上。他们需要提交交易到区块链并且从区块链⽽不是中⼼化数据库读取重要数据。相对于 典型的⽤户登录系统,⽤户有可能被表⽰成⼀个钱包地址⽽其它⽤户数据保存在本地。许多事情都会与⽬前的web应⽤有不同架构。) 如果想看看从另⼀个新⼿视⾓怎么理解这些概念,请读。 以太坊客户端,智能合约语⾔ 编写和部署智能合约并不要求你运⾏⼀个以太坊节点。下⾯有列

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值