微信公众号:渊龙Sec安全团队
为国之安全而奋斗,为信息安全而发声!
如有问题或建议,请在公众号后台留言
如果你觉得本文对你有帮助,欢迎在文章底部赞赏我们
本文由团队成员AabyssZG(曾哥)和Cainsoftware共同编写
对于云上的渗透场景现在已经层出不穷,如何成功获得AK和SK,也是云安全渗透中重要的一环
通常,我们会在一些敏感的配置文件或者通过未授权访问、任意文件读取漏洞等方式,来寻找AK和SK
但市面上,通过正则匹配式来寻找AK和SK的,如下:
(?i)((access_key|access_token|admin_pass|admin_user|algolia_admin_key|algolia_api_key|alias_pass|alicloud_access_key|amazon_secret_access_key|amazonaws|ansible_vault_password|aos_key|api_key|api_key_secret|api_key_sid|api_secret|api.googlemaps AIza|apidocs|apikey|apiSecret|app_debug|app_id|app_key|app_log_level|app_secret|appkey|appkeysecret|application_key|appsecret|appspot|auth_token|authorizationToken|authsecret|aws_access|aws_access_key_id|aws_bucket|aws_key|aws_secret|aws_secret_key|aws_token|AWSSecretKey|b2_app_key|bashrc password|bintray_apikey|bintray_gpg_password|bintray_key|bintraykey|bluemix_api_key|bluemix_pass|browserstack_access_key|bucket_password|bucketeer_aws_access_key_id|bucketeer_aws_secret_access_key|built_branch_deploy_key|bx_password|cache_driver|cache_s3_secret_key|cattle_access_key|cattle_secret_key|certificate_password|ci_deploy_password|client_secret|client_zpk_secret_key|clojars_password|cloud_api_key|cloud_watch_aws_access_key|cloudant_password|cloudflare_api_key|cloudflare_auth_key|cloudinary_api_secret|cloudinary_name|codecov_token|config|conn.login|connectionstring|consumer_key|consumer_secret|credentials|cypress_record_key|database_password|database_schema_test|datadog_api_key|datadog_app_key|db_password|db_server|db_username|dbpasswd|dbpassword|dbuser|deploy_password|digitalocean_ssh_key_body|digitalocean_ssh_key_ids|docker_hub_password|docker_key|docker_pass|docker_passwd|docker_password|dockerhub_password|dockerhubpassword|dot-files|dotfiles|droplet_travis_password|dynamoaccesskeyid|dynamosecretaccesskey|elastica_host|elastica_port|elasticsearch_password|encryption_key|encryption_password|env.heroku_api_key|env.sonatype_password|eureka.awssecretkey)[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-zA-Z\-_=]{8,64})['\"]
但这是通过匹配AccessKey开头的内容,比如 access_token:AKID1AS893JF90AWK
中 access_token
这个开头来进行正则匹配
但如果没有这样的开头呢?那我们要怎么办?
那这里我就将不同厂商的 Access Key
内容特征分别整理出来,也欢迎各位师傅补充和纠错哈哈~
同时,也能够根据不同厂商Key的不同特征,直接判断出这是哪家厂商的 Access Key
,从而针对性进行渗透测试
在BurpSuite中,也可以配合HaE这款开源插件(https://github.com/gh0stkey/HaE)对流量进行自动化嗅探处理
Google Cloud Platform (GCP) 的 Access Key 开头标识一般是 "GOOG"。
1^GOOG[\w\W]{10,30}$
服务账号的JSON文件中包含了Access Key和密钥的信息,其中Access Key为client_email
,其长度不固定,由字母、数字和特殊字符组成。
密钥(Key)的长度为256个字符,由字母、数字和特殊字符组成。
Microsoft Azure 的 Access Key 开头标识一般是 "AZ"。
1^AZ[A-Za-z0-9]{34,40}$
Azure AD Application的Client ID通常用作Access Key,长度为36个字符,由字母和数字组成。
对于Azure AD Application的密钥(Secret),长度为44个字符,由字母、数字和特殊字符组成。
腾讯云 (Tencent Cloud) 的 Access Key 开头标识一般是 "AKID"。
1^AKID[A-Za-z0-9]{13,20}$
SecretId长度为17个字符,由字母和数字组成。
SecretKey长度为40个字符,由字母和数字组成。
亚马逊云计算服务 (Amazon Web Services, AWS) 的 Access Key 开头标识一般是 "AKIA"。
1^AKIA[A-Za-z0-9]{16}$
Access Key ID: 20 random uppercase alphanumeric characters like AKHDNAPO86BSHKDIRYTE
Secret access key ID: 40 random upper and lowercase characters: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (It's not possible to retrieve lost secret access key IDs).
IBM云 (IBM Cloud) 的 Access Key 开头标识一般是 "IBM"。
1^IBM[A-Za-z0-9]{10,40}$
Oracle云 (Oracle Cloud) 的 Access Key 开头标识一般是 "OCID"。
1^OCID[A-Za-z0-9]{10,40}$
阿里云 (Alibaba Cloud) 的 Access Key 开头标识一般是 "LTAI"。
1^LTAI[A-Za-z0-9]{12,20}$
Access Key ID长度为16-24个字符,由大写字母和数字组成。
Access Key Secret长度为30个字符,由大写字母、小写字母和数字组成。
华为云 (Huawei Cloud) 的 Access Key 开头标识一般是 "AK"。
1^AK[\w\W]{10,62}$
Access Key ID长度为64个字符,由字母、数字和特殊字符组成。
Secret Access Key长度为44个字符,由字母、数字和特殊字符组成。
百度云 (Baidu Cloud) 的 Access Key 开头标识一般是 "AK"。
1^AK[A-Za-z0-9]{10,40}$
京东云 (JD Cloud) 的 Access Key 开头标识一般是 "AK"。
1^AK[A-Za-z0-9]{10,40}$
UCloud (UCloud) 的 Access Key 开头标识一般是 "UC"
1^UC[A-Za-z0-9]{10,40}$
青云 (QingCloud) 的 Access Key 开头标识一般是 "QY"。
1^QY[A-Za-z0-9]{10,40}$
金山云 (Kingsoft Cloud) 的 Access Key 开头标识一般是 "KS3"。
1^KS3[A-Za-z0-9]{10,40}$
联通云 (China Unicom Cloud) 的 Access Key 开头标识一般是 "LTC"。
1^LTC[A-Za-z0-9]{10,60}$
移动云 (China Mobile Cloud) 的 Access Key 开头标识一般是 "YD"。
1^YD[A-Za-z0-9]{10,60}$
中国电信云 (China Telecom Cloud) 的 Access Key 开头标识一般是 "CTC"。
1^CTC[A-Za-z0-9]{10,60}$
一云通 (Yonyou Cloud) 的 Access Key 开头标识一般是 "YYT"。
1^YYT[A-Za-z0-9]{10,60}$
用友云 (Yonyou Cloud) 的 Access Key 开头标识一般是 "YY"。
1^YY[A-Za-z0-9]{10,40}$
南大通用云 (OUCDC) 的 Access Key 开头标识一般是 "CI"。
1^CI[A-Za-z0-9]{10,40}$
G-Core Labs 的 Access Key 开头标识一般是 "gcore"
1^gcore[A-Za-z0-9]{10,30}$
到这里已经没啦哈哈,欢迎各位师傅补充和纠错哈哈~
我是Cainsoftware,我在渊龙Sec安全团队等你
微信公众号:渊龙Sec安全团队
欢迎关注我,一起学习,一起进步~
本篇文章为团队成员原创文章,请不要擅自盗取!