华为云 ECS 弹性计算服务攻防
2025-3-13
| 2025-4-1
Words 1742Read Time 5 min
type
status
date
slug
summary
tags
category
icon
password

一、元数据

华为云元数据地址:http://169.254.169.254
常见需要查询的接口:
notion image
💡
需要注意直接访问是看不到openstack目录的。

/latest/meta-data/local-ipv4

用于查询弹性云服务器的固定IP地址。多网卡情况下,只显示主网卡的地址。
notion image

/latest/meta-data/hostname

用于查询弹性云服务器的主机名称,后面会追加.novalocal后缀
notion image

/latest/meta-data/instance-type

用于查询弹性云服务器的规格名称。
notion image

/latest/meta-data/placement/availability-zone

用于查询弹性云服务器的AZ信息。
notion image

/latest/meta-data/public-ipv4

查询弹性云服务器的弹性公网IP地址,多网卡情况下,只显示主网卡的弹性公网IP地址。
notion image

/latest/user-data

查询弹性云服务器的自定义数据。
notion image

/latest/meta-data/security-groups

查询弹性云服务器所使用的安全组名称。
notion image

/latest/meta-data/public-keys/0/openssh-key

查询弹性云服务器的公钥。
notion image

/openstack/latest/meta_data.json

用于查询弹性云服务器的元数据。
notion image
参数
参数类型
描述
uuid
String
弹性云服务器的ID。
availability_zone
String
弹性云服务器所在可用区。
meta
Dict
元数据信息,包括镜像名称、镜像ID、VPC ID等信息。
hostname
String
弹性云服务器主机名。<br><br>请参考以下链接为弹性云服务器去掉后缀.novalocal:<br><br>弹性云服务器的主机名带后缀.novalocal
enterprise_project_id
String
查询弹性云服务器的企业项目ID信息。

/openstack/latest/network_data.json

查询弹性云服务器的网络信息。
notion image

/openstack/latest/securitykey

获取临时的AK、SK。(还未配置所以无法查到)
notion image

/openstack/latest/user_data

查询弹性云服务器的自定义数据。
用户根据需要自行指定脚本和配置文件用于弹性云服务器初始化,详细操作请参考通过实例自定义数据配置ECS实例
若linux虚拟化使用密码方式,则保存注入密码的脚本。
notion image

/openstack/latest/password

查询弹性云服务器的密码(暂时不知道为什么访问没有结果)。
Windows系统使用keypairs创建弹性云服务器初始化时cloudbase-init用于保存密文密码。
notion image

二、服务器命令

华为云ECS只有登录服务器才可以执行命令,哪怕拿到了账号登录控制台也需要服务器的账号密码 但是拿到泄漏的AK SK可以控制服务器的关机启动和修改密码。
💡
相较于阿里云,华为云实测没有具体的短信以及控制台提醒
notion image
notion image
首先需要利用云服务器的地区和终端节点来爆破用户拥有的服务器 https://developer.huaweicloud.com/endpoint
notion image
如果地区正确,则响应如下:
notion image
需要用到id(命令里的server_id)和tenant_id(命令里的project_id)
notion image

2.1 修改服务器密码(无告警)

企业版

个人版

个人版修改密码后如下
💡
注意,云平台对于要修改的密码是有要求的
notion image
💡
重启服务器后修改生效

2.2 关闭服务器

💡
--project_id的添加可以避免服务器配置的的批量更改

2.3 启动服务器

notion image
💡
华为云购买服务器时默认的账号为root权限,如果用户未做权限限制,拿到shell就不用提权了

三、权限维持

3.1 新增服务器(有告警)

新建一台指定网段的服务器来作为跳板机
notion image
notion image

注入数据

