-
-
开源一个Linux payload module工具
-
-
开源一个Linux payload module工具
之前发过一篇文章 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.
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)