Power-Pwn第三方集成:与Burp Suite协同进行渗透测试

【免费下载链接】power-pwn An offensive and defensive security toolset for Microsoft 365 Power Platform 【免费下载链接】power-pwn 项目地址: https://gitcode.com/GitHub_Trending/po/power-pwn

Power-Pwn是一款针对Microsoft 365 Power Platform的攻防安全工具集,它能帮助安全测试人员发现和利用Power Platform中的安全漏洞。本文将详细介绍如何将Power-Pwn与Burp Suite集成,实现高效的渗透测试工作流,提升对Power Platform环境的安全评估能力。

为什么选择Power-Pwn与Burp Suite协同工作

Power Platform作为Microsoft 365生态的重要组成部分,包含Power Apps、Power Automate、Power BI等服务,其安全风险日益受到关注。Power-Pwn专注于Power Platform的安全测试,而Burp Suite是Web应用渗透测试的行业标准工具,两者结合可以:

  • 利用Burp Suite强大的流量拦截和修改能力,分析Power-Pwn发起的API请求
  • 通过Burp Suite的插件生态,扩展Power-Pwn的测试功能
  • 实现对Power Platform服务的深度安全评估,发现潜在的权限绕过、数据泄露等问题

准备工作:安装与配置Power-Pwn

首先需要安装Power-Pwn工具集。可以通过以下命令克隆仓库并安装依赖:

git clone https://gitcode.com/GitHub_Trending/po/power-pwn
cd power-pwn
pip install -r requirements.txt

Power-Pwn提供了丰富的命令行功能,通过python src/powerpwn/main.py --help可以查看所有可用命令。下图展示了Power-Pwn的帮助菜单,包含了数据转储、租户侦察、后门安装等多个功能模块:

Power-Pwn帮助菜单

配置Burp Suite代理

要实现Power-Pwn与Burp Suite的协同工作,需要配置Power-Pwn通过Burp Suite发送请求。这可以通过修改Power-Pwn的请求处理代码实现。Power-Pwn使用src/powerpwn/powerdump/utils/requests_wrapper.py处理HTTP请求,我们可以在此处添加代理配置:

# 在init_session函数中添加代理配置
def init_session(token: str) -> requests.Session:
    session = requests.Session()
    session.headers = {"accept": "application/json", "Authorization": token, "User-Agent": TOOL_NAME}
    # 添加Burp Suite代理
    session.proxies = {
        "http": "http://127.0.0.1:8080",
        "https": "http://127.0.0.1:8080"
    }
    return session

配置完成后,Power-Pwn的所有HTTP请求将通过Burp Suite代理发送,便于进行流量分析和修改。

实战案例:使用Burp Suite分析Power Automate流量

Power Automate(原Microsoft Flow)是Power Platform中的工作流服务,可能存在安全配置不当的风险。下面通过一个实际案例,展示如何使用Power-Pwn结合Burp Suite分析Power Automate的安全问题。

步骤1:使用Power-Pwn导出Power Automate流程

首先使用Power-Pwn的dump命令导出目标租户的Power Automate流程:

python src/powerpwn/main.py dump --tenant-id <tenant-id> --output-dir ./power_dump

步骤2:在Burp Suite中拦截Power-Pwn请求

启动Burp Suite,确保代理配置正确。然后使用Power-Pwn的tenant-mcp-recon命令发现租户的MCP服务器:

python src/powerpwn/main.py tenant-mcp-recon --tenant-id <tenant-id>

此时,Burp Suite将拦截Power-Pwn发送的API请求,可以查看请求详情,包括URL、 headers和请求体。

步骤3:分析Power Automate流程的安全配置

通过Power-Pwn导出的流程数据,结合Burp Suite拦截的请求,可以分析流程的触发条件、使用的连接器权限等。例如,下图展示了Power Automate中配置的恶意流程,包括勒索软件、数据泄露等恶意操作:

Power Automate恶意流程

步骤4:利用Burp Suite修改请求,测试权限控制

通过Burp Suite修改Power-Pwn发送的请求,尝试访问未授权的资源或执行敏感操作。例如,修改流程的触发URL,测试是否存在访问控制漏洞:

HTTP请求配置

Power-Pwn与Burp Suite集成的高级技巧

使用Burp Suite插件扩展Power-Pwn功能

Burp Suite的插件生态可以进一步扩展Power-Pwn的测试能力。例如,可以开发自定义Burp插件,自动识别Power Platform特有的漏洞模式,如不安全的连接器配置、过度宽松的权限设置等。

结合Burp Suite的Intruder功能进行暴力测试

利用Burp Suite的Intruder功能,可以对Power Platform的API端点进行暴力测试,发现隐藏的功能或敏感信息。例如,对Power Apps的API端点进行路径枚举,寻找未公开的功能。

导出Burp Suite的测试报告

完成测试后,可以导出Burp Suite的测试报告,与Power-Pwn生成的报告结合,形成完整的安全评估文档。Power-Pwn的gui命令可以生成交互式HTML报告,展示发现的资源和漏洞:

python src/powerpwn/main.py gui --input-dir ./power_dump --output-dir ./report

总结

通过将Power-Pwn与Burp Suite集成,安全测试人员可以充分利用两者的优势,对Microsoft 365 Power Platform进行全面的安全评估。Power-Pwn提供了针对Power Platform的专用测试功能,而Burp Suite则提供了强大的流量分析和修改能力,两者结合可以显著提升渗透测试的效率和深度。

无论是发现Power Automate流程中的恶意操作,还是测试Power Apps的访问控制,这种集成方案都能帮助安全团队更好地保护组织的Power Platform环境。随着Power Platform的广泛应用,掌握Power-Pwn与Burp Suite的协同使用技巧,将成为安全测试人员的重要能力。

【免费下载链接】power-pwn An offensive and defensive security toolset for Microsoft 365 Power Platform 【免费下载链接】power-pwn 项目地址: https://gitcode.com/GitHub_Trending/po/power-pwn

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