CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 漏洞列表
  3. 正文

rootkit

2018年11月13日 873点热度 0人点赞 0条评论
  • FB招聘站
  • 分类阅读
  • 专栏
  • 公开课
  • FIT 2019
  • 企业服务
  • 用户服务
  • 搜索
  • 投稿
  • 登录
  • 注册

Linux下一种rootkit的分析和检测

linken2017-11-23共246918人围观 ,发现 13 个不明物体系统安全

*本文原创作者:linken,属于FreeBuf原创奖励计划,禁止转载

0×01 引言

前段时间在github上看到了一个开源的rootkit源码,代码量比较少,OS适配也比较容易。将分析的笔记整理成一篇小文,分享出来。水平有限,难免有疏漏和错误,敬请指教。

0×02 rootkit简介

这次介绍的是Linux下R0层的rootkit。

Intel的x86处理器是通过Ring级别来进行访问控制的,级别共分4层,从Ring0到Ring3(后面简称R0、R1、R2、R3)。R0层拥有最高的权限,R3层拥有最低的权限。按照Intel原有的构想,应用程序工作在R3层,只能访问R3层的数据;操作系统工作在R0层,可以访问所有层的数据;而其他驱动程序位于R1、R2层,每一层只能访问本层以及权限更低层的数据。 这应该是很好的设计,这样操作系统工作在最核心层,没有其他代码可以修改它;其他驱动程序工作在R1、R2层,有要求则向R0层调用,这样可以有效保障操作系统的安全性。但现在的OS,包括Windows和Linux都没有采用4层权限,而只是使用2层——R0层和R3层,分别来存放操作系统数据和应用程序数据,从而导致一旦驱动加载了,就运行在R0层,就拥有了和操作系统同样的权限,可以做任何事情,而所谓的rootkit也就随之而生了。实际上,所有的内核代码都拥有根权限,当然,并不一定它们都叫做rootkit,这要看你用它来做什么。R3层的rootkit通过文件完整性检测较容易发现。

0×03 下载地址

https://github.com/ivyl/rootkit

0×04 使用方法

1、编译安装完成后,通过/proc/rtkit和内核进行交互,内核模块默认是隐藏的,所有lsmod查看不到。通过cat /proc/rtkit查看,具体的信息如下:

image.png

2、使用方法:

2.1、文件的隐藏 【 hides files prefixed with __rt or 10-__rt and gives root】

创建时候文件名以__rt或10-__rt开头即可默认隐藏。

image.png

2.2、进程隐藏的方法  【hpXXXX – hides proc with id XXXX】

echo -n hp1234>> /proc/rtkit

image.png

2.3、自身模块的隐藏和显示分别通过 【mh – module hide ms – module show】

echo -n mh >> /proc/rtkit

echo -n ms >> /proc/rtkit

image.png

0×05 源码分析

进程隐藏的代码实现,通过拦截具体文件系统的回调函数,在回调函数中将指定的进程过滤掉,从而达到隐藏的目的。具体如下:

image.pngimage.png

ps命令的原理是通过读取/proc所有的信息,展示所有的进程。在读取/proc目录时,对应的函数被替换,从而达到隐藏进程的目的。文件隐藏的原理类似。

0×06 进程rootkit的检测

通过上文分析我们知道,所用到的rootkit隐藏技术是通过ps命令读取/proc的时候隐藏某些进程从而达到隐藏目的。所以如果我们将内核中进程链表所有的进程信息输出,并和ps查找到的进程进行比较,就可以找出哪些是被隐藏的进程。

在Linux中,内核通过进程链表把所有进程的描述符链接起来。每个task_struct结构体都包含一个list_head类型的tasks字段。表头是init_task描述符,即0进程的进程描述符。Init_task的tasks.prev字段指向链表中最后插入的进程描述符的tasks字段。#define for_each_process(p) \ for (p = &init_task ; (p = next_task(p)) != &init_task ; )这个宏用来遍历进程链表。检测的核心代码如下:

for_each_process(task_list) {

printk("[%d] %s",task_list->pid,task_list->comm);

}

