云密钥泄露排查与利用思路

admin 2024年12月9日16:40:10评论76 views字数 4136阅读13分47秒阅读模式
背景

   随着云技术逐步发展,越来越多的业务系统运用云资源来进行服务资源访问。而云资源的aksk密钥对于安全性至关重要,高权限的aksk秘钥可对服务进行接管。如果出现泄露,可能会导致严重的安全风险和数据泄露。本文提供三个场景下的aksk泄露的简易排查的思路,并简要介绍发现aksk泄露风险后对实际危害进行确认的方案。

环境准备

1. python

2. Trufflehog浏览器插件

3. burp HaE

4. tccli等云服务官方cli工具

主题总结
 

1. 开发人员前端项目源代码aksk排查

2. 日常工作中通过浏览器的aksk排查

3. 安全测试途中,对burp抓取到的数据包中aksk排查

排查方案

01 本地代码aksk排查

   对于前端开发的源码检查或者小程序逆向解包的文件清单,分享一个简单的文件内容查找脚本。

#!/usr/bin/env python# -*- coding: UTF-8 -*-'''@Project :文本内容搜索.py@File    :aksk.py@IDE     :PyCharm@Author  :xxxh@Date    :2024/10/31 13:18@Info    :"key_dick正则匹配查找。"'''import osfrom datetime import datetimeimport reimport pandas as pdfrom tqdm import tqdmscript_directory = os.path.dirname(os.path.abspath(__file__))folders = [f for f in os.listdir(script_directory) if os.path.isdir(os.path.join(script_directory, f))]data = []# 此处可更改为其他自定义的aksk或者其他正则校验规则# 该字典参考文档:https://blog.csdn.net/weixin_39997829/article/details/131982934key_dick = {   "Google Cloud": r""GOOG[w]{20,30}"",   "Microsoft Azure": r""AZ[A-Za-z0-9]{34,40}"",   "Tencent Cloud": r""AKID[A-Za-z0-9]{13,20}"",   "Amazon Web Services, AWS": r""AKIA[A-Za-z0-9]{16}"",   "IBM Cloud": r""IBM[A-Za-z0-9]{10,40}"",   "Oracle Cloud": r""OCID[A-Za-z0-9]{10,40}"",   "Alibaba Cloud": r""LTAI[A-Za-z0-9]{12,20}"",   "Baidu Cloud||JD Cloud": r""AK[A-Za-z0-9]{10,40}"",   "Huawei Cloud": r""AK[w]{10,62}"",   "UCloud": r""UC[A-Za-z0-9]{10,40}"",   "QingCloud": r""QY[A-Za-z0-9]{10,40}"",   "Kingsoft Cloud": r""KS3[A-Za-z0-9]{10,40}"",   "China Unicom Cloud": r""LTC[A-Za-z0-9]{10,60}"",   "China Mobile Cloud": r""YD[A-Za-z0-9]{30,60}"",   "China Telecom Cloud": r""CTC[A-Za-z0-9]{10,60}"",   "yiyuntong Cloud": r""YYT[A-Za-z0-9]{10,60}"",   "Yonyou Cloud": r""YY[A-Za-z0-9]{30,40}"",   "OUCDC": r""CI[A-Za-z0-9]{30,40}"",   "G-Core Labs": r""gcore[A-Za-z0-9]{10,30}"",   "WXWork aksk": r""ww[A-Za-z0-9]{10,20}""}all_files = []for folder_name in os.listdir(script_directory):   folder_path = os.path.join(script_directory, folder_name)   if os.path.isdir(folder_path):       for subdir, dirs, files in os.walk(folder_path):           for file_name in files:               # 此处可增改你想要过滤后缀名的文件(当前为不对png等图片内的字符进行匹配,按实际情况推荐增加zip等压缩包后缀)               if not file_name.lower().endswith(('.png', '.jpg', '.jpeg', '.gif')):                   all_files.append(os.path.join(subdir, file_name))for file_path in tqdm(all_files, desc="处理文件", unit="file"):   with open(file_path, 'r', encoding='utf-8', errors='ignore') as file:       for line in file:           for key in key_dick:               pattern = key_dick[key]               matches = re.findall(pattern, line)               if matches:                   relative_path = os.path.relpath(file_path, script_directory)                   for folder in folders:                       if folder in file_path:                           folder_name = folder                           break                   data.append([folder_name, relative_path, line, key])                   breakdf = pd.DataFrame(data, columns=['name', 'path', 'value', 'key'])current_time = datetime.now().strftime("%Y%m%d-%H%M%S")output_path = f"search-{current_time}-aksk-out.xlsx"df.to_excel(output_path, index=False)print("处理完成,结果已保存到", output_path)

   该脚本会读取当前目录下的所有文件夹,对各文件夹及其子文件夹下的文件,通过key_dick中的规则进行匹配。

