首页
社区
课程
招聘
[原创]Linux内核驱动调试遇到的一些坑以及解决方法(新手必看指南)
发表于: 2019-10-9 13:31 10990

[原创]Linux内核驱动调试遇到的一些坑以及解决方法(新手必看指南)

2019-10-9 13:31
10990

最近在学习Linux内核调试,看了钞sir的环境搭建搭建了qemu环境之后本来兴高采烈地去开启我的内核调试之旅,没想到碰到了很多障碍,百度了很久也解决不了,最后自己胡乱碰撞,终于解决了这些问题,我觉得我遇到的这些问题也是很多坛友也会遇到的,现在我来讲讲我遇到的问题和解决的方法。

要调试驱动必须要驱动加载地址,但是当我运行了系统给的sh之后,它居然给我返回了地址为零,这里以 2019 STARCTF/CTF hackme 为例
图片描述

具体流程:
解压给的cpio文件 -> 进入该文件 -> 找到init ->打开并修改(由于hackme给了地址,所以这里用的是其他题目的init来演示)
图片描述

将这个1000修改为0就是我们的root权限了

图片描述
再次登录就可以发现地址加载出来了

当你运行target remote:1234,显示一堆CAN NOT FIND ELF BASE的时候,内心有点崩溃吧。

这时候要运行poc文件就能看到在你的断点里面调试了,可能有人会说调试不就是为了POC吗,这怎么写POC我也不太懂,因为我也是初学者,现在先学会如何调试最重要,之后我会再更新的。
图片描述
图片描述


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 4
支持
分享
最新回复 (10)
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
感谢分享哦~
2019-10-9 13:56
0
雪    币: 1515
活跃值: (4416)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
3
哈哈哈 不错~
2019-10-10 15:17
0
雪    币: 270
活跃值: (1662)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
4
钞sir 哈哈哈 不错~
大佬什么时候再更新一些关于内核的文章呀
2019-10-10 23:23
0
雪    币: 14
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
大佬怎么联系你呀,有事相求,有偿
2019-10-14 01:35
0
雪    币: 270
活跃值: (1662)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
6
宏程科技 大佬怎么联系你呀,有事相求,有偿
最后于 2019-11-13 20:13 被Vinadiak编辑 ,原因:
2019-10-14 09:16
0
雪    币: 488
活跃值: (252)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
师傅,为什么其他的题目都可以提权,但是2019 STARCTF/CTF hackme不能在init里面加setsid /bin/cttyhack setuidgid 0 /bin/sh提升到root权限,我看钞sir师傅他们调试的就可以直接查看/proc/kallsyms中的具体地址,师傅有没有遇到这个问题。
2019-11-13 19:46
0
雪    币: 270
活跃值: (1662)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
8
HBh25Y 师傅,为什么其他的题目都可以提权,但是2019 STARCTF/CTF hackme不能在init里面加setsid /bin/cttyhack setuidgid 0 /bin/sh提升到root权 ...
这个问题我感觉他们是把题目搬到自己的环境中运行的,所以才能这样,至于hackme那个题目应该是linux的机制问题了,我研究的不是很深,我看了下init里面没有东西,应该内置了启动项了
2019-11-13 20:26
0
雪    币: 488
活跃值: (252)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
好的,谢谢师傅,我就感觉那个init是用来骗我这种菜鸡的。
2019-11-13 20:46
0
雪    币: 245
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
HBh25Y 师傅,为什么其他的题目都可以提权,但是2019 STARCTF/CTF hackme不能在init里面加setsid /bin/cttyhack setuidgid 0 /bin/sh提升到root权 ...
如果你知道模块里面的函数名的话,在gdb里面 直接print 应该也是可以的
2019-11-13 21:37
0
雪    币: 277
活跃值: (485)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
膜拜大佬,请教下在已Root的安卓平板可以调试dev下的驱动文件,获取驱动文件内容嘛
2021-8-2 21:51
0
游客
登录 | 注册 方可回帖
返回
//