此段代码将系统中所有的进程打印出来,将其结果和ps的结果对比即可找到隐藏的进程。测试的效果如下:

image.png

0×07 引述

https://www.cnblogs.com/findumars/p/5557283.html

<<linux内核设计与实现>>  机械工业出版社

0×08 特别说明

上文中提到的内容只是用作技术讨论,请勿用于非法用途!

*本文原创作者:linken,属于FreeBuf原创奖励计划,禁止转载

linken

linken2 篇文章等级: 2级
|
|
  • 上一篇:英特尔承认其 ME、SPS、TXE等固件中存在漏洞
  • 下一篇:如何绕过Android网络安全配置
发表评论

已有 13 条评论

  • iso1030 2017-11-23回复1楼

    写的不错 :mrgreen:

    亮了(3)
  • 幕刃 2017-11-23回复2楼

    有没有Windows下的文章

    亮了(1)
    • linken (2级)微信:hudong_tom 2017-11-23回复

      @ 幕刃 平时工作主要在Linux上,所以比较熟悉。Windows的暂时没,我加加油,争取以后有。 :smile:

      亮了(1)
      • 幕刃 2017-11-23回复

        @ linken  可以的,加油加油

        亮了(1)
  • 死宅10086 (7级) 2017-11-23回复3楼

    不错 :mrgreen:

    亮了(2)
  • softbug (7级)i am here! 2017-11-24回复4楼

    “请勿用于非法用途“,你写出来,大家都能看到,黑客也能,必然有被用于非法用途的可能性。不能免责的。

    亮了(0)
  • vforbox 2017-11-27回复5楼

    :eek: 可以的,加油加油

    亮了(0)
  • vforbox 2017-12-11回复6楼

    编译完成后, 需要重新编译内核才可用?

    亮了(0)
    • linken (2级)微信:hudong_tom 2017-12-12回复

      @ vforbox 研究下insmod这个命令

      亮了(0)
  • ericlee0517 (1级) 2018-03-22回复7楼

    rt: Unknown symbol __x86_indirect_thunk_rax
    报这个问题怎么办呢

    亮了(0)
    • linken (2级)微信:hudong_tom 2018-04-04回复

      @ ericlee0517  您是x86平台的吗

      亮了(0)
  • jmcabc2008 (1级) 2018-03-31回复8楼

    怎么加不上你呢

    亮了(0)
    • linken (2级)微信:hudong_tom 2018-04-04回复

      @ jmcabc2008  再试试呢

      亮了(0)

 

必须您当前尚未登录。登陆?注册

必须(保密)

表情插图

取消

linken

linken

微信:hudong_tom

2文章数5评论数

最近文章

通过DNS进行主机安全防护的一些分享

2017.12.13

Linux下一种rootkit的分析和检测

2017.11.23

浏览更多

相关阅读

  • Linux Rootkit 系列四:对于系统调用挂钩方法的补充
  • 黑客溯源:“领跑吧”广告木马追踪
  • 运行于显卡(GPU)的Rootkit木马和键盘记录器问世
  • 可感染Linux平台的最新木马XOR.DDoS
  • 爆料:安卓“间谍门”事件愈演愈烈,又一家中国公司被曝在300万台安卓设备中植入rootkit

特别推荐

关注我们 分享每日精选文章

活动预告

  • 11月

    FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气

    已结束
  • 10月

    【16课时-连载中】挖掘CVE不是梦(系列课程2)

    已结束
  • 10月

    【首节课仅需1元】挖掘CVE不是梦

    已结束
  • 9月

    【已结束】自炼神兵之自动化批量刷SRC

    已结束

FREEBUF

  • 免责声明
  • 协议条款
  • 关于我们
  • 加入我们

广告及服务

  • 寻求报道
  • 广告合作
  • 联系我们
  • 友情链接

关注我们

  • 官方微信
  • 新浪微博
  • 腾讯微博
  • Twitter

赞助商

Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号

css.php

正在加载中...

0daybank

标签: 暂无
最后更新:2018年11月13日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me