如何防止 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创建,文章仅仅作为学习作用! 菜…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...

STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...