免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4905 | 回复: 10

求一个2.6内核下隐藏LKM和遍历所有(包括隐藏的)LKM 的方法 [复制链接]

论坛徽章:
0
发表于 2010-11-05 17:47 |显示全部楼层
20可用积分
我记得 KERNEL MODULE 是可以藏起来的。也可以再用其他办法找出来。比如手工遍历下关键的数据结构。

但是网上搜了下,只搜到一些 2.0. 2.2 老内核的例子代码。不知道有没有2.6下可以用的?讲一下大概思路,比如是哪个数据结构把所有的 KERNEL MODULE 连在一起也可以。

多谢 {:3_197:}

最佳答案

查看完整内容

如果只是隐藏自己模块的话,在init模块初始函数里面list_del(&__this_module.list)(貌似是rcu的),如果想任意隐藏的话,如上所说就要手动导出modules了,内核里面读kallsyms文件进行字符串匹配获取地址也可以,然后遍历了。但是其实可以直接遍历&__this_module.list,反正是循环链表,只要你写的代码是用模块加载就能用这个方法,然后把要隐藏的摘下来,挂入自己建立的链中。但是这个隐藏效果可以直接在用户态下查/sys/module/ ...

论坛徽章:
0
发表于 2010-11-05 17:47 |显示全部楼层
如果只是隐藏自己模块的话,在init模块初始函数里面list_del(&__this_module.list)(貌似是rcu的),如果想任意隐藏的话,如上所说就要手动导出modules了,内核里面读kallsyms文件进行字符串匹配获取地址也可以,然后遍历了。但是其实可以直接遍历&__this_module.list,反正是循环链表,只要你写的代码是用模块加载就能用这个方法,然后把要隐藏的摘下来,挂入自己建立的链中。但是这个隐藏效果可以直接在用户态下查/sys/module/目录看到被“隐藏”的模块

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2010-11-05 22:47 |显示全部楼层
记得内核版有个帖子是说如何隐藏内核模块的,可以找一下。那里应该记录隐藏模块的一些信息。

论坛徽章:
0
发表于 2010-11-06 10:33 |显示全部楼层
恩。我去找找 :)

论坛徽章:
6
金牛座
日期:2013-10-08 10:19:10技术图书徽章
日期:2013-10-14 16:24:09CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2013-11-24 19:26:19未羊
日期:2014-01-23 15:50:002015年亚洲杯之阿联酋
日期:2015-05-09 14:36:15
发表于 2010-11-06 12:35 |显示全部楼层
回复 3# accessory
楼主找到了吗?找到了分享一下啊

论坛徽章:
0
发表于 2010-11-07 17:02 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2010-11-07 17:28 |显示全部楼层
include/linux/module.h
struct module{
......
        struct list_head list;
........
}

list is a st ...
xi_qh 发表于 2010-11-07 17:02


cat /proc/modules 应该就是遍历的module.c 中的 modules 全局变量。

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2010-11-07 17:29 |显示全部楼层
如果自己写模块实现的话,估计要先把 modules 全局变量 export 出来。

论坛徽章:
0
发表于 2010-11-23 00:39 |显示全部楼层
module子系统提供notify chain,可以自己注册个notify call,在sys_init_module时有2次机会回调,在模块删除时也可以回调一次,基于次可以做点module hack或anti hack

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
发表于 2010-11-23 19:25 |显示全部楼层
accessory 兄已经实现了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP