随着云技术逐步发展,越来越多的业务系统运用云资源来进行服务资源访问。而云资源的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 os
from datetime import datetime
import re
import pandas as pd
from tqdm import tqdm
script_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/131982934
key_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])
break
df = 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信息
查询所有已授权服务
查询账号关联的策略列表
账号为最高权限。
参考文献
https://blog.csdn.net/weixin_39997829/article/details/131982934
2. 腾讯云官方工具接管
https://xz.aliyun.com/t/13538?time__1311=GqmxuDcC0%3DiQDsD7z6p2j%2BDkDg7nd88W4D
原文始发于微信公众号(安全驾驶舱):【web安全】云密钥泄露排查与利用思路
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论