Linux更换内核版本
本文最后更新于:2023-04-04 09:58
前言
参考链接:
- http://43.129.188.117/长亭实习二-linux本地提权漏洞复现与检测思路/
- rc释义:https://zhidao.baidu.com/question/361434068121648932.html
- https://blog.csdn.net/qq_42030961/article/details/82740315
- Linux内核版本升降:https://leif.fun/articles/2020/08/05/1596615343464.html
是因为在复现提权漏洞的时候,漏洞与漏洞之间需要操作系统的内核版本不同,不同的内核版本会影响漏洞是否复测成功。但是,我们也不能因为这种事情就不停地用虚拟镜像装漏洞环境,这种方法太笨太麻烦了。所以我们要做的是更改系统内核版本,然后重启系统即可。
本次实验以Ubuntu为例,因为我们要用的环境也是Ubuntu的,其他的暂且一放。
Ubuntu
Ubuntu历史镜像下载链接:http://old-releases.ubuntu.com/releases/
Ubuntu历史kernel
下载链接:https://kernel.ubuntu.com/~kernel-ppa/mainline/
我的基础环境为:
- Ubuntu 14.04 LTS
- 3.13.0-24-generic
以CVE-2018-18955为例,该漏洞要求Linux Kernel
的范围在4.15.0~4.19.0
且低于4.19.2
。
访问历史kenrel
链接,找到4.15
版本,其中rc
后缀代表的是Release Candidate
,意为发布候选版本
,这个对于漏洞复现来说,影响应该不大吧。😆
其中前缀:
- Linux-headers,指的是Linux开发头文件,.h文件
- Linux-image,指的是编译好的内核
- sources,指的是Linux内核源码文件
后缀主要是处理器架构,有:
- arm64
- amd64
- i386
- ……
他们的关系有时又要牵扯到他们的历史,这里不做过多介绍,下载amd64
架构的image
文件。
下载完成后,将其上传到Linux系统种,并使用root权限安装指定内核:
1 |
|
重新生成GRUB的启动菜单配置文件(/boot/grub/grub.cfg)。
1 |
|
查询可更换内核的序号。
1 |
|
编辑/etc/default/grub
修改启动引导。如果没有使用grub修改过内核,除注释第一行显示的应该是:
1 |
|
0为默认kernel
,我们需要将0修改为"Advanced options for Ubuntu>{需要更改的内核号}"
,内核号是从查询中得出的。
1 |
|
1 |
|
更新启动项,重启完成后查看,内核更换成功。
Centos
参考链接:
我的环境跟链接作者的是一样的,都是Centos 7
,我个人测试是成功的。