当前位置: 首页 > news >正文

服务器被黑,安装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 狂野之旅:底层原理高级进阶》 &#x1f680…...

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 非递归版 一、交换排序 基本思想&#xff1a…...

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* 算法在原题的数据范围内无法通过。事实上&#xff0c…...

【Make编译控制 08】CMake动静态库

目录 一、编译动静态库 二、链接静态库 三、链接动态库 前情提示:【Make编译控制 07】CMake常用命令-CSDN博客 有些时候我们编写的源代码并不需要将他们编译生成可执行程序,而是生成一些静态库或动态库提供给第三方使用,所以我们需要用到…...

05 06 Verilog基础语法与应用讲解

05. 1. 位操作 计数器实验升级&#xff0c;设计8个LED灯以每个0.5s的速率循环闪烁&#xff08;跑马灯&#xff09; 1.1 方法1&#xff1a;使用移位操作符<<来控制led灯的循环亮灭 设计代码 Verilog中&#xff0c;判断操作的时候不加位宽限定是可以的&#xff0c;比如i…...

css2复合选择器

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

新版MQL语言程序设计:键盘快捷键交易的设计与实现

文章目录 一、什么是快捷键交易二、使用快捷键交易的好处三、键盘快捷键交易程序设计思路四、键盘快捷键交易程序具体实现1.界面设计2.键盘交易事件机制的代码实现 一、什么是快捷键交易 操盘中按快捷键交易是指在股票或期货交易中&#xff0c;通过使用快捷键来进行交易操作的…...

数据结构之基数排序

基数排序的思想是按组成关键字的各个数位的值进行排序&#xff0c;它是分配排序的一种。在该排序方法中把一个关键字 Ki看成一个 d 元组&#xff0c;即       K1i,K2i,,Kdi 其中&#xff0c;0≤ Kji<r&#xff0c;i1~ n&#xff0c;j1~d。这里的r 称为基数。若关键字是…...

区间dp 笔记

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

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中的性能调优的方法&#xff1f;3.2 执行 SQL 响应…...

详细了解ref和reactive.

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

使用Linux docker方式快速安装Plik并结合内网穿透实现公网访问

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

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

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 实现BST &#x1f349;二叉搜索树的性质&#x1f349;实现二叉搜索树&#x1f34c;插入&#x1f34c;查找&#x1f34c;删除 &am…...

可达鸭二月月赛——基础赛第六场(周五)题解,这次四个题的题解都在这一篇文章内,满满干货,含有位运算的详细用法介绍。

姓名 王胤皓 T1 题解 T1 题面 T1 思路 样例输入就是骗人的&#xff0c;其实直接输出就可以了&#xff0c;输出 Hello 2024&#xff0c;注意&#xff0c;中间有一个空格&#xff01; 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 插件常见的插件配置选项&#xff1a;Mutate Filter配置案例&#xff1a; O…...

微信小程序的图片色彩分析,窃取网络图片的主色调

1、安装 Mini App Color Thief 包 包括下载包&#xff0c;简单使用都有&#xff0c;之前写了&#xff0c;这里就不写了 网址&#xff1a;微信小程序的图片色彩分析&#xff0c;窃取主色调&#xff0c;调色板-CSDN博客 2、 问题和解决方案 问题&#xff1a;由于我们的窃取图片的…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

rnn判断string中第一次出现a的下标

# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

MySQL 部分重点知识篇

一、数据库对象 1. 主键 定义 &#xff1a;主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 &#xff1a;确保数据的完整性&#xff0c;便于数据的查询和管理。 示例 &#xff1a;在学生信息表中&#xff0c;学号可以作为主键&#xff…...