gitlab-ce-12.3.5 挖矿病毒及解决方案
前言
最近发现在使用gitlab提交代码的时候总是失败,一访问gitlab还时常报503,于是使用 'top' 命令查看了内存占用情况,发现了一个git进程内存使用了2.3g,cpu还一直占用300-400%,
以前不知道gitlab还有病毒,只以为是git存储了往期版本产生的内存占用大,但是看见占用的进程 kill 掉之后还会立刻就出现,大概明白是病毒了,gitlab-ce 12.3.5版本的时候,只要一出现这个病毒,必将提交失败,将gitlab-ce 12.3.5 升级到了 12.10.14之后,病毒出现后依旧可以提交,只是gitlab会非常卡。
说明
服务器:腾讯云
Linux:CentOS Linux release 7.9.2009 (Core)
gitlab-ce:12.3.5,12.10.14
简介
本文主要内容为怎么排查gitlab-ce漏洞引起的挖矿病毒以及如何彻底杀死,为读者提供一个在不能及时升级gitlab-ce版本的情况下的应急解决方案。最终解决还是要升级gitlab版本
网上看了很多篇文章,发现讲的解决方案都不清晰,因此提供一篇,希望能帮助到同行朋友
一、发现问题
top
使用 “ top ”命令可以查看Linux系统中占用内存排名前10的进程,以倒叙展示。

图中排名第一的就是挖矿病毒,独有内存占用2.3g,CPU占用380+%
二、排查问题
lsof -p 病毒进程的PID

注意:这里查的 PID 之所以是 29261,是因为将图一的PID=16615的git进程 kill 掉之后重新出现的挖矿病毒进程PID
国外的IP地址

三、解决问题
从上图可以看见病毒所在文件的路径为以下路径
/var/tmp/.bin/x
注意:“ .bin ” 是个隐藏文件,命令 “ ls ” 或 “ ll ” 是看不见的,需要加上参数 “ -a ”

找到病毒文件后,使用 rm 命令删除,而后再将病毒进程kill掉
rm x #删除x文件kill 29261 #终止PID为29261的进程

至此完成
我将病毒 “x” 下载下来发给朋友看看是什么病毒,朋友给我来一张图

