java 挖矿代码_我的大脑被挖矿代码搞的不能好好思考了
我被攻击了
个人服务器去年底最后两天被攻击了,因为一些事情拖着没来得及处理,今天实在忍不住了,记录一下被攻击后发现以及修复的过程。
2019-12-30 23:39:44 云盾预警访问恶意IP 178.170.189.5
这一次预警中有一个关键字“kdevtmpfsi”
2019-12-31 04:19:19 云盾预警矿池通信行为 178.170.189.5
kdevtmpfsi
如何找到根源
kdevtmpfsi 伪装的挺好,因为它和一个系统进程的名字非常相似 kdevtmpfs ,一不小心研究的重心就偏移了。我现在的程序是以 docker 运行的,宿主机如果被攻击了问题就严重了。
因为本身不是专业运维,排雷全靠猜测。云盾感知的 cms 可能存在安全漏洞,代码扫描后没有发现异常,到这里我感觉问题可能就更严重了。
容器存在漏洞?容器也就运行了 nmp,会是哪一个容器出现问题了呢?有些手足无措。cpu 占用高,docker 查看一下容器的 cpu 占用呢?
top
使用 top 命名直接可以查看到下图,kdevtmpfsi 差不多100%的CPU占用,导致服务器完全被恶意程序占用,我本身的服务难以正常运行。
container
cpu 被 kdevtmpfsi 挖矿程序占用 100%。按照上面的定位到容器的问题,使用命令查看容器状态 docker stats 获得下图。
看到是 redis 容器被利用了,使用命令 docker exec -it 容器ID /bin/bash 进入内部看看具体问题呢?CTRL+P+Q
使用命令 ls -lrt 可以看到最早下载的 kinsing 文件是去年30日,与最早告警时间也基本在同一天。通过搜索学习到这个文件是挖矿程序的手续进程,后续需要清理掉。
按照云盾报警的情况我们看下文件是否存在 /tmp/kdevtmpfsi ,如果存在也需要清理掉才行。文件肯定是存在的,我还干了一件事情就是 kill -9 ID,CPU 占用明显就降下来了 ,然后手动运行了一下这个程序,发现 CPU 直接就飙升了
它是如何做到的
问题找到了,只要杀掉当前进程以及守护进程,问题也就暂时解决了。没有找到根源,问题还是可能被利用,继续写入挖矿程序,我们先思考一下漏洞在哪里呢?
上面分析出来是因为 redis 的漏洞导致的?想一下我们的 redis 是如何安装的,我当初测试一个需要登录才能使用的应用程序,登录的方式是关注公众号,然后获取授权码去解锁使用。就使用 redis 存放了临时 token ,安装 redis 的时候直接就是裸奔在空气中,没有密码。
可以使用命令检测一下,例如我的公网 IP 是 110.110.110.110。 只需要使用命令 redis-cli -h 110.110.110.110 -p 6379 就直接可以连上我的 redis 服务了。
通过云盾安全预警查看到《【漏洞预警】Redis 4.x/5.x 远程命令执行高危漏洞》,解决这个问题的关键可以设置仅内网访问 redis,特殊对外的 IP 使用密码策略。
version: '3'
services:
# 使用 command 命令设置一下密码
redis:
image: redis:5.0.7
command: ["redis-server", "--requirepass", "yourpassword"]
hostname: redis
networks:
- redis-net
volumes:
- redis-data:/data
networks:
redis-net:
volumes:
redis-data:
安全放心上
长呼一口气之后,想起了《亡羊补牢》的故事。
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[我的大脑被挖矿代码搞的不能好好思考了]http://www.zyiz.net/tech/detail-98981.html
java 挖矿代码_我的大脑被挖矿代码搞的不能好好思考了相关推荐
- java开发平板_用Android平板来写代码 - Termux 环境搭建
之前入了一个洋垃圾 华硕P00I,我对这款平板的第一印象是:屏幕好,电池耐用.如果忽略后压屏的缺点,还是很有性价比的. 除了平时看小说.PDF.PPT.视频,作为一个程序员(还没毕业),想着是否可以更 ...
- pandas数据处理 代码_使用Pandas方法链接提高代码可读性
pandas数据处理 代码 We have been talking about using the Pandas pipe function to improve code readability. ...
- 小波分解与小波包分解代码_分解的功能参数和代码可维护性
小波分解与小波包分解代码 Code keeps changing, there's no doubt about that. We always do our best to set some roc ...
- mysql在哪里写代码_[译] 如何写好 Go 代码
原文:https://scene-si.org/2018/07/24/writing-great-go-code/ 我写了多年的 Go 微服务,并在写完两本关于 (API Foundations in ...
- 如何编写无法维护的代码_编写可维护的前端代码
点击这里获得更好的阅读体验github.com 以下是本人在团队内部分享的整理和补充,水平有限,如有错误,请不吝赐教. 大家好,我叫王力国,目前是 RPA 前端团队负责人,过去一年我们从零构建了 R ...
- latex附录中放python代码_在Latex中插入Python代码
这里指的插入是指最终能在生成的pdf中显示高亮的Python代码. 在Latex中插入Python代码,需要一个第三发的宏包pythonhighlight: https://github.com/ol ...
- iapp启动图代码_关于计算设备运行时间SCL代码的测试与说明
有小伙伴使用西门子PLC仿真软件对我前段时间写的文章<西门子SCL编程实例-计算设备运行时间(2)>进行了测试,发现OB10中的代码并没有执行,他问是不是代码有问题?尤其是这条语句: &q ...
- 天天向上续 python代码_第46p,8行代码,用Python批量重命名文件
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第46篇文章,第二阶段的课程:Python基础知识:小案例之用Python批量重命名文件. 学习本课程,建议先看一遍:[计算机基础知 ...
- 华为扩大内存代码_华为手机增大手机内存代码 | 手游网游页游攻略大全
发布时间:2016-01-22 我的世界手机版游戏中一个好的种子,可以省去玩家们前期建设的不少功夫,下面是小编给大家整理的我的世界手机版最新种子大全 手机版种子代码,跟种子特点介绍. 我的世界手机版最 ...
最新文章
- (转载)从无知到有知
- ASP.NET MVC and jqGrid 学习笔记 2-如何从本地获得数据
- 窗外传来嬉闹声,我默默关上窗
- 软件工程——团队作业3
- Android8.1 ifw方案,Android 8.1适配规范及常见问题处理方式
- 你真的了解Lambda表达式吗?
- DIY_DE2开发板介绍
- sa是什么岗位_服务顾问SA在维修企业扮演的重要角色
- sorl6.0+jetty+mysql搭建solr服务
- linux系统下安装2080ti驱动,CentOS 7.4 Nvidia GeForce RTX 2080 Ti 显卡驱动安装
- SAP License:雾里看花系列——弃用SAP是小企业无奈的选择
- JS获取本地局域网IP
- 数据的类型:分类数据、顺序数据、数值型数据
- 高考数学之快速解选择题
- java中style的用法
- 老男孩教育67期--day02--操作系统硬件知识
- Bubble(17)
- 吉林大学计算机a类学科,尴尬了!这7所高校明明是985,却一个A+学科都没有!...
- Red Panda DEV-C++6.7.5
- Unity 关于Spine不规则响应区域解决方法
热门文章
- C语言小白适合入门的项目——扫雷
- Python Django之GET请求和POST请求及响应处理
- WordPress网站搬家教程(根目录程序+ MySQL数据库)
- Win10中如何找到并打开SqlServer2008 R2配置管理器
- tinyxml c语言,开源TinyXML 最简单的新手教程
- matlab平稳随机过程的功率谱密度,平稳随机过程的功率谱密度
- centos6.5搭建mysql主从_mysql 主从配置,主-》windows,从-》centos6.5
- linux软件中心替代,Ubuntu 16.04 LTS 将替换 Ubuntu 软件中心
- oracle监听系统账号,linux 下 Oracle 监控sysdba用户登陆
- Win10系统如何退出桌面磁贴功能