开源项目信息泄露笔记

admin 2023年4月24日15:34:03评论20 views字数 2000阅读6分40秒阅读模式

扫码领资料

获网安教程

免费&进群

开源项目信息泄露笔记
开源项目信息泄露笔记

概述与现状

当我们对一些项目进行渗透、审计的时候,以及HW红蓝攻防时,对目标的开源项目信息泄露就是重要一环

整体现状

2020年春,Unit 42研究人员通过GitHub Event API 分析了超过24,000份GitHub公开数据,发现有数千个文件中可能包含敏感信息

开源项目信息泄露笔记

在24,000份GitHub公开数据中,存在以下泄露:

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

总体占比高达50.56%,想想开源项目信息泄露有多可怕吧

对于企业而言

很多企业的开源项目信息泄露,都是企业的实习生或新入职的员工造成的。

他们往往会把自己里在公司负责的一个小项目给 push 到 GitHub 上,或者是将长久以来的技术总结文章发到 GitHub 上进行汇总管理,这些文章中难免包含很多公司的数据库配置,网络拓扑,服务器信息等(这种信息泄露在小公司尤为常见)

虽然有部分公司选择使用 GitLab 等来自建 Git 远程仓库,但是同样未正确设置仓库权限为私有。导致在 /explorer 中可以看到所有的公开仓库,同时可以通过查看公开的 Groups 来得知有哪些用户,之后可以尝试爆破猜测它们的密码等等

可见自建 Git 仓库也并不是万全之计

对于个人开发者而言

除企业员工外,还有一群就是个人开发者(特别是高校学生),他们的开源项目信息泄露也尤为严重。

很多高校学生,平时喜欢自己写些脚本。比如选课脚本、图书馆通知、刷课脚本等开源项目,往往未对相关的代码进行脱敏,就把源码 push 到 GitHub 上。

于是,就造成这样的情况:写 Web 应用需要对接数据库,代码里会有 MySQL 的数据库账号配置;要发邮件通知,代码里就有个人学生邮箱账号密码;测试数据里可能还带有个人的常用密码;甚至还有一些校园VPN的账号密码等。

有的做得比较大的项目,可能会对接微信小程序、公众号,某教育 App 等第三方应用,甚至一些云厂商的服务,因此还会泄露这些服务的 AK 和 SK。

所以,开源项目虽方便了企业和开发者,但其中也埋藏着信息泄露的安全隐患

1# Google搜索语法

简单的一些Google语法

site      #指定域名进行搜索,如site:aabyss.cn(收集团队子域名)
intext    #正文中存在关键字的网页,如intext:管理登录(查找包含“管理员登录”关键词的网页)
intitle   #标题中存在关键字的网页,如intitle:管理登录(查找后台管理登陆界面)
info      #一些基本信息
inurl     #URL存在关键字的网页,如inurl:file(查找url上含file的网址寻找上传漏洞)
filetype  #搜索指定文件类型,如filetype:php(查找php类型主页)

邮件配置信息泄露

很多网站及系统都会使用POP3和SMTP发送来邮件,不少开发者由于安全意识不足会把相关的配置信息也放到Github上。

如果这时候我们动用一下Google搜索命令语句,构造一下关键字,就能把这些信息给找出来了。

site:Github.com smtp
site:Github.com smtp @qq.com
site:Github.com smtp @126.com
site:Github.com smtp @163.com
site:Github.com smtp @sina.com.cn
site:Github.com smtp password
site:Github.com String password smtp

开源项目信息泄露笔记

数据库信息泄露

site:Github.com sa password              #争对SQLServer的信息泄露
site:Github.com root password            #争对MySQL的信息泄露
site:Github.com User ID='sa';Password    #争对SQLServer的信息泄露

Github之svn信息泄露

site:Github.com svn
site:Github.com svn username
site:Github.com svn password
site:Github.com svn username password

数据库备份文件

site:Github.cominurl:sql

综合信息泄露

site:Github.com password
site:Github.com ftp ftppassword
site:Github.com 密码
site:Github.com 内部

配合用法

