服务器被黑,安装Linux RootKit木马
前言
疫情还没有结束,放假只能猫家里继续分析和研究最新的攻击技术和样本了,正好前段时间群里有人说服务器被黑,然后扔了个样本在群里,今天咱就拿这个样本开刀,给大家研究一下这个样本究竟是个啥,顺便也给大家分享一些关于Linux Rootkit恶意软件方面的相关知识点吧,全球高端的黑客组织都在不断进步,做安全更应该努力学习,走在黑客前面,走在客户前面,加强自身安全能力的提升才能应对未来各种最新的安全威胁事件,才能帮助客户更好的解决安全问题。
这个样本是一个Linux Rootkit类型的恶意样本,根据国外安全厂商报道最近半年Linux恶意软件呈指数级增长,在2022年上半年记录的恶意软件样本在2022年1月至2022年6月期间增加了近650%,随着云计算的发展,针对Linux的恶意软件攻击样本在未来应该会越来越多,然而尽管 Linux 恶意软件样本大量增加,但 Windows 仍是受恶意软件感染最多的操作系统。
分析
1.通过逆向分析,发现该恶意样本是一个Linux RootKit木马程序,样本参考了2018年H2HC(Hackers 2 Hackers Conference)会议上Matveychikov & f0rb1dd3分享的Linux RootKit高级技术,加载执行Linux Rootkit木马,如下所示:
2.解密Linux RootKit木马数据过程,如下所示:
3.Linux RootKit木马数据,如下所示:
4.笔者自己编写了一个简单的解密程序,用于解密上面的Linux RootKit木马数据,如下所示:
5.解密Linux RootKit木马数据之后,如下所示:
6.通过逆向分析解密出来的Linux RootKit木马,发现是Reptile木马源代码修改的,如下所示:
7.Reptile是一款开源的Linux RootKit木马程序,Linux RootKit木马功能非常强大,如下所示:
可以隐藏文件、目录、自身、网络连接、反弹shell木马等,Linux RootKit木马运行之后,如下所示:
该Linux RootKit木马可以通过Volatility内存检测的方法发现木马后门模块,如下所示:
笔者曾研究过多个基于Linux平台的RootKit家族样本,说不定你的服务器上就被安装了这些RootKit家族样本,RootKit包含应用层和驱动层,应用层主要使用的技术就是二次打包修改、替换常用二进制文件、LD_PRELOAD环境变量写入/etc/ld.so/preload、捆绑合并等方式,驱动层主要使用的syscall hook以及最近两三年比较流行的通过eBPF技术来实现文件,进程、网络的隐藏等。
总结
笔者通过研究的一些高端样本可以预测在未来基于底层RootKit或者高级隐藏技术的恶意软件可能会增多,像此前TeamTNT黑客组织也曾使用Linux RootKit的Diamorphine木马来达到隐藏目的,同时一些勒索病毒也开始使用底层驱动程序进行辅助攻击,未来几年不管是Windows平台,还是Linux平台,安全对抗都会持续升级,可能会出现更多使用高级技术或者底层技术的恶意软件家族,包含更高级的混淆加密反调试反虚拟机等免杀技术,更底层的木马隐藏技术,会成为高级威胁攻击的主流攻击技术。
最近几年随着云计算的发展,云原生安全似乎又成为了一个热点,同时eBPF技术的成熟与发展,又出现了一批基于eBPF技术的RootKit攻击技术,一些开源代码也被公布在了GitHub平台上面bad-bpf、ebpfkit、boopkit、TripleCross等eBPF RootKit项目未来可能也会成为黑客利用的工具,被应用到各种针对Linux平台的恶意软件当中,目前eBPF的RootKit对环境要求比较高,暂时还不太流行,不过也已经发现了一些eBPF RootKit的恶意软件家族Symbiote,还有像此前NSA方程式组织开发的顶级后门Bvp47也使用了BPF隐藏信道,随着eBPF技术的进一步发展与成熟,基于eBPF的后门可能会越来越多,目前已经有一些比较简单的检测eBPF木马的方法,例如使用bpf-hookdetect、Hades、ebpfkit-monitor、bpftool等工具进行简单的猎捕工作,同时可以使用IDA\Ghidra的eBPF逆向分析插件、readelf、llvm-objdump等工具进行相关的逆向分析工作,安全就是这样,有攻必有防,我们通过不断研究最新的攻击技术,攻击样本,然后找到相应的检测和防御技术,黑客组织为了获取更大的利益,也在不断研究各种最新的安全技术,然后开发出更高级更隐蔽的恶意软件攻击样本,安全研究人员只有不断的学习与进步,与时俱进,才能更好的发现和对应这些高端黑客组织的攻击活动。
安全技术发展已经有几十年了,国内外各种安全大会上基本上每年都会有一些新的安全技术分享,同时也会有一些新的安全概念被提出来,其实万变不离其宗,安全的核心永远是对抗,有攻就一定有防,就像矛与盾一样,最近几年比较热门的云原生安全技术,笔者通过深度研究一些云原生安全攻击事件案例之后,发现其实云原生安全技术底层对抗逻辑并没有太多的改变,只是增加了一些上层的东西,上层的东西对抗其实是比较简单的,解决起来并没有太大的技术难题,更难的对抗还是在底层技术的对抗,安全研究人员需要去更多的关注和解决云原生安全的底层技术,而不要总是停留在表层技术的研究,黑客都在不断的进步,如果安全研究人员不持续保持进步,研究更高级更底层的安全技术,可能根本无法及时发现和对应那些高端黑客组织的攻击活动,安全的路还很长,需要持续不断的努力,活到老,学到老。
笔者一直从事与恶意软件威胁情报等相关安全分析与研究工作,包含挖矿、勒索、远控后门、僵尸网络、加载器、APT攻击样本、CS木马、Rootkit后门木马等,涉及到多种不同的平台(Windows/Linux/Mac/Android/iOS),笔者做安全研究的兴趣就是喜欢研究一些最新的恶意软件家族样本,跟踪国内外报道的各种安全事件中涉及到的攻击样本等,通过详细分析各种安全攻击事件中涉及的样本、漏洞和攻击技巧等,可以了解全球黑客组织最新的攻击技术以及攻击活动趋势等,同时还可以推判出他们大概准备做什么,发起哪些攻击活动,以及客户可能会受到什么危害等,通过研究全球的黑客组织以及攻击活动,做到知已知彼,各位读者朋友如果有遇到什么新的恶意软件家族样本或最新的家族变种都可以私信发给笔者,感谢给笔者提供样本的朋友们!
做安全,不忘初心,与时俱进,方得始终!
相关文章:

