Red Hat Enterprise Linux Server release 6.6 (Santiago) 内核提权

Red Hat Enterprise Linux Server release 6.6 (Santiago) 内核提权,第1张

发布版本:Red Hat Enterprise Linux Server release 6.6 (Santiago)

内核版本:Linux 2.6.32-504.el6.x86_64 #1 SMP Tue Sep 16 01:56:35 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

提取漏洞:CVE-2016-5195 Dirty COW

提权脚本:Marion001.c

编译命令:gcc -pthread Marion001.c -o Marion001 -lcrypt.

参考连接: https://github.com/dirtycow/dirtycow.github.io/blob/master/pokemon.c

参考视频: https://www.youtube.com/watch?v=uYVGvYeh5vo

攻击步骤:编译运行后会让攻击者输入新密码,此时可能需要另一个shell cat /etc/passwd 或者su marion00,原始passwd文件会被备份到/tmp/passwd.bak,攻击者只需切换到marion00账户即可root

查看内核版本命令:

1) [root@localhost~]# cat /proc/version

Linux version 2.6.18-238.el5 ([[email protected]](mailto:[email protected])) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Sun Dec 19 14:22:44 EST 2010

2)[root@localhost~]# uname -r

2.6.18-238.el5

3)[root@localhost~]# uname -a

Linux SOR_SYS.99bill.com 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

查看linux版本:

1) 登录到服务器执行 lsb_release -a ,即可列出所有版本信息,例如:

[root@localhost~]# lsb_release -a

LSB Version:    :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch

Distributor ID: RedHatEnterpriseAS

Description:    Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

Release:        4

Codename:      NahantUpdate4

注:这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发行版。

2) 登录到linux执行cat /etc/issue,例如如下:

[root@localhost~]# cat /etc/issue

Red Hat Enterprise Linux Server release 5.6 (Tikanga)

Kernel \r on an \m

- 3) 登录到linux执行cat /etc/redhat-release ,例如如下:

- [root@localhost~]# cat /etc/redhat-release

  Red Hat Enterprise Linux AS release 4 (Nahant Update 4)

- 注:这种方式下可以直接看到具体的版本号,比如 AS4 Update 1

另:第3)、4)两种方法只对Redhat Linux有效

5) [root@localhost~]# file /bin/bash

/bin/bash: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

6) [root@localhost~]# file /bin/cat

/bin/cat: ELF 64-bit LSB executable, AMD x86-64, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, stripped

linux版本信息说明

Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3个数字组成:r.x.y

  r:目前发布的内核主版本。

  x:偶数表示稳定版本;奇数表示开发中版本。

  y:错误修补的次数。

内核版本号每位都代表什么 ?

•以版本号为例: 2.6.18-128.ELsmp ,

•r:  2 , 主版本号

•x:  6 , 次版本号,表示稳定版本

•y:  18 , 修订版本号 , 表示修改的次数,头两个数字合在一齐可以描述内核系列。如稳定版的2.6.0,它是2.6版内核系列。

•128:  表示这个当前版本的第5次微调patch , 而ELsmp指出了当前内核是为ELsmp特别调校的

•EL :  Enterprise Linux  ; smp : 表示支持多处理器 , 表示该内核版本支持多处理器

amd和intel

amd和Intel这俩公司的渊源很深,早期时Intel先是自己搞了个x86架构,然后amd拿到了x86的授权也可以自己做x86了。接着intel向64位过渡的时候自己搞了个ia64(x64架构)但是因为和x86架构不兼容市场反应极差,amd率先搞了x86的64位兼容(32和64的混合架构)也就是后来的x86-64,后来Intel也拿到了生产这货的授权(i和a两家专利交叉的很严重),也搞了x86-64,因为amd先搞出来的所以x86-64也叫amd64

目前amd和Intel是世界上最大的两家x86和x86-64的cpu厂家(intel比较给力,四分天下有其三)。除了这两家还有几家小的公司也有x86的授权,比如via,不过技术水平真的很一般

x86

x86是指intel的开发的一种32位指令集,从386开始时代开始的,一直沿用至今,是一种cisc指令集,所有intel早期的cpu,amd早期的cpu都支持这种指令集,ntel官方文档里面称为“IA-32”

早期的x86是cisc的代表,后来的发展中逐步引入了risc的部分理念,将内部指令的实现大量模块化,准确来说是一个cisc外加risc部分技术的架构。目前x86的主要产品有Intel的至强,酷睿,奔腾,赛扬和凌动;amd的锐龙,apu等。上文提到的x64架构目前只有intel 安腾而且已经放弃了产品线。

到目前为止intel和amd的x86架构cpu虽然指令集上有很大差别了但是还是相互兼容的,所以软件可以直接用。'

x84_64 与amd64

x84_64是x86 CPU开始迈向64位的时候,有2选择:1、向下兼容x86。2、完全重新设计指令集,不兼容x86。AMD抢跑了,比Intel率先制造出了商用的兼容x86的CPU,AMD称之为AMD64,抢了64位PC的第一桶金,得到了用户的认同。而Intel选择了设计一种不兼容x86的全新64为指令集,称之为IA-64(这玩意似乎就是安腾),但是比amd晚了一步,而且IA-64也挺惨淡的,因为是全新设计的CPU,没有编译器,也不支持windows(微软把intel给忽悠了,承诺了会出安腾版windows server版,但是迟迟拿不出东西)。。。后来不得不在时机落后的情况下也开始支持AMD64的指令集,但是换了个名字,叫x86_64,表示是x86指令集的64扩展,大概是不愿意承认这玩意是AMD设计出来的。

也就是说实际上,x86_64,x64,AMD64基本上是同一个东西,我们现在用的intel/amd的桌面级CPU基本上都是x86_64,与之相对的arm,ppc等都不是x86_64。

arm与mips

arm是risc的典型代表,不过在arm的发展过程中引入了部分复杂指令(完全没有复杂指令的话 *** 作系统跑起来异常艰难),所以是一个risc基础外加cisc技术的cpu。

arm的主要专利技术在arm公司手中,像高通,三星,苹果这些公司需要拿到arm的授权。

另一个risc的典型处理器就是mips。mips是一个学院派的cpu,授权门槛极低,因此很多厂家都做mips或者mips衍生架构。我们平时接触到的mips架构cpu主要用在嵌入式领域,比如路由器。

目前最活跃的mips是中国的龙芯,其loongisa架构其实是mips的扩展。

mips mipsel mips64el 区别

- Debian目前提供3个端口,'mips','mipsel'和'mips64el'。 'mips'和'mipsel'端口分别是大端和小端变体,使用O32 ABI和硬件浮点。他们在Jessie中使用MIPS II ISA,在Stretch中使用MIPS32R2 ISA。 'mips64el'端口是一个64位小端端口,使用N64 ABI,硬件浮点和MIPS64R2 ISA。

- mips 是32位大端字节序

- mipsel 是32位小端字节序


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/7321976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存