利用Azure静态网站与IPFS投递器实现载荷分发
红队评估通常涉及通过电子邮件进行网络钓鱼或直接呼叫目标的社会工程活动。目标列表通常在行动早期从LinkedIn、Hunter.io、ZoomInfo等公开平台收集。
最终目标是通过向目标群体投递载荷来获取内部网络访问权限。IPFS(星际文件系统)是一种旨在创建去中心化点对点网络存储和共享数据的协议,本文将展示如何利用Azure环境在虚拟机上设置IPFS节点托管载荷,并通过克隆网站实现社会工程攻击。
免责声明:本文仅用于教育目的,演示威胁行为者如何利用这些技术进行社会工程攻击。请负责任地使用,不要进行任何非法活动!
目录
- Azure虚拟机设置
- Azure静态网站管理
- 开发环境设置
- 代码部署
- 资源
Azure虚拟机设置
创建Azure VM
我们将使用Azure VM安装IPFS。在云环境红队系列中,我们已涵盖部署VM的流程。以下是设置VM并连接的相关步骤链接:
- 启动虚拟机(VM)
- 连接VM
安装IPFS
设置虚拟机并连接后,从IPFS分发站点下载Kubo(go-ipfs)发行版。Kubo是用Go编写的IPFS软件包,提供与IPFS网络交互所需的所有功能。
选择与Azure机器兼容的Linux x64架构,使用wget下载文件:
|
|
解压文件并移动到"kubo"目录,以root权限运行安装脚本:
|
|
运行ipfs
命令启动服务。首次运行时需初始化节点:
|
|
初始化后会生成内容标识符(CID),用于节点身份识别。启动守护进程:
|
|
可使用Screen工具在后台运行守护进程。
IPFS Web界面
通过localhost:5001/webui访问Web界面。为避免在VM防火墙中开放端口,可使用本地端口转发从测试机访问:
|
|
上传文件后获得CID哈希,可通过公共网关访问文件。建议使用Cloudflare IPFS网关提升可信度:
|
|
设置Azure静态网站
在Azure门户中搜索"Static Web Apps"并创建新应用。填写项目详情包括订阅和资源组,选择免费托管计划。完成部署后通过概述页面查看站点详情。
克隆网站
使用Chrome扩展(如Save Page WE或SingleFile)克隆目标网站。本例以Firefox下载页面为例,保存为HTML文件后修改代码替换下载链接为IPFS载荷链接。
开发环境设置
安装NodeJS和NPM
从Node.js官网下载安装包,确保将node.js和npm添加到系统环境变量中。
安装SWA CLI工具
使用npm安装Azure静态Web应用CLI工具:
|
|
代码部署
通过开发者工具查看下载按钮的HTML ID,在Visual Studio中替换原始下载链接为IPFS URL。提供两种修改方式:
HTML直接替换:
|
|
JavaScript动态替换:
|
|
使用swa登录Azure门户获取部署会话,创建配置文件后通过部署令牌部署代码。确保项目目录结构正确,HTML文件命名为index.html。
最终部署命令:
|
|
不同浏览器对可执行文件的处理方式不同:Edge和Firefox直接安装,Chrome会显示"另存为"对话框。通过定制域名可进一步提升伪装可信度。
本文完整演示了在Azure VM上设置IPFS节点、克隆网站并通过Azure静态网站投递载荷的技术流程,为红队评估提供实用的技术参考。
资源
- 通过Cloudflare和IPFS发布dcorelabs.com
- IPFS载荷投递
- 使用Azure容器实例运行IPFS节点
- 将IPFS用于攻击操作
- 威胁行为者快速采用Web3 IPFS技术
- 无需GitHub Action从本地机器部署到Azure静态Web应用