在创建过程中,还想其中注入了脚本,可以利用这一点去拓展攻击手法。
notion image
可以通过SSH登录服务器查看
notion image
创建命令的解析
参数
描述
cli-region
当前可调用地域
project_id
项目ID
server.data_volumes.1.volumetype
云服务器数据盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配(默认SSD就行)。
server.data_volumes.1.size
数据盘大小
server.flavorRef
待创建云服务器的系统规格的ID.
server.imageRef
待创建云服务器的系统镜像,需要指定已创建镜像的ID,ID格式为通用唯一识别码(Universally UniqueIdentifier,简称UUID).
云服务器名称
server.nics.1.subnet_id
待创建云服务器所在的子网信息,需要指定vpcid对应VPC下的子网ID,UUID格式.
publicip.eip.iptype
弹性地址IP类型(默认:5_bgp)
server.publicip.eip.bandwidth.size
带宽大小
server.publicip.eip.bandwidth.sharetype
带宽的共享类型(PER-独享、WHOLE-共享)
server.server_tags.1.value
服务器标签值(随意写)
server.server_tags.1.key
服务器标签键(随意写)
server.user_data
创建服务器过程中注入的数据(注入内容需要BASE64编码)
server.vpcid
待创建云服务器所属虚拟私有云(简称VPC),需要指定已创建VPC的ID,UUID格式。
💡
部分需要带的参数是需要其他命令获取的,获取方式👇

查看VPC列表

获取VPCID
notion image

查询子网列表

查询SubnetsID
notion image

查询镜像列表

查询镜像的ID
notion image

查询规格详情和规格扩展信息列表

查询flavorRef
notion image

3.2 新增账号(有告警)

记录domain-id

notion image

管理员创建IAM用户

获得user-id。
参数
描述
cli-region
当前可调用地域
user.domain_id
查询IAM用户可以访问的账号详情可获得
user.pwd_status
IAM用户首次登录是否重置密码,默认需要重置。
账号
user.access_mode
IAM用户访问方式:<br>default:默认访问模式,编程访问和管理控制台访问。<br>programmatic:编程访问。<br>console:管理控制台访问。
notion image

查询group_id

一般admin是默认的超级管理员权限
notion image

添加用户组

添加了账号后,还需要给当前账号添加用户组
notion image
返回控制台看看
notion image

获平台账户

查询IAM用户列表,获平台账户信息
notion image

登录控制台

使用账户拼接登录地址,地址拼接后为:https://auth.huaweicloud.com/authui/login?id=fuyuanzii ,再使用刚才创建的账号登录控制台。所有添加的IAM账户,包括子账号添加的账号也是用同样的登录地址。
notion image

3.3 新增AK/SK(无告警)

可以新添加用户的AK/SK(限制是每个账号只能拥有两个密钥)

获平台账户

查询IAM用户列表,获平台账户信息
notion image

创建永久访问密钥

notion image
notion image

3.4 恶意镜像

可以删除,或者创建同名的镜像文件,将后门植入到镜像中,当用户使用镜像新建实例的时候,就会带入我们植入的恶意代码了
notion image

四、防御绕过

服务器创建好后默认不安装企业主机安全的Agent
notion image
若是开启了主机安全,可以手动关闭
notion image

五、信息搜集

5.1 元数据

元数据所在服务器:169.254.169.254
notion image

5.3 镜像服务

如果用户在制作整机镜像时未将敏感数据删除,那我们就可以将镜像导出到OBS桶中,然后下载到本地重新搭建,在其中寻找一些敏感数据。
notion image
然后访问存储桶下载或者从控制台下载
notion image

5.4 子网信息

notion image
元数据中也可以查看到(不全)
notion image

六、内网横向

如果内网机器无法出网且对方有使用负载均衡,我们登录控制台后可以将内网的指定端口通过负载均衡映射到公网
notion image
首先需要添加监听器,输入公网前端端口(就是我们直接访问的端口)和后端分配的端口(内网服务器的端口),然后在后端服务器组添加内网的服务器就可以了。
notion image
  • 云安全
  • 华为云
  • 前端加解密AliYun RDS云数据库攻防
    Loading...