96SEO 2026-08-10 05:04 31
如今的云环境很少因为“软件漏洞”被攻破,更多是栽在配置错误上。其中最典型、也最致命的一类问题就是服务端请求伪造——尤其当云端的元数据服务恰好暴露给了一个可以被攻击者控制的应用时。
使用者痛点:在实际渗透测试或红队演练中。往往难以定位 SSRF 的入口、不了解如何利用实例元数据窃取凭证,还有缺乏程序化的防御思路。
这篇文章以 CloudGoat 的 ec2_ssrf 场景为例。完整走一遍这样一条攻击链:攻击者利用一个存在 SSRF 的 EC2 应用去访问 AWS 实例元数据服务,窃取临时 IAM 角色凭证,再借助环境里散落的密钥不断横向移动与提权,最终完全接管整个 AWS 账户。不过,全程既讲清“怎么打”,也讲透“为什么能打通”和“该如何防”。
图 :今天聊聊要复现的完整 SSRF 攻击链
SSRF 的本质是:应用替攻击者发起了它本不该发起的网络请求。 当一个 Web 应用允许使用者传入一个 URL 并由服务端去访问它。却没有对目标做任何校验时攻击者就能把这个应用当成“跳板”,去触碰那些原本只有服务器内部才能访问的地址。
在 AWS 里最诱人的内部地址就是实例元数据服务,它固定位于 http://169.254.169.254. 这是一个仅能从实例内部访问的链路本地地址。它保存着实例的配置信息——其中最关键的是与该 EC2 绑定的 IAM 角色的临时安全凭证。
CloudGoat 是由 Rhino Security Labs 开发的一款开源、**“故意做得有漏洞”**的 AWS 安全训练工具。它用 Terraform 一键部署一套刻意存在配置缺陷的 AWS 资源,让安全从业者能在合法、可控的环境里练习发现、利用和修复常见的云安全问题。
/32);| 项目 | 说明 |
|---|---|
| 实验网站 | CloudGoat |
| 云服务商 | AWS |
| 攻击手法 | Ssrf |
| 攻击目标 | EC2 上部署带漏洞 Web 应用 |
| 最终目标 | #通过 IMDS 窃取 IAM 凭证 → 完全接管环境 |
This application is deliberately vulnerable and runs on an EC2 instance that has an attached IAM role. The following diagram shows resource relationships and our attack perspective:
图 :ec2_ssrf 场景的资源拓扑与攻击面
bypass-user)**.为什么给管理员权限?
This admin user is only used to **deploy** vulnerable environment. It does NOT represent compromised identity later in chain. In production you should follow principle of least privilege.
\endblockquote
wget https://releases.hashicorp.com/terraform/1.5.7/terraform_1.5.7_linux_amd64.zip
unzip terraform_1.5.7_linux_amd64.zip
chmod +x terraform
sudo mv terraform /usr/local/bin/
terraform --version
# => Terraform v1.5.7
TIPS:The exact version is not critical for CloudGoat;using a stable v1.x series avoids compatibility headaches.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version # should show aws-cli/2.x
aws configure --profile cloudgoat-user # paste AccessKey & SecretKey from step 1
git clone https://github.com/RhinoSecurityLabs/cloudgoat.git
cd cloudgoat
python3 -m venv venv
source venv/bin/activate
pip install -e .
cloudgoat --help
\end{code>
cloudgoat config whitelist # 输入你的公网 IP,例如 203.0.113.45/32
cloudgoat create ec2_ssrf --profile cloudgoat-user
\end{code>
The Terraform run will finish with a message similar to:
Apply complete!Resources: X added,Y changed,Z destroyed.
\end{code>
You will receive low‑privilege credentials for a user named **Solus**.
aws configure --profile solus # paste Solus's AccessKey & SecretKey
aws sts get-caller-identity --profile solus # verify ARN = ...:user/solus‑...
\end{code>
The attack chain consists of four identity escalations,each granting more permissions.
aws lambda list-functions --profile solus | jq -r '.Functions.FunctionName'
\end{code>
If any function’s description includes environment variables。inspect m:
aws lambda get-function-configuration --function-name cg-lambda-leak --profile solus | jq '.Environment.Variables'
\end{code>
You’ll see something like:
{
"EC2ACCESSKEYID": "AKIA....","EC2SECRETKEYID": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
}
\end{code>
-
Create a new profile with se keys:
language='bash'>
aws configure --profile ec2-leak-profile
\ end code>
枚举 EC₂:找到暴露在公网的 Web 应用
`bash
aws ec
We need correct formatting but final answer must be valid HTML;ensure all code blocks closed correctly.
Probably 娱乐ter to produce final output now fully formatted.
Let's rewrite cleanly without mistakes.
应用代替攻击者发起本不该发起的数据请求。当 Web 应用接受使用者提供 URL 并直接向该 URL 发起 HTTP 请求,却没有任何目标校验或白名单限制时就为恶意请求提供了跳板。说起来,
位于固定链路本地地址 http:="" 169.254.169.254 <="" style="'background:#eee;padding:0" tt="">。仅可从实例内部访问,其实,IMDS 保存实例配置信息。其中最关键的是绑定至该 EC 实例 IAM 角色所产生的一次性 .
="" solid="" style="color:#c00;" ⚠️ 关键点: 若能够通过SSR F读取IM DS,即等同捡到这台机器身份。随后所有API调用均以此IAM角色权限执行,其威力取决于角色授权范围。
二、CloudGoat 简介
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback