AWS准备工作
(先创建一个账户 登陆上AWS 记住刚创建是以ROOT的身份登录的)
IAM
比如inux或者windows,他们都有一个最高权限的账户 root/administrator,这里也有,感觉有点类似于域的概念,AWS最高权限是ROOT,他有全部权限什么都可以操控,但是如果一直用root大家也知道,如果被黑别人都不用提权了,啥都有了,所以有了IAM。
而IAM呢,你可以创建一个用户并给它分配一个服务,比如我想给他分配一个S3的服务权限,那么会要求你设置账号密码,然后给你生成一个专属的URL,你可以通过这个URL登录这个账户,也称之为IAM账户,你在本地搭建tomcat或者nginx等服务的时候,一般启动这些服务的用户都是www-data,实际上就类似于这个,而像域的概念是因为,作为ROOT你可以修改很多东西,如下图。

你可以创建用户组,用户,角色,策略等等,感觉和域的概念很像,其实linux/windows都一样,角色分配也可以,策略也能做,像是做基线的感觉,只是这里是统一化管理,像是分发的感觉,而不是在同一台机器上操作,所以感觉像域控,为了后续的学习,这里需要创建一个管理员账户。
创建账户

提供 AWS 管理控制台访问就是让 IAM 用户可以通过 Web 页面(AWS 控制台)操作,而不仅仅是使用 API,这里全部开启,学习阶段web和api都要了解。
点击下一步 会到设置权限处

直接创建一个组,权限就选第一个,这里是为了创建一个拥有administrator权限的组,如果以后还想创建administrator权限的用户就可以直接丢进这个组,当然如果不考虑以后,可以自行点击最右边的直接附加策略,附加上去一个administratoraccess就行(跟windows/linux账户管理的架构其实非常非常像)
这个页面最下面其实还有一个设置边界权限,其实也很好理解,adminisratoraccess是不是有了全部的权限,如果我想让某个 IAM 用户只能管理 EC2,而不能管理 S3,即使他加入了管理员组,就可以在这里设置。

这里我们用不到,直接下一步就行。

这里仅仅是添加标签,类似于用户组还有用户的描述把。直接点击创建用户。

角色
介绍一下角色这个模块

正常会生成两个默认角色 主要是有个ARN

