首页 > 其他分享 >Pacu:一款全面的AWS渗透测试框架

Pacu:一款全面的AWS渗透测试框架

时间:2023-07-01 18:22:47浏览次数:47  
标签:Pacu 模块 渗透 AWS EC2 测试 权限

亚马逊AWS云服务平台是全球最受欢迎的云平台之一。由于其成本低、灵活性强、速度快等优势,吸引了大量的企业客户,越来越多的企业开始将其技术资产转移到了云端。随着模式的转变,Sysadmin和DevOps团队也不得不面对随之而来的新安全挑战。这已不仅仅是安全意识缺失的问题。即使是一些大型企业(如GoDaddy和Uber)也曾因AWS配置缺陷,而陷入安全危机。因此,offensive security社区迫切需要一种结构化可提供全面测试AWS的工具。

Pacu:一款AWS渗透测试框架

Pacu(亚马逊河中的一种食人鱼)是一款全面的AWS安全测试工具包,专为攻击性安全从业者而设计。

虽然,市面上已有多款针对AWS的安全扫描器,但Pacu的设计与Metasploit相当。Pacu是由Python 3编写的,并采用了模块化的架构。此外,Pacu还为测试的每个过程都提供了相应的工具,几乎涵盖了一个完整的网络杀伤链条。

Pacu可以说是之前AWS红队合作的所有开发经验和研究的集合。自动化评估组件不仅可以提高效率,还可以使我们的评估团队在大型环境中更加全面透彻的了解目标应用。现在,你只需几分钟就可以完成手动枚举任务,而在此之前你可能需要数天甚至更长的时间。

该项目刚刚结束其私人测试版,并已作为一个开源项目正式发布在Github上。

特性

目前,Pacu有超过35个模块,其中包括侦察,持久性,权限提升,枚举,数据窃取,日志操作等。

Pacu可用于获取凭据,但它的真正价值并不体现于此,而是在后渗透测试阶段。在此之前,你完全可以通过其它手段来取得凭据,例如网络钓鱼,Web应用程序漏洞,密码重用等。Pacu能够测试S3 bucket配置和权限缺陷,并通过Lambda后门与其建立访问,妥协EC2实例,窃取数据,提升权限以及通过中断监控和日志记录来覆盖磁道,包括CloudTrail,GuardDuty等。

以下列举的是一些最受欢迎的模块:

confirm_permissions – 枚举当前帐户的已确认权限列表

privesc_scan – 滥用20多种不同的权限提升方法进一步的获取访问权限

cloudtrail_csv_injection – 将恶意公式注入CloudTrail CSV exports

disrupt_monitoring – 针对GuardDuty,CloudTrail,Config,CloudWatch和VPC,破坏各种监控和日志记录功能

backdoor_users_ [keys / passwords] – 通过向其他IAM用户帐户添加凭据来建立后门帐户访问权限

sysman_ec2_rce – 滥用AWS Simple Systems Manager尝试在各种EC2实例上获取root(Linux)或SYSTEM(Windows)级远程代码执行

backdoor_ec2_sec_groups – 向EC2安全组添加后门规则,以访问私有服务

架构

Pacu的开源和模块化架构为你提供更加轻松全面的审计。其通用语法和数据结构也使模块更加易于构建和扩展 – 而无需指定AWS区域或在模块之间进行冗余权限检查。本地SQLite数据库用于管理和操作检索到的数据,最大限度地减少API调用(和相关日志)。

会话的分离,可以避免两个用户或公司间在测试过程中发生混淆。报告和攻击审计也内置于框架中;Pacu通过命令记录和导出来协助文档处理,并为整个测试过程建立时间表。

此外,我们还向开发人员公开了一个内置的API,以方便对一些常见操作的访问。具体可参见我们的GitHub文档。

安装和设置

Pacu在macOS和Linux上都已得到官方的支持,只需将Python版本升级为3.5以上,以及使用pip3来安装一些库即可。

安装非常简单,克隆库运行安装脚本。安装脚本将为我们检查并下载所有必需的依赖项:

> git clone https://github.com/RhinoSecurityLabs/pacu> cd pacu> bash install.sh> python3 pacu.py

启动Pacu:

> python3 pacu.py

在Pacu启动后,系统将要求你提供会话名称,接着你可以使用’set_keys’命令来添加你获取的凭据并运行模块。

核心命令:

list/ls                             列出所有模块
search [cat[egory]] <search term>   按名称或类别搜索可用模块列表help                                显示此页面的信息help <module name>                  显示模块信息
whoami                              显示有关活动访问密钥的信息
data                                显示此会话中存储的所有数据。
data <service>|proxy                显示指定服务的所有数据
services                            显示已收集数据的服务列表
regions                             显示所有有效AWS区域列表
update_regions                      运行脚本更新区域数据库set_regions <region> [<region>...]  设置此会话的默认区域。
run/exec <module name>              执行模块set_keys                            向会话添加一组AWS密钥
swap_keys                           将当前活动的AWS密钥更改为另一个密钥exit/quit                           退出Pacu

