网站建设、公众号开发、微网站、微商城、小程序就找牛创网络 !

7*24小时服务专线: 152-150-65-006 023-68263070 扫描二维码加我微信 在线QQ

无线安全团结互助,让我们共同进步!

当前位置:主页 > 技术资讯 > 网络安全 > 无线安全 >

我们的优势: 10年相关行业经验,专业设计师量身定制 设计师一对一服务模式,上百家客户案例! 企业保证,正规流程,正规合作 7*24小时在线服务,售后无忧

借助适当的DevSecOps和GitHub事件API扫描,降低GitHub帐户泄露敏感信息的风险

文章来源:重庆网络安全 发布时间:2020-02-25 16:07:20 围观次数:
分享到:

摘要:公共GitHub帐户很有可能泄漏敏感信息,从而增加了数据丢失和持续泄漏的风险。借助适当的DevSecOps和GitHub事件API扫描程序的使用,组织可以大大降低泄露信息的风险。

  公共GitHub帐户很有可能泄漏敏感信息,从而增加了数据丢失和持续泄漏的风险。借助适当的DevSecOps和GitHub事件API扫描程序的使用,组织可以大大降低泄露信息的风险。

  研究人员分析了通过GitHubs Event API上传的超过24,000个公共GitHub数据,发现了数千个包含敏感信息的文件,其中包括:

blob.png

GitHub’s Event API


  GitHub为开发人员提供API搜索功能,以实时列出发布到GitHub服务器的文件和代码。该API限制每个帐户每小时5000个请求,研究人员可以查看和扫描任何推送到Github的公共域上可用的文件,例如公共共享文件。有多种工具可以利用此功能,GitHub本身操作和维护GitHub令牌扫描程序,该程序检查文件中的令牌字符串以防止欺诈和滥用。AWS git secrets可用于扫描用户名和密码以及其他密钥字符串,以防止泄露。还有开源的GitHub API扫描器,例如gitrob和trugglehog,测试人员和恶意用户可以使用它们来识别潜在的敏感信息。


  ShhGit Live


  研究人员使用eth0izzle的shhgit实时阅读GitHub,并尝试解决以下三个问题。


  1.您是否在文件中找到了潜在的敏感数据?


  2.是否可以追溯到组织?


  3.安全预防措施是否可以防止不必要的潜在敏感数据泄露?

  简而言之,这三个问题的答案都是肯定的。研究人员发现并分析了超过24,000个GitHub文件,这些文件触发了120条shhgit规则和研究人员定制的规则。研究人员确定了一些潜在的敏感数据,包括:


  4109配置文件,2464 API密钥,2328硬编码的用户名和密码,2144私钥文件,1089 OAuth令牌

  研究人员确认了数据的有效性,并能够识别文件的所有者,项目名称以及发布该信息的商业公司的名称。


  结果分析


  硬密码


  最关键的发现是硬编码的密码。总共找到2328个用户名和密码,包括880个唯一密码和797个唯一用户名。这些密码可在服务URL API和SSH配置文件中找到。 研究人员指出,只有18%的密码与前10个最常用的密码有关。 密码“ password”以72位排名第一,密码“ secret”以51位排名第二。最常见的前10个密码如表所示。


blob.png

在880个唯一密码中,817个出现3次或更少,而665个唯一密码仅出现1次。以下是10个密码项目的示例:


p4ssW0rde


P@##w0rd


Password!


qwerty123456789


simplepass123


sqluser2019


supersecret


wilson1234567


xxxxxxxxxxxxxxxxxxxx


Z*NsqgS5$@jHsF2

  从主观角度来看,某些密码是公司的通用密码。大多数密码都满足最低密码要求,并且很容易记住,例如前两个“password”密码。但是,攻击者容易猜出这些密码,并且经常出现在bruteforce词典列表中。示例中的其他条目是非常简单的密码,仅包含小写和数字组合,甚至只是字母“ x”重复了20次。这些密码是“高概率合法密码”,因为它们显示的伪复杂性可能是生产环境中工程师使用的密码。另外,由于这些密码经常出现在对Redis,PostgreSQL,MongoDB和AMPQ等云服务的URL API请求中,因此这些伪复杂密码也很可能在云环境中使用。


  相比之下,研究人员仅发现了27个使用可变密码的唯一实例。例如$ password,{password}或%password%。 这27个唯一的密码实例仅占所标识的2328个密码中的67个,不到3%。


  硬编码的API密钥和身份验证令牌


  研究人员在超过24,000个GitHub文件中识别出2464个API密钥和1998个OAuth令牌。所有发现都是唯一的,仅15个键或令牌重复了4次以上,而所有GitHub文件中只有一个重复了12次,请参见表

blob.png

 因为API密钥和OAuth令牌为用户提供了对指定云环境的直接访问,所以如果API密钥或OAuth令牌落入他人的手中,则攻击者可能会模拟登录并获得对该环境的控制。如果在云环境中创建了具有管理特权的API密钥,则使用该API密钥的任何人都可以完全访问该云帐户。还存在API密钥泄漏。以UpGuard报告为例,攻击者通过GitHub泄露了近1GB的数据,包括AWS API密钥,日志文件等。


  密钥和令牌(例如密码)必须受到保护和控制,以确保只有合法用户才能知道它们。任何丢失或泄漏的API密钥和OAuth令牌都应吊销并立即重新发行。表显示了已识别的2464 API密钥和1098 OAuth令牌及其关联的环境。

blob.png

配置和私钥文件


  配置文件是公认的最高文件类别,约占24,000个文件的17%。最常见的配置文件类型是Django配置文件,它包含所有配置文件类型的三分之一以上,如表所示。Django是一个基于python的Web框架。PHP还是Web设计中的一种常见脚本语言,排名第三。这些基于Web的配置文件可能会暴露组织的云基础架构,从而使攻击者可以轻松访问云服务器内部。

blob.png

 研究人员发布的Shell,SSH,profile和Git配置文件也出现在已识别配置文件的前十名列表中。几乎80%的配置文件包含用户名或密码,API密钥或OAuth令牌。


  总结一下


  研究人员发现,用户将敏感数据上传到GitHub,其中包括:


  硬编码的用户名和密码,硬编码的API密钥,硬编码的OAuth令牌,内部服务和环境配置


  研究人员强烈建议您彻底扫描从公共存储库(例如GitHub)提取的每个IaC模板的漏洞。几乎一半的扫描都包含潜在的易受攻击的配置,并且用户极有可能部署易受攻击的云模板。 此外,应使用GitHub API扫描程序来防止敏感内部信息在GitHub上泄露。


  补救


  研究人员建议采取以下缓解措施,以确保个人资料不会公开暴露敏感信息:


  1.根据变量和CLI参数实施代码,从代码中删除硬编码的用户名和密码,API密钥和OAuth令牌。


  2.实施密码安全策略并强制使用复杂的密码


  3.实施发布策略以标准化并防止外部共享内部敏感数据。


  4.使用GitHub的公司帐户功能来确保公共共享的安全性。


  5.使用诸如AWS git secret,GitHub的TokenScanner,gitrob或trugglehog之类的工具来识别和删除敏感信息。


本文由 重庆网络安全 整理发布,转载请保留出处,内容部分来自于互联网,如有侵权请联系我们删除。

相关热词搜索:DevSecOps GitHub事件API扫描 GitHub帐户 泄露敏感信息 重庆网络安全

上一篇:勒索病毒Deniz Kızı(美人鱼):2020年全球新型的勒索病毒
下一篇:根据APK文件来获取React Native JavaScript,分析API及敏感信息

热门资讯

鼠标向下滚动