linux 的内核pwn经常会因为给的bzImage没有符号表而困难重重。
没有符号会给我们的调试带来很大的麻烦
所以我们如果能自己去编译一个有符号的内核
就可以在平时各种题目中去用。
当然除了符号表可能还会涉及到一些保护开不开的问题。
视情况而定就行。
我们现在就聚焦如何整一个有符号表的内核文件。
先来两个网站
https://mirrors.edge.kernel.org/pub/linux/kernel/
https://mirrors.tuna.tsinghua.edu.cn/kernel/ # 国内镜像
然后你的虚拟机要大点
我最后这里用来33个G。
然后整个流程是这样的。
wget https://mirrors.tuna.tsinghua.edu.cn/kernel/v5.x/linux-5.17.tar.gz
tar -xvf linux-5.17.tar.gz
cd linux-5.17
make menuconfig
make -j4
要注意的是
make menuconfig将配置config的过程图形化
选择kernel hacking
进这个
把这个选上。
然后要记得
save一下
然后退出来就可以了。
就会多一个.config文件。
最后make -j4是多线程的去跑它。
j4就是四核,但是要首先保证你的虚拟机是四核的,不然开了也没啥用。
然后经过岁月漫长
就好了。
看看其中多了点啥
很显著的多了一些这玩意。
还有我们要的这玩意
解决一些报错问题
make menuconfig过程中
sudo apt install flex
sudo apt install bison
make -j4 过程中
sudo apt install libelf-dev
sudo apt install libssl-dev
在.config文件中把这个字符串删掉
像这样
这个也是
sudo apt install dwarves