首页
社区
课程
招聘
4
开源一个Linux payload module工具
发表于: 2024-1-4 15:23 3692

开源一个Linux payload module工具

2024-1-4 15:23
3692

    之前发过一篇文章 https://bbs.kanxue.com/thread-277144.htm 介绍了如何通过内核模块远程读写进程内存. 这个技术是通过一个内核模块实现的,而linux内核模块没有二进制兼容,所以换一个内核就需要重新编译这个内核模块, 这让没有源码的情况下难以部署我们的ko. 


    通过解决重重困难,我实现了一个sdk可以开发相对通用的内核模块, 部署的时候通过sdk里的kdeploy工具读取当前运行的内核,修改我们的内核模块,使当前内核能够加载我们的内核模块.


    使用方法是`kdeploy -b /dev/block/by-name/boot -m vmrw.ko -o out.ko`


    核心原理就是反编译当前内核,得到内核模块的一些偏移量,然后填到ko里.其次就是填充内核模块的符号表的crc值. 具体因为时间优点久了,我忘记了,这里就不深入了,一共也就几百行代码,对这个有兴趣的人应该很好看懂.


    这个工具适配的内核不多, 也不算是通用的, 遇到变动大的内核,就得重新适配了.


    项目地址在此`https://github.com/vrolife/kagent`,这个项目仅供学习研究用途, 不得用于非法用途. 这个项目我也没兴趣维护了, 过阵子就会archive.



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

收藏
免费 4
支持
分享
赞赏记录
参与人
雪币
留言
时间
mb_ucvbglqd
非常支持你的观点!
2024-10-23 00:53
sinker_
感谢你分享这么好的资源!
2024-10-6 01:01
你瞒我瞒
为你点赞~
2024-1-30 16:33
不吃早饭
为你点赞~
2024-1-4 16:03
最新回复 (2)
雪    币: 4008
活跃值: (31441)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢分享
2024-1-5 09:45
1
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册