JavaScript Phishing
2016-03-21 22:46
375 查看
JavaScript Phishing
三好学生· 2016/01/27 14:43
0x00 前言
前段时间分享了JavaScript Backdoor技术,着重对其功能的开发、Bug的优化做了介绍,这次研究一下JavaScript Backdoor在实际渗透测试中的利用方法。0x01 简介
特点:通过cmd执行代码即可弹回shell
优势:
免杀
简便
较隐蔽
利用思路:
综合其优势特点,JavaScript作为Phishing Payload有着意想不到的效果,下面就结合相关漏洞做简要介绍
0x02 隐藏在vbs中
最简便的方法,将JavaScript的上线代码写到vbs中原始的JavaScript 上线代码:
0x03 隐藏在exe中
开发工具:VC6.0
需要注意以下细节:
1、使用ShellExecute, WinExec没有区别
通过两种方式执行cmd命令都可以2、cmd 参数细节
eg:cmd /c start再加上需要的cmd命令
3、转义字符
c++中存在转义字符,我们的命令中需要的转义字符如下:"需要用
\"表示
\需要用
\\表示
综上,c++的代码为
#include <windows.h> |
0x04 隐藏在dll中
开发工具:VC6.0
结合漏洞:
CVE-2015-6132
细节可参考: http://zone.wooyun.org/content/24877
CVE-2015-6132 ,是一个类似于dll劫持的漏洞,如果在特定word文档的同级目录下放置一个dll,那么在打开word文档并点击图标后会运行同级目录下dll的代码
如图
planted-mqrt.doc里面包含图标foo.txt,如果点击图标,那么会运行mqrt.dll中的代码,即弹框
当然,把word 文档改为rtf文档即可实现在打开文档后的自动触发
如果把mqrt.dll的payload改为JavaScript Backdoor,那么会怎么样呢?
下面我们就修改一下
方法也很简单,但也需要注意cmd的参数和转义字符的修改,关键代码如下:
打开CVE-2015-6132.rtf,没有任何异常反应
而这时我们的控制端已经弹回了shell,如图
即使此时关闭CVE-2015-6132.rtf,shell仍然可以继续操作
0x05 转换成shellcode
开发工具:msf、vc6.0
结合漏洞:
CVE-2015-5119&CVE-2015-5122
细节可参考: http://zone.wooyun.org/content/21586
使用
vc6.0测试msf shellcode的技巧:
1、以messagebox举例
msf:不难看出msf也存在转义字符
放在c++中测试msf shellcode,代码如下
2、将JavaScript Backdoor转换成shellcode
msf:1 |
放在c++中测试shellcode,代码如下
3、结合CVE-2015-5119&CVE-2015-5122
测试环境1、msf
2、修改原工程文件 ,使用Adobe Flash CS6 编译生成新的swf
如图新编译的swf使用浏览器打开,弹回shell
同样,将swf嵌入word、ppt、xls,均可弹回shell
此处细节略
0x06 结合Outlook漏洞
细节可参考: http://zone.wooyun.org/content/24657测试环境
如图,内容中包含一个docx的图标
现在双击打开,如图
点击确定后,接着弹框,如图,随后弹回shell
0x07 结合ie漏洞
结合漏洞:CVE-2014-6332
步骤:
1、将JavaScript同CVE-2014-6332结合,实现挂马
修改后的关键代码为:2、kali上开启SimpleHTTPServer
3、访问http://192.168.174.133/JavaScript.html
xp系统访问直接弹回shell如图
win7 x64访问会弹框
如图
0x08 小结
通过以上内容,结合最近流行的IE、Office等经典的钓鱼漏洞对JavaScript的用法做简要介绍,希望能让大家有所启发,JavaScript Backdoor在渗透中会发挥越来越大的作用。当然,上述漏洞的防御方法已经普及,对于普通用户来说,建议及时更新补丁安装最新杀毒软件和防火墙。
本文由三好学生原创并首发于乌云drops,转载请注明
相关文章推荐
- Servlet和jsp小应用
- 关于MVC中利用Javascript跳转页面的问题的备忘
- ExtJs布局之viewport
- 《JAVASCRIPT:THE COMPLETE REFERENCE》读书笔记 数据类型与变量
- 解决项目开发过程中JS 缓存问题
- js focus输入焦点和判断邮件地址是否有@
- 7.5 Javascript:表单验证-正则补充
- ExtJs布局之BOX
- Spiral Matrix
- ExtJs布局之border
- JSP
- ExtJs布局之table
- javascript注入
- 同时使用jsp与thymeleaf
- ExtJs布局之Column
- 同时使用jsp与thyme leaf
- JavaScript 异步编程的四种方法
- TweenMax的小用法
- 快速获取网页的部分元素(不用selenium,用js)
- js实现30秒内禁止重复点击发送验证邮件