如何防止 Docker 注入了恶意脚本
根据您的描述,攻击者通过 CentOS 7 系统中的 Docker 注入了恶意脚本,导致自动启动名为 “masscan” 和 “x86botnigletjsw” 的进程。这些进程可能用于网络扫描或其他恶意活动。为了解决这一问题,建议您采取以下步骤:
1. 停止并删除可疑容器和进程:
- 列出所有运行中的容器:
docker ps -a
检查输出,寻找与 “masscan” 或 “x86botnigletjsw” 相关的容器。
- 停止并删除可疑容器:
docker stop [CONTAINER_ID]docker rm [CONTAINER_ID]
将 [CONTAINER_ID] 替换为可疑容器的实际 ID。
- 查找并终止可疑进程:
ps aux | grep -E 'masscan|x86botnigletjsw'
找到相关的进程 ID(PID),然后执行:
kill -9 [PID]
将 [PID] 替换为实际的进程 ID。
2. 删除恶意镜像:
- 列出所有镜像:
docker images
检查输出,寻找不明来源或可疑的镜像。
- 删除可疑镜像:
docker rmi [IMAGE_ID]
将 [IMAGE_ID] 替换为可疑镜像的实际 ID。
3. 检查并清理持久化启动项:
- 检查定时任务(Cron Jobs):
crontab -lls -la /etc/cron.d/ls -la /etc/cron.daily/ls -la /etc/cron.hourly/ls -la /var/spool/cron/
查找是否有可疑的定时任务,如果发现,使用合适的编辑器(如 vi)打开并删除相关条目。
- 检查系统服务(Systemd):
systemctl list-units --type=service
查找是否有可疑的服务,如发现,停止并禁用该服务:
systemctl stop [SERVICE_NAME]systemctl disable [SERVICE_NAME]
将 [SERVICE_NAME] 替换为可疑服务的实际名称。
4. 加强 Docker 和系统安全:
-
限制 Docker API 访问:
确保 Docker API 未暴露在公共网络上,检查 Docker 的启动参数,确保未启用远程访问。 -
更新系统和 Docker:
保持操作系统和 Docker 的最新版本,以修复已知的安全漏洞。 -
配置防火墙:
使用firewalld或iptables限制不必要的入站和出站流量。 -
监控系统活动:
使用工具如auditd或syslog监控系统日志,及时发现异常活动。
5. 定期备份和审计:
-
备份重要数据:
定期备份关键数据,以防止数据丢失。 -
审计用户和权限:
定期检查系统用户和权限,确保没有多余的用户或权限配置。
通过以上步骤,您可以清理系统中的恶意容器和进程,并加强系统的安全性,防止类似事件再次发生。
在 CentOS 7 系统中,若要阻止名为 “x86botnigletjsw” 的进程执行,您可以采取以下步骤:
-
查找并终止现有的 “x86botnigletjsw” 进程:
首先,使用以下命令查找该进程的 PID(进程标识符):
pgrep x86botnigletjsw该命令将返回所有名为 “x86botnigletjsw” 的进程的 PID。然后,使用
kill命令终止这些进程:kill -9 <PID>请将
<PID>替换为实际的进程 ID。如果有多个 PID,可以重复执行上述命令,或者使用pkill命令一次性终止所有同名进程:pkill -9 x86botnigletjsw -
防止进程重新启动:
如果该进程由某个父进程监控并自动重启,需要找到其父进程并终止。使用以下命令查看进程的详细信息:
ps -ef | grep x86botnigletjsw输出示例:
root 28628 1 1.3 0.2 200844 36796 ? S 1:01 0:01 x86botnigletjsw在此示例中,
28628是目标进程的 PID,1是其父进程(PPID)。如果 PPID 不为 1,表示有特定的父进程在管理该进程,需要终止该父进程。 -
阻止进程再次执行:
为了防止 “x86botnigletjsw” 进程再次启动,可以采取以下措施:
-
检查启动脚本: 查看
/etc/init.d/、/etc/rc.d/、/etc/systemd/system/等目录,查找是否有与该进程相关的启动脚本。如果存在,删除或禁用这些脚本。 -
设置文件权限: 找到 “x86botnigletjsw” 可执行文件的位置,修改其权限以防止执行:
chmod -x /path/to/x86botnigletjsw或者更改所有者:
chown root:root /path/to/x86botnigletjsw并设置权限:
chmod 700 /path/to/x86botnigletjsw -
使用
systemd限制: 如果该进程通过systemd管理,可以创建一个自定义的systemd服务,将其设置为禁止启动。创建一个新的服务文件/etc/systemd/system/x86botnigletjsw.service,内容如下:[Unit] Description=Disable x86botnigletjsw Service [Service] Type=oneshot ExecStart=/bin/true [Install] WantedBy=multi-user.target然后启用该服务:
systemctl daemon-reload systemctl enable x86botnigletjsw.service这将创建一个空的占位服务,阻止同名的其他服务启动。
-
-
监控系统:
为了防止类似的进程在未来运行,建议:
-
安装并配置防火墙: 使用
firewalld或iptables限制不必要的网络访问。 -
安装防病毒软件: 定期扫描系统,查找并清除恶意软件。
-
定期检查系统日志: 查看
/var/log/目录下的日志文件,监控可疑活动。 -
更新系统: 确保系统和所有软件包都是最新的,以修复已知的安全漏洞。
-
通过以上步骤,您可以有效地阻止名为 “x86botnigletjsw” 的进程在 CentOS 7 系统中执行,并提高系统的整体安全性。
相关文章:
如何防止 Docker 注入了恶意脚本
根据您的描述,攻击者通过 CentOS 7 系统中的 Docker 注入了恶意脚本,导致自动启动名为 “masscan” 和 “x86botnigletjsw” 的进程。这些进程可能用于网络扫描或其他恶意活动。为了解决这一问题,建议您采取以下步骤: 1. 停止并删…...
使用python接入腾讯云DeepSeek
本文主要从提供SSE方式接入DeepSeek,并通过fastapi websocket对外提供接入方法。 参考文档: 腾讯云大模型:https://cloud.tencent.com/document/product/1759/109380 fastAPI官网:https://fastapi.tiangolo.com/ WebSocketManager…...
【MySQL】服务正在启动或停止中,请稍候片刻后再试一次【解决方案】
问题呈现 在使用MySQL的过程中我们可能会遇到以上的情况 解决方法 首先以管理员身份打开命令行窗口,注意是管理员身份,不然无权限访问。输入命令tasklist| findstr "mysql",用于查找mysql的残留进程。这个时候我们就会看到一个…...
测试工程师玩转DeepSeek之Prompt
以下是测试工程师使用DeepSeek的必知必会提示词指南,分为核心场景和高效技巧两大维度: 一、基础操作提示模板 1. 测试用例生成 "作为[金融系统/物联网设备/云服务]测试专家,请为[具体功能模块]设计测试用例,要求࿱…...
【PyTorch】2024保姆级安装教程-Python-(CPU+GPU详细完整版)-
一、准备工作 pytorch需要python3.6及以上的python版本 我是利用Anaconda来管理我的python。可自行安装Anaconda。 Anaconda官网 Free Download | Anaconda 具体Anaconda安装教程可参考 https://blog.csdn.net/weixin_43412762/article/details/129599741?fromshareblogdet…...
精选案例展 | 智己汽车—全栈可观测驱动智能化运营与成本优化
本案例为“观测先锋 2024 可观测平台创新应用案例大赛”精选案例,同时荣获IT168“2024技术卓越奖评选-年度创新解决方案”奖。 项目背景 近年来,中国汽车行业进入转型升级阶段,智能网联技术成为行业发展的核心。车联网、自动驾驶等技术的加速…...
MySQL 使用 `WHERE` 子句时 `COUNT(*)`、`COUNT(1)` 和 `COUNT(column)` 的区别解析
文章目录 1. COUNT() 函数的基本作用2. COUNT(*)、COUNT(1) 和 COUNT(column) 的详细对比2.1 COUNT(*) —— 统计所有符合条件的行2.2 COUNT(1) —— 统计所有符合条件的行2.3 COUNT(column) —— 统计某一列非 NULL 的记录数 3. 性能对比3.1 EXPLAIN 分析 4. 哪种方式更好&…...
Linux运维——网络管理
Linux网络管理 一、Linux网络应用要点二、命令常见用法2.1、curl2.1.1、发送GET请求2.1.2、发送POST请求2.1.3、设置请求头2.1.4、处理cookies2.1.5、处理重定向2.1.6、调试和详细信息2.1.7、使用代理2.1.8、文件上传2.1.9、其它常用选项2.1.10、综合示例 2.2、wget2.2.1、基本…...
STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数
STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数 STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板…...
Jmeter+Jenkins接口压力测试持续集成
项目介绍 接口功能测试应用: http://www.weather.com.cn/data/cityinfo/<city_code>.html 测试功能:获取对应城市的天气预报 请求方法:Get 压测脚本开发工具:jmeter 源码脚本位置: https://github.com/shife…...
深入浅出ES6:现代JavaScript的基石
ES6(ECMAScript 2015)是JavaScript语言的一次重大更新,引入了许多新特性,使JavaScript更加强大、优雅和易于维护。这些特性已经成为现代JavaScript开发的基石,掌握它们对于任何JavaScript开发者都至关重要。本文将深入…...
实现使用RBF(径向基函数)神经网络模拟二阶电机数学模型中的非线性干扰,以及使用WNN(小波神经网络)预测模型中的非线性函数来抵消迟滞影响的功能
下面将详细介绍如何实现使用RBF(径向基函数)神经网络模拟二阶电机数学模型中的非线性干扰,以及使用WNN(小波神经网络)预测模型中的非线性函数来抵消迟滞影响的功能。我们将按照以下步骤进行: 步骤1&#x…...
潜水泵,高效排水,守护城市与农田|深圳鼎跃
洪水是常见的自然灾害,在春夏季节的我国降水多为丰富,容易造成城市内部的洪涝灾害。特别是低洼地区的积水,不仅容易造成城市交通的出行不便,还存在潜在的隐患,严重影响了人们正常生活。 潜水泵作为一种高效、可靠的排水…...
易基因:RNA甲基化修饰和R-loop的交叉调控:从分子机制到临床意义|深度综述
大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 R-loop(RNA-DNA杂合结构)是转录调控、DNA复制和修复等关键细胞过程的重要组成部分。但R-loop异常积累可能会破坏基因组完整性,从而导致多种疾病的发生…...
115 道 MySQL 面试题,从简单到深入!
1. 什么是数据库事务? 数据库事务是一个作为单个逻辑工作单元执行的一系列操作。事务具有ACID属性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性…...
一周学会Flask3 Python Web开发-flask3上下文全局变量session,g和current_app
锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili flask3提供了session,g和current_app上下文全局变量来方便我们操作访问数据。 以下是一个表格,用于比较Flask中的…...
MFC学习笔记-1
一、编辑框和按钮 //.h文件private:CString str;//给窗口类加了一个变量(定义一个成员变量),关联到IDC_EDIT1中(要在实现中关联,源文件文件夹中)CString str2;//接收button2,和IDC_EDIT2绑定 p…...
Linux搜索查找类指令
1、find指令 基本语法:find [搜索范围] [选项] 功能:将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端。 常用选项: 操作 命令示例 说明 查找指定路径下的所有文件 find /path/to/dir 查找指定目…...
江协科技/江科大-51单片机入门教程——P[1-1] 课程简介P[1-2] 开发工具介绍及软件安装
本教程也力求在玩好单片机的同时了解一些计算机的基本概念,了解电脑的一些基本操作,了解电路及其元器件的基本理论,为我们学习更高级的单片机,入门IT和信息技术行业,打下一定的基础。 目录 1.课程简介 2.开发工具及…...
监听load和hashchange事件
监听load和hashchange事件 上篇文章中,我们已经将菜谱的数据给拿到,并且已经可以渲染到页面上,本篇我们将为程序添加一些事件; 注:本项目来自于Jonas Schmedtmann创建,文章仅仅作为学习作用! 菜…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