每个角色都有一个ARN 类似于linux的/etc/passwd以及windows的SID把 目前了解到的概念就是 如果要学习云渗透 就必须了解这个IAM角色的概念 后续提权会用到这里 我了解到的概念就是:IAM 角色可以让 AWS 服务(如 EC2, Lambda)自动访问 AWS 资源,而不需要 API Key。其实也就是一个服务如果需要另一个服务的资源就可以设置这个,访问如下
| |
可以获得临时凭证,但是如果你把这个角色给了EC2,你就必须在登录EC2的状态下才可以访问这个URL,同时可以获得一个临时的凭据,而且这是一个特殊的IP(169.254.169.254),仅对当前实例EC2可见,外部无法访问,IMDS自动识别你的 EC2 实例,并返回当前绑定的IAM角色的临时凭证。
理解就是非常安全和方便,如果像上面一样用APIKEY来访问服务,而APIKEY又是一个长期存在的东西,如果被盗了就很容易被攻击者长期持有,而这个一般只存活一个小时,后续就算拿到了凭证也无法登陆了,无法持久化的去操控。
IAM渗透进阶(暂停)
基础概念学完了 接下来关于渗透部分还有下面这些 目前留空因为还没开始学渗透 把大纲放在这
1️⃣ 识别 IAM 账户信息
aws sts get-caller-identity获取当前 IAM 账户信息aws iam list-users及aws iam list-roles识别账户内用户和角色- 通过 IAM ARN 判断 AWS 账户归属
2️⃣ IAM 权限提升(Privilege Escalation)
iam:AttachUserPolicy绑定管理员权限 (AdministratorAccess)sts:AssumeRole切换到更高权限的角色iam:CreateAccessKey创建新 API Key 访问 AWSiam:PassRole+ec2:RunInstances通过 EC2 绑定高权限角色
3️⃣ 利用 IAM 角色
aws sts assume-role获取临时权限- 读取 EC2 实例的 IAM 角色 (
169.254.169.254/latest/meta-data/iam/security-credentials/) - SSRF 读取 IAM 角色凭证(IMDS v1 漏洞)
- IMDS v2 保护机制及绕过方法
4️⃣ IAM 访问策略分析
- 解析
aws iam list-policies获取的策略内容 - JSON 格式的 IAM 策略解读
- 通过
aws iam get-policy-version查看策略版本历史 - 发现过度授权的 IAM 角色(Overly Permissive Policies)
5️⃣ IAM 角色滥用
aws iam list-attached-role-policies检查 IAM 角色的附加策略- 通过
sts assume-role获取跨账户访问权限 - 发现外部身份提供者(OIDC/SAML)配置错误
6️⃣ IAM 账户访问 AWS 资源
aws s3 ls枚举 IAM 账户对 S3 的访问权限aws ec2 describe-instances检查 EC2 资源访问情况aws lambda list-functions查看 Lambda 函数绑定的 IAM 角色
7️⃣ IAM 账户数据泄露
- 公开 S3 存储桶 (
aws s3 ls s3://target-bucket --no-sign-request) - CloudFormation/Terraform 配置文件泄露
aws iam get-account-authorization-details获取 IAM 账户权限详情aws iam list-access-keys检查 AWS API Key 泄露
8️⃣ 防御与检测
- 监控 AWS CloudTrail 日志,检测 IAM 账户滥用
- AWS GuardDuty 监测异常 IAM 行为
- 限制 IAM 角色的
sts:AssumeRole访问范围 - 启用 IAM 访问分析器(IAM Access Analyzer)
EC2
你可以把 EC2 理解为 AWS 提供的“云端虚拟机”,主要包括:
- 实例(Instance):一台云服务器,可以启动、停止、重启。
- AMI(Amazon Machine Image):EC2 的操作系统镜像,比如 Ubuntu、Amazon Linux、Windows Server。
- 实例类型(Instance Type):决定 CPU、内存、带宽,比如
t2.micro(免费)。 - EBS(Elastic Block Store):EC2 的硬盘存储,相当于云端磁盘。
- 安全组(Security Group):EC2 的防火墙规则,控制允许哪些 IP 访问。
- 公有 IP & 私有 IP:
- 公有 IP:互联网上可以直接访问的 IP。
- 私有 IP:只能在 VPC(AWS 内部网络)中访问。
直接创建一个实例 search EC2找到直接进入创建页面 配置如下就行了 用免费版本的话实例一个月不超过750小时就免费 750个小时相当于31天多了 肯定会有疑问 直接写免费不就行了吗 但是EC2支持创建多个实例 创建两个 那每个就只允许开375个小时了 配置如下(因为国外大部分用的都是 Amazon Linux 而且集成也方便 所以这里创建这个 还可以学习一下AmazonLinux和普通不一样的地方)




到此就可以了 用SSH连上去就行 主要是知道EC2是什么 体验一下就行
还有一个 Security Group 这个跟你在国内的aliyun之类的非常像,只不过aliyun那些会自动把这个防火墙给你开启,导致你在本机开了端口还要去aliyunweb页面开端口,感觉就是一个防火墙。
接着是一个EBS,我对他的理解就是类似于vmware虚拟机,当你需要给你的虚拟化的vpc扩充硬盘的时候,可以挂载一个上去,当然这个硬盘是虚拟化的,他不会消失,就相当于又插上去了一个硬盘,可以独立存储东西,很方便,就是一个独立的云硬盘。
这可能就是云服务的概念,而EFS呢,是通过NFS共享的硬盘,就是不知道通信会不会卡,不过这样确实挺不错的。
S3
S3 是对象存储,不是传统的文件系统
实际利用比如aliyun已经有很多了,比如常见你文件上传的时候,他会上传到oss服务,读取文件也是从那边读的,相当于你怎么上传都传不到服务器本地,而是其他的云端。我感觉这个S3其实跟OSS没啥区别。
S3 与 OSS 的不同点
| 特性 | AWS S3 | 阿里云 OSS |
|---|---|---|
| 存储桶名称 | 全局唯一 | 同区域唯一 |
| 区域限制 | 必须选择 AWS 区域(如 us-east-1) | 必须选择阿里云区域(如 cn-hangzhou) |
| 存储类型 | 标准(Standard)、低频(IA)、Glacier | 标准、低频、归档、冷归档 |
| API 兼容性 | S3 API | 部分兼容 S3 API,但有阿里云专有 API |
| 默认访问权限 | 默认私有,需要手动修改 | 默认私有,需要手动修改 |
| 跨区域复制 | 支持跨 AWS 区域复制 | 支持跨阿里云区域复制 |
默认是私有的 你可以存一些备份资料什么的,其他人也看不见,接下来操作S3的话,需要学习创建S3存储桶,通过URL和AWSCLI进行操作尝试。
创建S3存储桶

配置如下



创建好之后找到创建的存储桶 随便传上去一个文件

然后再存储桶策略处写入下面的策略
| |
因为默认情况下 只允许当前用户访问上传的资源 但是目前为了学习 全部开放比较好 所以允许存储桶策略控制之后 还要写规则来允许外部访问存储桶 至此就可以访问到图片了

AWS CLI
先检查 AWS CLI 是否安装
执行:
| |
如果没有安装,可以参考官方文档:
- Linux/macOS:
| |
- Windows: 下载 AWS CLI
配置 AWS CLI(绑定你的 AWS 账户)
你需要配置 Access Key 和 Secret Key(可以在 IAM 里创建),然后执行:
| |
然后按提示输入:
- AWS Access Key ID:你的 AWS 访问密钥
- AWS Secret Access Key:你的 AWS 密钥
- Default region name:
ap-southeast-1(你选的区域) - Default output format:
json(默认 JSON,推荐)

区域在主页 两个key都在用户的访问密钥处

S3 CLI 常用操作
下面是 S3 常用命令,结合你学习的存储桶权限,可以直接在终端测试操作!
创建 S3 存储桶
| |
mb = make bucket(创建存储桶)
列出存储桶
| |
上传文件到 S3
| |
cp = copy(拷贝文件)
如果想递归上传整个文件夹:
| |
下载 S3 的文件
| |
列出存储桶中的文件
| |
删除 S3 存储桶中的文件
| |
删除整个存储桶
| |
rb = remove bucket,--force 代表删除所有内容后再删除存储桶。
Lambda
Lambda 就是 一个能自动运行的代码托管环境,它的作用类似:你写了一段 Python 代码 → 但不需要开服务器运行
- 事件触发器(Event Source):Lambda 代码什么时候执行?
- S3 事件(上传文件后自动执行 Lambda)
- API Gateway(用户访问 API 时触发)
- CloudWatch 事件(定时触发)
- SNS / SQS 消息(消息触发 Lambda)
运行环境(Runtime):
- Lambda 支持多种语言(Python、Node.js、Go、Java、C#、Ruby)。
- 你需要选择一个运行时,比如
Python 3.9。
执行时间限制:
- Lambda 最大执行时间 15 分钟。
- 代码执行时间越长,费用越高。
直接搜索Lambda就能找到 在刚开始进入的时候 会有教程按个走就行了 慢慢看 其中比较有意思的是响应事件 正如上面列出来的一样 S3事件API事件都可以触发Lambda函数 挺有意思的

默认就可以了 先添加一个触发器 主要是熟悉一下流程就行


开始测试 上传一个文件到S3
| |

可以看到触发了
当然可以到 CloudWatch 看详细信息


具体的事件 当然我们只能看到他被触发了 无法确定是由什么事件出发的 结果是什么
回到Lambda 写入如下代码点击 Deploy 保存代码
| |
重新触发一次 不论是上传文件触发事件 还是 点击测试代码都可以触发
这里是点击测试代码的日志 可以看到 返回值的json跟测试里面的json一模一样 被记录下来了

这里是上传文件到S3存储桶出发的日志 里面有详细的awscli的模块 也有上传文件的名称 也有存储桶的名称还有文件大小等等

event(事件数据)
event是 AWS 触发 Lambda 时自动传进来的数据,比如:
- S3 触发 Lambda,
event里会包含 上传的文件名、存储桶名。 - API Gateway 触发 Lambda,
event里会包含 HTTP 请求信息。 - CloudWatch 触发 Lambda,
event里会包含 定时任务信息。
故此我们输出了event才有s3存储桶的很多信息 包括上传者的IP都有
context(执行环境)
context 不是事件数据,而是 AWS 运行 Lambda 时的一些环境信息,比如:
context.function_name→ Lambda 函数名称context.memory_limit_in_mb→ 分配的内存context.aws_request_id→ 当前请求的 IDcontext.get_remaining_time_in_millis()→ Lambda 剩余的运行时间
context包含如上 如果想看一下 也可以放到函数里面进行调用
AWS CLI
首先,确保你已经正确 配置 AWS CLI(aws configure),并且有足够的权限。
列出所有 Lambda 函数
| |
这个命令会返回你的 Lambda 函数列表,你应该会看到 MyFirstFunction。
获取 Lambda 详细信息
| |
查看 Lambda 代码存储位置、运行时(Python 3.9)、执行角色等信息。 还会返回代码的ZIP压缩包的连接,可以下载。
手动调用 Lambda
你可以用 CLI 直接触发 Lambda(相当于控制台的“测试”功能)。
| |
Lambda 运行完后,结果会存到 response.json文件。
如果用的是 AWS CLI v2 新版本的 需要在后面加上 –cli-binary-format raw-in-base64-out 让 AWS CLI 不做 base64 编码,直接发送 JSON 作为请求体,Lambda 就能正确解析了。
查看结果
| |
你应该会看到:
| |
如果你的 Lambda 代码会打印 event,你也会看到它解析输入数据的日志。
更新 Lambda 代码
假设你有一个新的 lambda_function.py,可以这样上传:
| |
这个命令会 直接更新 Lambda 代码,你不需要去 AWS 控制台手动上传。
更新 Lambda 配置
如果你想 修改 Lambda 运行时、内存、超时时间,可以:
| |
这里把 Lambda 的 内存改为 256MB,超时时间改为 30 秒。
删除 Lambda 函数
如果你不需要这个 Lambda 了,可以删除:
| |
注意:这个操作是不可逆的!
编写上传 Lambda代码
基础编写就不提了 进阶会提到boto3这个库 需要学习
| |
| |
| |
CloudTrail
CloudTrail = AWS 账户的操作记录系统
- 记录xxxx谁(用户、角色、服务)在 AWS 做了什么(创建、修改、删除资源)。
- 记录xxxx什么时候、从哪里(IP 地址、地理位置)访问了 AWS。
- 记录xxxxAPI 调用(通过 AWS 控制台、CLI、SDK 执行的所有操作)。
简单理解: CloudTrail 就像 AWS 账户的“黑匣子”,能记录所有 AWS 操作,帮助你 排查问题 & 发现异常。
主要是行为审计,非常像堡垒机对运维人员的任何行为做出的审计记录,

随便创建一个进来就能看到了,这里面都能看到,但是比如调用S3的接口执行ls或者下载文件的话,是不会被记录的,因为没有开,如下图 数据事件处是可以开的,但是要收费,就不管了,实际上知道怎么调用接口之类的就行了,下面看一下AWSCLI。

AWS CLI
查询最近的 CloudTrail 事件
| |
查询最近 10 个事件,默认是 所有管理事件(不包含 S3 数据事件)。
按事件名称查询
| |
过滤出所有 CreateBucket 事件(即创建 S3 存储桶的操作)。
| |
尝试查找 S3 文件下载(GetObject)事件,前提是你已经启用了 S3 数据事件。
按 IAM 用户查询
| |
查找 MentalityXt 用户最近 10 个操作。
按资源名称查询
| |
过滤出所有操作 mentalityxttest S3 存储桶 的事件。
按时间范围查询
| |
查询 2025 年 3 月 3 日的所有 CloudTrail 事件。
列出所有 CloudTrail 跟踪(Trails)
| |
列出 AWS 账户内所有的 CloudTrail 追踪(Trails)。
获取某个 Trail 的详细信息
| |
查询 CloudTrail 追踪的详细信息,包括 S3 日志存储位置。
停止 CloudTrail 记录
| |
停止 management-events Trail 的日志记录(不会删除已存储的日志)。
重新启动 CloudTrail 记录
| |
重新启动 management-events Trail 的日志记录。
下载 CloudTrail 事件日志
| |
列出存储在 S3 里的 CloudTrail 日志(如果你启用了 S3 存储)。
| |
下载 CloudTrail 日志文件并解压,可以本地分析。
上面列了一堆我感觉就第十条最好用,它可以下载所有的日志,再慢慢分析一样的,像上面如果一直查在数据量特别大的情况下好用一些,但是数据量不是很大的话还是全部下载下来分析比较好,目前记录AWSCLI操作的命令还算比较少,其实这也是为了一个场景,当获取到泄露的Access Key 和 Secret Key的时候就可以利用API来获取到一些信息,所以这个实际上不用死记硬背,但是得知道有这些API的请求方法。
CloudWatch
CloudWatch 是 AWS 的 监控 & 日志管理服务,可以:
- 监控 AWS 资源(EC2、S3、Lambda、RDS 等)
- 收集 & 存储日志(Lambda、EC2、CloudTrail 等日志)
- 设置告警(比如 CPU 超过 80% 时触发告警)
- 可视化数据(创建 Dashboard 进行展示)
和上一个相似,上一个主要是用户的操作审计等等,而这个是对资源方面的监控,如果用过安全设备,啥设备都行,其实都有这一块,比如WAF、IPS/IDS、态势感知等等。
直接搜点开看两眼就行了,有时候接口方面的审计也能细化,在Lambda处实际上我们创建了一个并打开过一次,这里随便放点图把。

其他的这些东西 可以挨个点开看看 理解一下就行 另外
- CloudWatch 本身不记录 API 请求,但是 CloudTrail 记录 API
- 如果你想在 CloudWatch 里看到 API 日志,需要把 CloudTrail 事件存到 CloudWatch Logs
- 这样你就能用 AWS CLI 查询 API 调用日志了!
这里也不多赘述了,如果以后需要在AWS上搭建服务的话在了解,目前不需要了解。
在翻得时候我发现了一个有意思的地方,流量监视器,但是前提是得开一个EC2实例,我之前给他关了因为我学完就不咋用还可能会计费。所以下面一条数据流量没有。

当然如果光开启了只会收到流量包发不过去失败的情况的日志,不会有流量传输的日志。下面的方法是可以传过去的

注意左上角的位置,有点麻烦,这里就不搞了,值得一提的是这里也可以通过AWSCLI来设置及查询。我想到了一个场景,当目标的KEY泄露了,同时目标放着一个站点,这个站点用的人挺多的,可能通信没有加密也可能用了JS加密了(JS逆向可以解开加密),获得到别人的通信流量包的时候很容易知道他人的密码,或者捕获COOKIE危害性还是蛮大的。(实际上不行,只能记录源IP/目标IP 源端口/目标端口 传输协议(TCP/UDP/ICMP)数据包数量/字节数),那感觉除非是开发才用得到,像云安全之类的也需要开一下以外,就没啥大作用了。我发现学的这些东西实际上是攻防都在学,日志系统可以溯源应急梳理攻击链。
我上面画线的部分可以解决,AWS还有个WAF,可以自己写规则,当登录发包的请求里面存在username/passwd之类的敏感词的时候可以添加规则并捕获,但是要收费。

就算了 知道有这个东西就行了
VPC
- VPC 是 AWS 上的虚拟私有网络(Virtual Private Cloud)
- 你可以在 VPC 里创建 EC2、数据库(RDS)、负载均衡(ELB)等资源
- VPC 允许你控制网络拓扑(子网、路由表、安全组、NACL 等)
- 所有 AWS 资源都运行在某个 VPC 里
这个概念在我22年实习的时候就了解了,当时一直想买一台VPS用来开一些服务,但我发现VPC貌似比VPS便宜,而且感觉也差不多,最主要是想要那个公网IP。
VPC主要是一个网络环境。可以看下面,都是配置网络相关的。如果操作得当实际上可以搭建一个AWS内网横向靶场,双网卡的那种,挺有意思的。

在EC2那我也提到了这里好像跟aliyun那种不一样,aliyun那边自带防火墙这边都没有,结果在这里。

这里实际上我的理解也都是,可以都看看,VPC负责网络流量方面的事情,而EC2主要是处理计算方面的吧,比如给一个操作系统分配CPU、内存等等。
VPC 的防御端主要是做访问控制、流量管控,而攻击端则是尝试获取这些配置信息或绕过防御机制。
大概的理解都是这种 VPC的防御已经在上面的左边列出来了,而我们主要是攻方面的,接下来列出来一些重要的API接口,用来查询这些配置信息,前提是获得KEY。
| 服务 | API 作用 | 可能的攻击利用 |
|---|---|---|
| VPC | DescribeVpcs | 获取所有 VPC 的 CIDR、状态、默认 VPC 等信息 |
| 子网(Subnet) | DescribeSubnets | 查看所有子网的 IP 范围、可用区等 |
| 路由表(Route Table) | DescribeRouteTables | 获取当前 VPC 的路由配置,查看公网访问策略 |
| NACL(网络 ACL) | DescribeNetworkAcls | 查看当前 VPC 的 ACL 规则(入站 / 出站限制) |
| 安全组(Security Groups) | DescribeSecurityGroups | 获取 EC2 安全组规则,查找可能的开放端口 |
| 互联网网关(IGW) | DescribeInternetGateways | 获取 VPC 连接外网的方式,是否暴露公网 |
| NAT 网关 | DescribeNatGateways | 获取 NAT 代理信息,可能绕过公网限制 |
| VPN 连接 | DescribeVpnConnections | 获取 VPN 连接信息,可能尝试劫持 VPN |
| DNS 防火墙 | ListFirewallRules | 获取 DNS 防火墙规则,可能尝试绕过拦截 |
| 弹性 IP(Elastic IP) | DescribeAddresses | 获取当前账户绑定的公网 IP,寻找攻击目标 |
这些 API 都可以通过 AWS CLI 或 SDK 查询,例如:
| |
通过这些规则找到漏洞进行绕过就行。
- 创建新的安全组规则,放宽访问权限
- 创建隐藏的 IAM 账号,保留后门
- 修改 VPC 流量日志,隐藏访问记录
- 创建弹性 IP,绑定到自己控制的实例
RDS
RDS 主要用于 管理关系型数据库,它和自己部署 MySQL 的区别在于:
- 无需手动运维:AWS 自动管理 备份、补丁、监控、扩展。
- 高可用:可以 跨多个可用区(AZ)部署,保证故障时数据库可用。
- 安全性:可以使用 VPC 内网部署、加密存储、自动备份。
- 性能优化:支持 自动扩展、读副本(Read Replica)、Aurora 进行高性能读写。
这里到稍微重点的地方了,很多时候,开发者用的数据库都是用的云服务,这样更方便更加的安全,更加的便宜。
RDS 的关键概念
| 概念 | 作用 |
|---|---|
| RDS 实例 | 运行数据库的主机(相当于一台数据库服务器) |
| 数据库引擎 | 支持 MySQL、PostgreSQL、MariaDB、Oracle、SQL Server、Aurora |
| 子网组(Subnet Group) | 让数据库运行在特定的 VPC 子网 |
| 安全组(Security Group) | 控制 RDS 的访问权限(是否允许外部连接) |
| 参数组(Parameter Group) | 控制数据库的 配置参数(比如 MySQL 的 max_connections ) |
| 快照(Snapshot) | 备份数据库,可以随时恢复 |
| 读副本(Read Replica) | 用于读操作优化,减少主实例负载 |
| 多可用区部署(Multi-AZ) | 主数据库在 多个可用区(AZ) 运行,主备切换时不中断 |
搭建MYSQL
还是一样找到对应的控制台,目前要找的是RDS
按照我下面的配置走 不然要付费



剩下的随便点点 默认就行
连接MYSQL (AWSCLI)
第一种在EC2里面连接就不提了 就是正常连接就行
| |
主要是第二种通过AWSCLI
查询 RDS 实例
| |
返回结果示例:
| |
- 你可以从 “Endpoint” 获取 RDS 连接地址
- “DBInstanceStatus” 显示数据库状态
备份 RDS
| |
- 创建快照(备份)
删除 RDS
| |
- 立即删除数据库(跳过最后快照)
查询 RDS 是否允许公网访问
| |
返回结果示例(被拒绝了):
| |
开启 RDS 公网访问
| |

执行完成之后 就会返回mysql的地址了 允许公网访问
开启 RDS 的安全组策略
上面成功获得了这个RDS里的mysql的外部访问权限,但是实际上这里还被安全组阻止了,即使开启了,但是安全组也就是防火墙没有放行还是无法访问,这里将策略打开。
| |
result:
| |
记住VpcSecurityGroupId
开放权限
| |
成功


修改MYSQL密码
| |
上面这个可以直接把密码改了 然后连进去 看看数据 但是一般不允许这样 即使是合法渗透 这样也要出事 记一下就行了
至此RDS完毕了,AWSCLI加了一个入站规则,然后给RDS设置了可以被外部访问,现在通过WEB全删了吧。

第二个关闭RDS的远程访问
| |
操作步骤
- 进入 AWS 控制台 → RDS 服务。
- 在 数据库实例 列表找到你的数据库
database-1。 - 点击 “修改(Modify)”。
- 找到 “连接” 部分,取消勾选
Publicly accessible(公网可访问)。 - 选择 立即应用(Apply Immediately) 或 等待维护窗口。
- 保存更改 并 等待 RDS 实例重新启动。

我已经删了就不截图步骤了。
基础完结
至此基础部分全部完结 如果需要任何服务 做任何基线 任何访问控制 存储等等 通过上面学到的所有东西都可以完成 你还可以通过上面了解到的自行搭建一个免费的web服务器 并且架构非常棒 涉及各种应用
接下来可以走向很多方向 比如先把AWS certified Security考了 或者如下
- 走安全方向(深入 IAM、VPC、攻防演练、渗透测试)
- 走 DevOps & 自动化方向(Terraform、CI/CD、Serverless)
- 探索 AWS 专项服务(AI、物联网 IoT、区块链等)
CI/CD 在jenkins还有Azure DevOps等等里面比较多 我不清楚在AWS里面自带的DevOps是否能够完成渗透 下一步就是安全方向渗透测试