云密钥泄露排查与利用思路

   输出的表格各列含义为:

       第一列:文件夹名

       第二列:匹配成功的文件相对路径

       第三列:匹配成功的当行字符串

       第四列:匹配成功的规则键值对键值

云密钥泄露排查与利用思路

02 浏览器插件敏感信息泄露排查

   对于浏览器对敏感信息泄露的识别,推荐插件Trufflehog(https://www.cnblogs.com/NBeveryday/p/akskbucket.html)

云密钥泄露排查与利用思路

   可在对网页访问途中对关联JS文件中识别到的key进行弹窗展示,对网页识别到的记录也可以打开插件查看。

云密钥泄露排查与利用思路

03 burp插件敏感信息泄露排查

   对于burp对敏感信息泄露的识别,推荐直接使用HaE插件(https://github.com/gh0stkey/HaE),同样使用正则

"(GOOG[w]{20,30}|AZ[A-Za-z0-9]{34,40}|AKID[A-Za-z0-9]{13,20}|AKIA[A-Za-z0-9]{16}|IBM[A-Za-z0-9]{10,40}|OCID[A-Za-z0-9]{10,40}|LTAI[A-Za-z0-9]{12,20}|AK[A-Za-z0-9]{10,40}|AK[w]{10,62}|UC[A-Za-z0-9]{10,40}|QY[A-Za-z0-9]{10,40}|KS3[A-Za-z0-9]{10,40}|LTC[A-Za-z0-9]{10,60}|YD[A-Za-z0-9]{30,60}|CTC[A-Za-z0-9]{10,60}|YYT[A-Za-z0-9]{10,60}|YY[A-Za-z0-9]{30,40}|CI[A-Za-z0-9]{30,40}|gcore[A-Za-z0-9]{10,30})"

   在HaE规则中新增上述正则检查规则

云密钥泄露排查与利用思路

   在burp抓包途中,发现有数据包中靶,点开查看信息,确认匹配上的ak是否误报。

云密钥泄露排查与利用思路

   发现被测系统存在aksk泄露。

云密钥泄露排查与利用思路
利用思路

01 官网登入查看存储桶信息

   以上述的腾讯云aksk为例,可通过官方地址(https://cosbrowser.cloud.tencent.com/web/bucket)登入简单查看是否存在文件泄露,以及查看主账号与当前子账号ID

云密钥泄露排查与利用思路

02 官方cli工具接管

 以上述腾讯云为例,可通过官方cli工具(https://cloud.tencent.com/document/product/440/34011)查看账号权限状态

   配置获取到的aksk信息

云密钥泄露排查与利用思路

   查询所有已授权服务

云密钥泄露排查与利用思路

   查询账号关联的策略列表

云密钥泄露排查与利用思路

   账号为最高权限。

参考文献

1. aksk正则收集参考

https://blog.csdn.net/weixin_39997829/article/details/131982934

2. 腾讯云官方工具接管

https://xz.aliyun.com/t/13538?time__1311=GqmxuDcC0%3DiQDsD7z6p2j%2BDkDg7nd88W4D

正文内容
END

原文始发于微信公众号(安全驾驶舱):【web安全】云密钥泄露排查与利用思路

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月9日16:40:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   云密钥泄露排查与利用思路https://cn-sec.com/archives/3486480.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息