Threats found. Start the recommended actions(发现威胁。启动建议的操作)
相关文章:
gitlab-ce-12.3.5 挖矿病毒及解决方案
前言 最近发现在使用gitlab提交代码的时候总是失败,一访问gitlab还时常报503,于是使用 top 命令查看了内存占用情况,发现了一个git进程内存使用了2.3g,cpu还一直占用300-400%, 以前不知道gitlab还有病毒,只…...
每日一题(LeetCode)----数组--移除元素(四)
每日一题(LeetCode)----数组–移除元素(四) 1.题目([844. 比较含退格的字符串](https://leetcode.cn/problems/sqrtx/)) 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等&…...
421. 数组中两个数的最大异或值/字典树【leetcode】
421. 数组中两个数的最大异或值 给你一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n 。 示例 1: 输入:nums [3,10,5,25,2,8] 输出:28 解释:最大运算结果是 5 XOR…...
C++(20):自定义类型实现基于范围的for循环
C自定义类型,可以通过实现begin和end作为成员函数,来支持基于范围的for循环 #include <iostream>class D{ public:int* begin(){return m_data;}int* end(){return m_data 5;} private:int m_data[5]{1, 2, 3, 4, 5}; };int main() {D d;for (in…...
Linux常用命令:find、grep、vim、cat、less、more
目录 我的常用搜索命令 find 命令 grep 命令 vim 常用命令: 1.光标移动命令 2插入命令 3.删除命令 4.复制和粘贴命令 5.撤销和重做命令 6.查找和替换命令 7.文件操作命令 8.其他命令 cat命令 less 命令 more 命令 less和more命令的区别 less和vim命…...
Oracle导入,注意事项
在执行导入时,如果导入的触发器引用的表不存在,可能会导致错误。触发器通常会在相关的表结构之后导入,但在导入阶段,表的创建并不一定会立即执行。 在 Oracle 数据库中,触发器的创建可能涉及到对表的引用,…...
【数据结构】入队序列出队序列问题(以21年408真题举例)
题型说明 一般是一个队列,其中一边可以入队,另一边可以入队和出队只可入队的含义是从这个方向是以队列形式存在可以入队和出队表示此边以堆形式存在 怎么分析? 以21年408真题举例 考点分析 出队序列存在两种情况:入之后就出&…...
在ant构建脚本中调用maven的命令
有时候想用maven管理依赖,用ant构建。 在ant的build.xml文件中可以使用exec这个task来调用系统命令,也就可以调用maven的命令。 例如,执行maven的命令mvn dependency:copy-dependencies,可以将项目的依赖提取出来,放…...
美格智能5G RedCap模组顺利完成中国联通5G物联网OPENLAB开放实验室认证
近日,美格智能5G RedCap模组SRM813Q顺利通过中国联通5G物联网OPENLAB开放实验室端到端的测试验收,并获得OPENLAB实验室的认证证书。这标志着该模组产品各项性能均已符合RedCap商用标准,为5G RedCap规模商用奠定了坚实基础。 中国联通5G物联网…...
Git基础知识学习常用命令一
常用命令 $ git status 工作区域与仓库保持一致step2: 暂存状态 $ git add --all # 当前项目下的所有更改 $ git add . # 当前目录下的所有更改 $ git add xx/xx.py xx/xx2.py # 添加某几个文件Step3: commit $ git commit -m"<这里写commit的描述>" 已提…...
【2023.11.6】OpenAI发布会——近期chatgpt被攻击,不能使用
OpenAI发布会 写在最前面发布会内容GPT-4 Turbo 具有 128K 上下文函数调用更新改进了指令遵循和 JSON 模式可重现的输出和对数概率更新了 GPT-3.5 Turbo 助手 API、检索和代码解释器API 中的新模式GPT-4 Turbo 带视觉DALLE 3文字转语音 (TTS)收听语音样本…...
云原生 黑马Kubernetes教程(K8S教程)笔记——kubernetes介绍。Master集群控制节点、Node工作负载节点、Pod控制单元
参考文章:kubernetes介绍 文章目录 1. Kubernetes介绍1.1 应用部署方式演变传统部署:互联网早期,会直接将应用程序部署在物理机上虚拟化部署:可以在一台物理机上运行多个虚拟机,每个虚拟机都是独立的一个环境ÿ…...
[护网杯 2018]easy_tornado 1(两种解法!)
题目环境:发现有三个txt文本文件 /flag.txt/welcome.txt/hints.txt 依此点开 flag在/fllllllllllllag文件中 在hints.txt文件中发现md5计算 md5(cookie_secretmd5(filename)) 并且三个文件中都存在filehash(文件名被哈希算法加密32位小写) 猜…...
冒泡排序(Bubble Sort)
目录 1.冒泡排序1.1 基本原理1.2 例子1.3 示例代码 2.魔炮排序2.1 基本原理2.1 例子2.2 示例代码 1.冒泡排序 1.1 基本原理 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历待排序的数列,一次比较两个元素,如果他们的…...
JVM源码剖析之软、弱、虚引用的处理细节
目录 写在前面: 源码剖析: Java层面: JVM层面: 使用危险点: 总结: 版本信息: jdk版本:jdk8u40 垃圾回收器:Serial new/old 写在前面: 不同的垃圾回收…...
Linux服务器上搭建JupyterNotebook教程
搭建需知 1.确保是Linux服务器; 2.已经在linux服务器上安装好anaconda3; 搭建教程 请按照顺序依次执行下面的命令: 1、安装Jupyter Notebook 执行以下命令,安装jupyter notebook conda install jupyter【注】 如果anaconda3…...
记录bug1
项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 提示:这里描述项目中遇到的问题࿱…...
【MySQL】rank()、row_number()、dense_rank()用法详解
建表测试 测试表数据:test1 CREATE DATABASE /*!32312 IF NOT EXISTS*/db_test /*!40100 DEFAULT CHARACTER SET utf8 */; USE db_test; /*Table structure for table test1 */ DROP TABLE IF EXISTS test1; CREATE TABLE test1 ( id int(10) NOT NULL, score i…...
NFT合约部署
部署合约: 1.web3 NFT合约部署工具 https://remix.ethereum.org/ 2.tron NFT合约部署工具 https://www.tronide.io/ 3.部署 web3 ERC721代码: // SPDX-License-Identifier: MIT pragma solidity ^0.8.2;import "openzeppelin/contracts/token/ERC7…...
【C++】从入门到精通第三弹——友元函数与静态类成员
这里写目录标题 静态类成员友元友元方法 静态类成员 类成员一般都需要通过对象来访问,不可以通过类名直接访问,但是当我们将类成员定义为静态类成员,则允许使用类名直接访问。 静态类成员是在类成员前定义static关键字。 1 #include<iost…...
万字拆解 LLM 运行机制:Token、上下文与采样参数暮
springboot自动配置 自动配置了大量组件,配置信息可以在application.properties文件中修改。 当添加了特定的Starter POM后,springboot会根据类路径上的jar包来自动配置bean(比如:springboot发现类路径上的MyBatis相关类ÿ…...
技术适配器中的接口转换与兼容处理
技术适配器中的接口转换与兼容处理 在现代软件开发中,系统间的集成与协作越来越普遍,但由于不同系统可能采用不同的技术栈、协议或数据格式,接口兼容性问题成为开发中的常见挑战。技术适配器作为一种中间层解决方案,通过接口转换…...
Spring IOC 源码学习 事务相关的 BeanDefinition 解析过程 (XML)反
从0构建WAV文件:读懂计算机文件的本质 虽然接触计算机有一段时间了,但是我的视野一直局限于一个较小的范围之内,往往只能看到于算法竞赛相关的内容,计算机各种文件在我看来十分复杂,认为构建他们并能达到目的是一件困难…...
PHP代码加密:2026年开发者必须面对的“最后一道防线“
开篇:一个真实的故事 2024年11月,一位做电商SaaS的朋友找到我,语气当中带着掩饰不住的沮丧。他的核心定价算法,也就是团队花了两年时间打磨出来的东西,被客户的技术团队完整地复制了。没有反编译,也没有逆向…...
SEATA分布式事务——AT模式云
简介 AI Agent 不仅仅是一个能聊天的机器人(如普通的 ChatGPT),而是一个能够感知环境、进行推理、自主决策并调用工具来完成特定任务的智能系统,更够完成更为复杂的AI场景需求。 AI Agent 功能 根据查阅的资料,agent的…...
从Bulk CMOS到先进工艺:Sentaurus TCAD中几何结构与掺杂如何‘捏’出你的Ion和Ioff
从Bulk CMOS到先进工艺:Sentaurus TCAD中几何结构与掺杂如何‘捏’出你的Ion和Ioff 在半导体器件设计中,Ion(导通电流)和Ioff(关断电流)是衡量器件性能的两个关键指标。就像雕塑家通过调整黏土的形状和质地…...
顶半部与底半部:那次中断风暴让我彻底搞懂了
那天晚上,产线测试机突然卡死,屏幕上的数据刷新停滞在23:47:15。重启后查看内核日志,满屏的“IRQ handler took too long”警告。问题定位到我们新加的传感器驱动——中断频率从设计的100Hz变成了实际跑起来的2kHz,ISR里那个浮点运…...
Windows平台下基于CMake与VS2022的SOEM EtherCAT主站开发环境搭建指南
1. 环境准备:工欲善其事必先利其器 在Windows下玩转EtherCAT主站开发,首先得把工具链配齐。我当年第一次搭环境时,光是找齐这些工具就花了半天时间,现在把踩坑经验一次性打包给你。 必备三件套: Visual Studio 2022&am…...
手把手教你用pip download和--platform参数,提前备好Linux服务器离线Python环境
手把手教你用pip download和--platform参数,提前备好Linux服务器离线Python环境 在Linux服务器上部署Python应用时,最让人头疼的莫过于服务器无法访问外网。想象一下,当你兴冲冲地准备部署一个精心开发的应用,却因为依赖包无法下载…...
YOLO-Master 与 YOLO 开始美
AI Agent 时代的沙箱需求 从 Copilot 到 Agent:执行能力的质变 在生成式 AI 的早期阶段,应用主要以“Copilot”形式存在,AI 仅作为辅助生成建议。然而,随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter(现为 Advan…...