几乎所有命令都是自动完成的。

更多内容请参考官方Pacu GitHub wiki页面。

使用Pacu,Spencer Gietzen实现了从权限枚举,特权提升,建立持久性,到最终获取EC2实例远程代码执行的过程。

后续开发

未来我们将继续添加更多更好用的功能,以下功能已在我们的计划之中:

内置安全网,用于避免一些意外的安全威胁

使用NoSQL的新数据库格式替换当前的SQLite

PinPoint SMS/email/mobile的实时信息推送

S3项目拦截和修改

RDS,Route 53,CloudFormation模块开发

标签:Pacu,模块,渗透,AWS,EC2,测试,权限
From: https://www.cnblogs.com/websec80/p/17519684.html

相关文章

  • aws 开源的微前端发现实现 frontend-discovery
    实际上此协议已经开放一段时间了(一年左右),里边一些实践还是很不错的,对于微前端实现的同学可以参考学习同时官方也提供了一个基于aws服务的参考实践,作者的一些演讲也是值得学习的参考格式如下图,可以看到包含了一些不错的设计,以及对于实际的部署维护,包含了元数据,多版本,fallback,......
  • 内网渗透基础学习
    1.内网渗透测试基础知识1.1内网工作环境内网环境分为工作组环境和域环境。工作组环境:工作组环境是最常见的资源管理方式,就是将不同的计算机按照功能/部门划分为不同的组,组内机器可以在网上邻居内相互访问,该方法适用在网络中计算机不多,资产规模小,且安全管理不严的情况下。域......
  • Amazon AWS
    全局基础设施概念:Networkingcompute: 存储(storage)数据库(Database)提供应用程序服务 ......
  • [渗透测试]—7.1 漏洞利用开发和Shellcode编写
    在本章节中,我们将学习漏洞利用开发和Shellcode编写的基本概念和技巧。我们会尽量详细、通俗易懂地讲解,并提供尽可能多的实例。7.1漏洞利用开发漏洞利用开发是渗透测试中的高级技能。当你发现一个软件或系统存在漏洞时,你需要编写一段代码来利用这个漏洞,从而在目标系统上执行恶意......
  • [渗透测试]—6.2 无线网络安全漏洞和攻击技术
    在本章节中,我们将学习一些常见的无线网络安全漏洞和攻击技术,如WPS漏洞、EvilTwin攻击等。我们将尽量讲解得详细、通俗易懂,并提供尽可能多的实例。6.5WPS漏洞Wi-Fi保护设置(WPS)是一种简化无线网络配置的技术,可以通过输入PIN码或按下物理按钮的方式快速连接无线网络。然而,WPS存在......
  • AWS Certificate SAA - Course 2.2 IAM & AWS CLI
    AWSAccessKeys,CLIandSDKHowcanusersaccessAWS?ToaccessAWS,youhavethe3optioins:AWSManagementConsole(password+MFA)AWSCommandLineInterface(CLI):protectedbyaccesskeysAWSSoftwareDeveloperKit(SDK)-forcode:protectedbyacce......
  • VulnHub-DC-7渗透流程
    DC-7kali:192.168.157.131靶机:192.168.157.151信息收集nmap-sV-A-p-192.168.157.151虽然有robots.txt等敏感文件泄露但是用处不大,但在网页底部有@dc7user搜索一番,在github找到了他的项目,在config.php内得到了登录用户与密码$username="dc7user";$password="Md......
  • F5Cloud第一期如何在AWS上部署F5 VE​
    F5Cloud第一期如何在AWS上部署F5VEF5VE初始化:配置VLAN,Selfip,LOCALDNS,NTP,创建设备组,创建信任关系peer,组建双机,同步配置......
  • VulnHub_DC-6渗透流程
    DC-6kali:192.168.157.131靶机:192.168.157.150修改host文件,添加192.168.157.150wordy不然解析不了域名信息收集发现是WordPress5.1.1,探测一下用户,使用wpscan对其用户进行枚举wpscan--urlhttp://wordy/--enumerateu另存为user.txt扫一下目录找到登录界面访问http......
  • 无线网渗透之Kali破解wifi密码
    kali破解wifi密码(WiFi渗透)一、前期准备工作1、将无线网卡挂载到Kali上​ 将无线网卡插到电脑上,如果弹出检测到新的USB设备,就将此设备连接到虚拟机。然后点击虚拟机--->可移动设备--->选择自己的网卡--->连接可能出现的问题:在可移动设备处无法连接无线网卡;解决:在虚拟机设置中......