CVE-2023-32233 (LINUX内核权限提升漏洞)

【实验系统

ubantu23.04

【实验步骤

        1. 选择一个公开的CVE漏洞(2023年或2024年发布,且需要搭建靶机环境)作为研究对象。

CVE-2023-32233 (LINUX内核权限提升漏洞)

      2. 获取详细的漏洞信息:访问官方的CVE数据库,如[NVD (National Vulnerability Database)](https://nvd.nist.gov/),获取漏洞的详细描述、受影响的系统和版本。

研究人员发现,在 Linux 内核 6.3.1 及之前的版本中,Netfilter nf_tables处理批处理请求时的释放后使用可能会被滥用,即存在释放重利用(UAF)漏洞,从而对内核内存执行任意读写操作,导致非特权本地用户可以通过提权攻击获取 root 权限,发生这种情况的原因是匿名集处理不当。受影响系统版本范围为v5.1-rc1 <= Linux Kernel <= 6.3.1。

        3. 搭建安全的测试环境:在隔离的环境中(如虚拟机)搭建受影响的软件或系统的特定版本。确保测试环境与生产环境完全隔离,以防止潜在的风险。

一旦在易受攻击的系统上启动了PoC,该系统可能会处于不稳定状态,并且内核内存可能被破坏。所以需要在专用系统上测试PoC,以避免可能的数据损坏。

环境: ubantu23.04 系统内核为6.2.0-20

        4. 研究漏洞原理和利用方法:阅读相关的技术文章、研究论文,理解漏洞的具体原理和潜在的利用方式。查找相关的安全论坛和社区,了解已知的漏洞利用方法或PoC(Proof of Concept)。

与iptables类似,Netfilter是Linux内核提供的一个框架,它允许以自定义处理程序的形式实现各种与网络相关的操作,可以提供数据包的过滤、转发、地址转换NAT功能。Linux内核版本v5.14 — v6.6的netfilter 子系统nf_tables组件中存在释放后使用漏洞,由于在nft_verdict_init()函数中,允许正值作为hook判决中的丢弃错误,因此当NF_DROP发出类似于NF_ACCEPT的丢弃错误时,nf_hook_slow()函数可能会导致双重释放漏洞,从而本地低权攻击者可利用该漏洞将权限提升为root,对目标进行恶意攻击。

        5. 安全测试漏洞:在控制的环境中尝试复现漏洞,记录测试过程和结果。使用漏洞扫描工具或手动测试方法来验证漏洞的存在。

exp下载地址:https://github.com/Liuk3r/CVE-2023-32233

执行以下命令,安装构建相关依赖项:

sudo apt install gcc libmnl-dev libnftnl-dev

运行以下命令以构建 PoC 二进制文件:

gcc -Wall -o exploit exp.c -lmnl -lnftnl

未提权前执行越权命令查看文件被拒绝

查看当前内核版本,在受影响范围内

进入根目录

执行已经编译好的EXP文件进行提权

可以看到权限已经提升到root

此时输入id命令可以看到权限已经为root,再次访问文件可成功

        6. 分析和评估漏洞影响:评估漏洞对系统安全性的具体影响,包括数据泄露、系统崩溃等。考虑漏洞可能被恶意利用的方式和潜在后果。

Linux Kernel 的 Netfilter nf_tables子系统存在释放后重用漏洞,由于匿名集处理不当,当处理批处理请求时,Netfilter nf_tables中存在use-after-free漏洞,攻击者可利用该漏洞对内核内存执行任意读写操作,成功利用该漏洞的本地用户可获得root权限执行任意恶意操作甚至导致系统崩溃。

        7. 研究和应用缓解措施:根据官方或社区的推荐,应用漏洞的补丁或缓解措施。测试缓解措施的有效性。

目前该漏洞已经修复,受影响用户可通过升级系统或禁用受影响的 nf_tables 内核模块可以缓解此漏洞。

在root权限下禁用nf_tables内核模块,然后使用命令reboot重启系统。

重启系统后重新复现漏洞,发现已无法提权成功。

禁用 nf_tables 内核模块会对依赖于该模块的功能产生一系列影响,谨慎操作。

可在管理员权限下通过命令modprobe nf_tables重启改模块,并用lsmod | grep nf_tables查看是否成功启用。

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值