服务器被黑,安装Linux RootKit木马
前言 疫情还没有结束,放假只能猫家里继续分析和研究最新的攻击技术和样本了,正好前段时间群里有人说服务器被黑,然后扔了个样本在群里,今天咱就拿这个样本开刀,给大家研究一下这个样本究竟是个啥,顺便也给…...

【数据结构与算法】【腾讯阿里链表面试题】算法题--链表易懂版讲解
🎉🎉欢迎光临🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟特别推荐给大家我的最新专栏《Spring 狂野之旅:底层原理高级进阶》 🚀…...

3d渲染100农场如何使用?渲染100邀请码1a12
3d渲染农场通常用于电影、动画或视觉效果的渲染,本文以广受好评的渲染100农场为例,来讲解它的使用方法。 1、注册账号 前往渲染100官网(http://www.xuanran100.com/?ycode1a12)注册账号, 新用户注册记得填邀请码1a12,有30元大礼…...

【数据结构和算法】--- 基于c语言排序算法的实现(2)
目录 一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare法1.2.2 挖坑法1.2.3 前后指针法 1.3 快速排序优化1.3.1 三数取中法选key1.3.2 递归到小的子区间使用插入排序 1.4 快排非递归版 二、归并排序2.1 归并排序2.1.1 递归版2.1.2 非递归版 一、交换排序 基本思想:…...
ORACLE的 软 软 软 解析!
在海鲨数据库架构师精英群里,有位朋友说ORACLE 有 软软软解析. 就是把执行计划缓存在客户端里,从而避免去服务端找执行计划. 他给了个设置方法, Weblogic console->datasource->connectionPool Statement Cache Type >LRU Statement Cache Size100 CURSOR_NUMBER …...
【模板】k 短路 / [SDOI2010] 魔法猪学院
题目背景 注:对于 k k k 短路问题,A* 算法的最坏时间复杂度是 O ( n k log n ) O(nk \log n) O(nklogn) 的。虽然 A* 算法可以通过本题原版数据,但可以构造数据,使得 A* 算法在原题的数据范围内无法通过。事实上,…...
【Make编译控制 08】CMake动静态库
目录 一、编译动静态库 二、链接静态库 三、链接动态库 前情提示:【Make编译控制 07】CMake常用命令-CSDN博客 有些时候我们编写的源代码并不需要将他们编译生成可执行程序,而是生成一些静态库或动态库提供给第三方使用,所以我们需要用到…...

05 06 Verilog基础语法与应用讲解
05. 1. 位操作 计数器实验升级,设计8个LED灯以每个0.5s的速率循环闪烁(跑马灯) 1.1 方法1:使用移位操作符<<来控制led灯的循环亮灭 设计代码 Verilog中,判断操作的时候不加位宽限定是可以的,比如i…...

css2复合选择器
一.后代(包含)选择器(一样的标签可以用class命名以分别) 空格表示 全部后代 应用 二.子类选择器 >表示 只要子不要孙 应用 三.并集选择器 ,表示 代表和 一般竖着写 应用 四.伪类选择器(包括伪链接…...

新版MQL语言程序设计:键盘快捷键交易的设计与实现
文章目录 一、什么是快捷键交易二、使用快捷键交易的好处三、键盘快捷键交易程序设计思路四、键盘快捷键交易程序具体实现1.界面设计2.键盘交易事件机制的代码实现 一、什么是快捷键交易 操盘中按快捷键交易是指在股票或期货交易中,通过使用快捷键来进行交易操作的…...
数据结构之基数排序
基数排序的思想是按组成关键字的各个数位的值进行排序,它是分配排序的一种。在该排序方法中把一个关键字 Ki看成一个 d 元组,即 K1i,K2i,,Kdi 其中,0≤ Kji<r,i1~ n,j1~d。这里的r 称为基数。若关键字是…...

区间dp 笔记
区间dp一般是先枚举区间长度,再枚举左端点,再枚举分界点,时间复杂度为 环形石子合并 将 n 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。 规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该…...

MySQL-SQL优化
文章目录 1. SQL性能分析1.1 SQL执行频率1.2 慢查询日志1.3 profile详情1.4 explain 2. SQL优化2.1 Insert 优化2.2 Group By 优化2.3 Order By 优化2.4 Limit 优化2.5 Count() 优化2.6 Update 优化 3. 拓展3.1 请你说一下MySQL中的性能调优的方法?3.2 执行 SQL 响应…...

详细了解ref和reactive.
这几天看到好多文章标题都是类似于: 不用 ref 的 xx 个理由不用 reactive 的 xx 个理由历数 ref 的 xx 宗罪 我就很不解,到底是什么原因导致有这两批人: 抵触 ref 的人抵触 reactive 的人 看了这些文章,我可以总结出他们的想法…...

使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问
文章目录 1. Docker部署Plik2. 本地访问Plik3. Linux安装Cpolar4. 配置Plik公网地址5. 远程访问Plik6. 固定Plik公网地址7. 固定地址访问Plik 本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者…...

Redis Centos7 安装到启动
文章目录 安装Redis启动redis查看redis状况连接redis服务端 安装Redis 1.下载scl源 yum install centos-release-scl-rh2.下载redis yum install rh-redis5-redis 3. 创建软连接 1.cd /usr/bin 2. In -s /opt/rh/rh-redis5/root/usr/bin/redis-server ./redis-server 3. …...

「数据结构」二叉搜索树1:实现BST
🎇个人主页:Ice_Sugar_7 🎇所属专栏:Java数据结构 🎇欢迎点赞收藏加关注哦! 实现BST 🍉二叉搜索树的性质🍉实现二叉搜索树🍌插入🍌查找🍌删除 &am…...

可达鸭二月月赛——基础赛第六场(周五)题解,这次四个题的题解都在这一篇文章内,满满干货,含有位运算的详细用法介绍。
姓名 王胤皓 T1 题解 T1 题面 T1 思路 样例输入就是骗人的,其实直接输出就可以了,输出 Hello 2024,注意,中间有一个空格! T1 代码 #include<bits/stdc.h> using namespace std; #define ll long long int …...

ELFK日志采 - QuickStart
文章目录 架构选型ELKEFLK ElasticsearchES集群搭建常用命令 Filebeat功能介绍安装步骤Filebeat配置详解filebeat常用命令 Logstash功能介绍安装步骤Input插件Filter插件Grok Filter 插件Mutate Filter 插件常见的插件配置选项:Mutate Filter配置案例: O…...

微信小程序的图片色彩分析,窃取网络图片的主色调
1、安装 Mini App Color Thief 包 包括下载包,简单使用都有,之前写了,这里就不写了 网址:微信小程序的图片色彩分析,窃取主色调,调色板-CSDN博客 2、 问题和解决方案 问题:由于我们的窃取图片的…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

Opencv中的addweighted函数
一.addweighted函数作用 addweighted()是OpenCV库中用于图像处理的函数,主要功能是将两个输入图像(尺寸和类型相同)按照指定的权重进行加权叠加(图像融合),并添加一个标量值&#x…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...