1、找管理后台地址
site:xxx.com intext:管理|后台|登陆|用户名|密码|系统|账号
site:xxx.com inurl:login/admin/manage/manager/admin_login/system
site:xxx.com intitle:管理|后台|登陆
2、找上传类漏洞地址:
site:xxx.com inurl:file
site:xxx.com inurl:upload
3、找注入页面:
site:xxx.com inurl:php?id=
4、找编辑器页面:
site:xxx.com inurl:ewebeditor
5、找登录页面
site:xxx.com inurl:"/admin/login.php"
6、查找含有username或password的xls文件
filetype:xls "username | password"

2# Github高级搜索

网上大部分文章都是使用Google语法来搜索,目前还没看到国内有人使用Github进行高级搜索来查找信息泄露的文章

高级搜索链接:https://github.com/search/advanced

一般搜索以域名、特殊JS路径、备案、网站的技术支持等关键内容为主,不要局限于域名

我们可以活用 GitHub 的高级搜索条件,可以避免很多不必要的干扰,这里就整理了一些:

过滤时间

pushed:>2020-01-01 created:>2020-01-01

使用过滤器过滤掉一些很老的代码

筛选代码语言

language:java

筛选特定语言(诸如Java)的代码,排除搜索结果中静态文件的干扰

数据库连接关键词

"jdbc:mysql://"
"mysqli_connect("

搜索数据库连接语句,往往就能有很多公网数据库的账号密码

开源项目信息泄露笔记

敏感文件名

filename:.env
filename:bash_history
filename:_rsa
filename:jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin.xml

这个总能找到一些奇奇怪怪的东西,甚至是数字证书(之前就找到国内某大学的VPN数字证书,然后就通过VPN进入内网)

阿里云key

aliyuncs password

开源项目信息泄露笔记

对于企业而言,可以搜索企业的内网、外网域名,企业邮箱,版权声明(一般会写在代码首部注释),常用包名等

思路其实可以放的很广

正则表达式

关于正则表达式板块,后续会进行相应的更新

ChatGPT密钥

最近ChatGPT不是火遍海内外吗,很多师傅都想尝试一下
同样,格局和思路要打开,通过Github高级语法同样能找到并白嫖ChatGPT密钥
(注:本文仅提供思路,请遵守当地法律进行使用)

/"sk-[a-zA-Z0-9]{20,50}"/

开源项目信息泄露笔记

3# 敏感信息泄露监控工具的推荐

关于相关的工具,我这里推荐使用这三个,是我用过感觉蛮好的

三个工具各有特点,可以依据使用者的条件和喜好自行选择

关于工具的搭建和配置,在百度和Google上很多文章都有写,笔者这里就不重复了

GitMAD

开源地址:https://github.com/deepdivesec/gitmad

GitMAD是一个用于发现Github上的敏感信息和数据泄漏的工具。通过给定关键字或域,GitMAD便会搜索Github上托管的代码,以查找是否存在匹配项。一旦找到了匹配项,GitMAD将克隆存储库并在文件中搜索一系列可配置的正则表达式。

然后,GitMAD会获取这些结果,并将它们插入到数据库中供后续的查看使用。这些结果也可作为邮件警报发送。另外,GitMAD将持续运行以发现与输入关键字匹配的新存储库。

GSIL

开源地址:https://github.com/FeeiCN/GSIL/

此工具主要用于GitHub敏感信息泄露的监控,可实现邮件实时告警,缺点不是可视化

GShark

开源地址:https://github.com/madneal/gshark

这是个可视化的监测工具,它不仅可以监控 Github,还可以监控 Gitlab

  • 支持多个搜索平台,包括 Github,Gitlab(不稳定支持),Searchcode
  • 灵活的菜单以及 API 权限管理
  • 灵活的规则以及过滤规则设置
  • 支持 gobuster 作为子域名爆破的支持
  • 方便易用

修复建议:

及时检查自家开源项目,是否泄配置文件及相关敏感信息

来源:https://blog.zgsec.cn/index.php/archives/205/

声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权

原文始发于微信公众号(白帽子左一):开源项目信息泄露笔记

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年4月24日15:34:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   开源项目信息泄露笔记https://cn-sec.com/archives/1688957.html

发表评论

匿名网友 填写信息