利用Azure静态网站与IPFS投递器实现载荷投递
免责声明:本文仅用于教育目的,演示威胁攻击者如何利用这些技术进行社会工程学攻击。请负责任地使用,切勿进行任何非法活动!
目录
Azure虚拟机设置
创建Azure VM
我们将使用Azure VM安装IPFS。在"云环境红队测试"系列中,我们已涵盖部署VM的流程。以下是相关步骤的参考链接:
- 启动虚拟机(VM)
- 连接到VM
安装IPFS
设置虚拟机并连接后,从IPFS分发站点下载Kubo(go-ipfs)发行版。Kubo是用Go编写的IPFS包,提供与IPFS网络交互所需的所有功能,包括运行节点、存储和检索数据以及与其他节点通信。
选择与Azure机器兼容的Linux x64架构,使用wget或curl下载文件:
|
|
解压文件并移动到"kubo"目录,运行安装脚本(需root权限):
|
|
运行ipfs
命令启动IPFS。
创建名为"files"的目录存储共享文件(可选,但有助于组织工作区)。示例使用Windows计算器(calc.exe)作为载荷,通过scp命令上传到VM:
|
|
首次设置IPFS节点时,运行ipfs init
。初始化后获得内容标识符(CID),作为节点身份的唯一指纹。配置信息保存在主目录的.ipfs/config文件中。
启动节点使用ipfs daemon
命令(前台运行)。可使用Screen在后台运行:
|
|
Swarm信息显示时,表示守护进程已就绪。
IPFS Web接口
通过localhost:5001/webui访问Web接口。为避免在VM防火墙中开放端口,使用本地端口转发从测试机访问:
|
|
上传文件后获得不可更改的CID哈希。修改文件会生成新哈希。通过"Share link"获取公共链接,用于嵌入克隆站点。
文件上传后需几分钟广播到IPFS网络。默认公共网关为https://ipfs.io,可更改为Cloudflare IPFS网络(更显合法):
|
|
停止守护进程:
|
|
Azure静态网站管理
设置Azure静态网站
在Azure门户中搜索"Static Web Apps",点击"Create static web app"。填写项目详情(订阅、资源组)。选择免费托管计划类型,部署详情选择"Other"。
完成后续默认选项配置,添加标签管理资源成本,最后点击"Create"部署。部署完成后点击"Go to resource"。
在"Overview"部分查看站点详情。访问URL显示默认页面,可使用自定义域名(本文未涵盖)。
克隆网站
克隆看似合法的网站(如客户端官网或下载页面)。推荐Chrome扩展保存完整网页(嵌入所有资源):
- Save Page WE
- SingleFile
示例克隆Firefox下载页面。创建"CloneSite"目录存放克隆页面,后续修改HTML代码将官方下载链接替换为IPFS载荷链接。
开发环境设置
安装NodeJS & NPM
从Node.js官网下载Windows安装包安装。确保node.js和npm.ps1文件已添加到系统环境变量Path中:
|
|
绕过PowerShell执行策略以运行npm.ps1脚本:
|
|
运行npm -v
检查版本。
安装SWA CLI工具
使用Static Web Apps CLI(swa)工具部署代码。安装前确保已安装Python 3.12(可从Microsoft商店获取)。
在Visual Studio中打开"CloneSite"目录,通过终端安装swa:
|
|
代码部署
将IPFS载荷URL嵌入HTML代码或使用JavaScript替换原始URL。通过浏览器开发者工具检查下载按钮的HTML “id”(如download-button-desktop-release-win),在Visual Studio中替换URL。
通过swa登录Azure门户获取会话:
|
|
认证后重定向到localhost:31337。有时页面未快速弹出,可重新运行命令。
选择租户后,.env文件创建于CloneSite目录,包含订阅ID和租户ID。运行swa
创建配置文件(保持默认设置)。
使用部署令牌部署应用(从Azure门户静态站点的"Manage Deployment Token"获取)。配置文件swa-cli.config.json创建于CloneSite目录。
确保index.html文件位于子目录(如firefox-clone-site),且文件名小写。部署命令:
|
|
下载按钮触发IPFS托管文件。浏览器行为各异:Edge和Firefox直接安装,Chrome提示"另存为"。社会工程学评估中,通过 pretext 说服用户运行可执行文件。
使用自定义域名可增强合法性(本文未涵盖)。
总结
本文介绍了在Azure VM上设置IPFS节点托管载荷文件,克隆网站并部署到Azure静态网站实现重定向至IPFS托管载荷的全流程。
资源
- 通过Cloudflare和IPFS发布dcorelabs.com
- 通过IPFS投递载荷
- 使用Azure容器实例运行IPFS节点
- 将IPFS用于攻击操作
- 威胁攻击者快速采用Web3 IPFS技术
- 无需GitHub Action从本地机部署到Azure静态Web应用
发布于R3d Buck3T · 最后更新于2025年6月23日
R3d Buck3T专注于渗透测试与漏洞评估(红队测试)。目标记录所学知识,与InfoSec社区分享。
作者:Nairuz Abulhul