声明!
学习视频来自B站up主 泷羽sec ,有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!
文章为个人学习笔记。
7、github信息泄露
7.1、概述
GitHub信息泄露是一个严重的问题,它通常发生在开发者无意中将含有敏感信息的代码上传到GitHub的公共仓库时。这可能是由于缺乏安全意识或在代码提交过程中未能正确管理和移除敏感文件。一旦这些信息被公开,就可能被恶意用户利用,导致数据泄露、服务中断、经济损失等严重后果。
7.2、敏感信息泄露案例
-
大疆创新(DJI)源代码泄露事件:一名前员工将含有公司农业无人机管理平台和农机喷洒系统两个模块的代码上传至GitHub的“公有仓库”,造成了源代码泄露,给大疆造成经济损失达116.4万元人民币。
-
Twitter源代码泄露事件:Twitter的部分源代码在网上遭到泄露,这是一次罕见的重大知识产权泄露事件。Twitter向GitHub发送版权侵权通知,要求删除泄露的源代码,并要求确认分享代码的人以及其他下载代码的人。
7.3、防止GitHub源码泄露的措施
为了防止GitHub源码泄露,开发者应当采取以下措施:
-
增强安全意识,对敏感信息进行分类和标识。
-
在将代码推送到GitHub之前,使用工具或手动检查代码库中是否包含敏感信息。
-
定期审计GitHub仓库,确保敏感文件不被错误地推送到公共仓库。
-
使用GitHub的“.gitignore”文件来忽略特定文件或目录,防止它们被提交。
-
对于包含敏感信息的代码,使用环境变量或配置文件来管理,而不是硬编码在源代码中。
-
对于已经泄露的敏感信息,应立即采取措施进行撤销和更换,比如更换API密钥、数据库密码等,并通知可能受影响的用户。
7.4、敏感文件检测工具
以下是一些用于检测敏感文件的工具:
7.5、GitHub信息泄露监控工具
以下是一些用于监控GitHub信息泄露的工具:
7.6、搜索方法:
7.6.1、使用GitHub搜索功能:
直接搜索敏感关键词
在GitHub的搜索栏中输入可能泄露敏感信息的关键词,例如“password”、“secret key”、“API key”等,可以帮助快速定位包含敏感信息的代码库。
高级搜索选项
GitHub提供了高级搜索功能,允许用户通过特定的语法来缩小搜索范围。例如,使用filename:config.js可以搜索所有名为“config.js”的文件,这些文件可能包含敏感的配置信息。同样,extension:sql可以用来搜索所有扩展名为“.sql”的文件,这些文件可能包含数据库的连接字符串等信息。
搜索私有仓库
通过添加is:private参数,用户可以搜索私有仓库中的敏感信息。这需要用户具有相应的访问权限。
精确搜索
使用双引号可以进行精确匹配搜索,例如"password"将只匹配包含“password”这个确切单词的文件。
7.6.2、利用Google搜索语法:
-
使用Google的高级搜索语法,如site:github.com结合敏感关键词,可以查找GitHub上的公开信息。
-
例如,site:github.com smtp可以搜索包含SMTP配置的GitHub项目,这可能暴露邮箱账号密码等敏感信息。
body=ruoyi
site:github.com
site:github.com smtp
7.6.3、使用第三方工具和平台:
-
利用专门的工具如GitRob、TruffleHog、GitMiner等来扫描GitHub上的敏感信息泄露。
-
这些工具可以帮助自动化查找包含敏感信息的代码和配置文件,提高查找效率。
7.6.4、利用图标和标题提炼信息
Fofa 、 360 、 鹰图、 钟馗之眼
=模糊
==精准
利用图标和标题提炼信息是一种网络空间安全领域的技术手段
例子1:使用图标提炼信息
假设你想要找到所有使用特定图标的网站,这个图标可能与某个特定的CMS(内容管理系统)相关联。你可以在Fofa平台上使用如下查询:
web.icon=="4eeb8a8eb30b70af511dcc28c11a3216"
这个查询会返回所有具有指定图标哈希值的网站。通过访问这些网站,你可以进一步分析它们的共同点,比如标题、结构、功能等,从而提炼出更多关于这个CMS的信息。
例子2:使用标题提炼信息
如果你已经知道某个特定CMS的标题模式,比如“Powered by Ruoyi”,你可以在Fofa上使用如下查询:
title=="ruoyi"
这个查询会帮助你找到所有在其标题中包含“ruoyi”关键词的网站,这可能表明这些网站使用了RuoYi CMS。
例子3:结合图标和标题进行精准搜索
如果你想要进一步缩小搜索范围,可以在Fofa平台上结合图标和标题进行搜索。例如:
web.icon=="4eeb8a8eb30b70af511dcc28c11a3216" && title=="ruoyi"
这个查询将返回同时满足两个条件的网站列表:既使用了特定图标,又在其标题中包含了“ruoyi”关键词。这样的组合查询可以帮助你更精准地定位目标网站。
例子4:使用图标和特定参数提炼信息
有时候,你可能会根据网站的功能或配置来提炼信息。例如,如果你知道某个CMS在特定参数下会显示特定的图标,你可以这样查询:
web.icon=="4eeb8a8eb30b70af511dcc28c11a3216" && query=="参数名"
这个查询将帮助你找到在特定查询参数下显示特定图标的网站,这可能表明这些网站使用了某种特定的配置或插件。
7.6.5、Fofa
icon_hash="174665376"
其实,这时候可以发现很多图标,两者是相辅相成的,通过收集图标提炼共性标题,通过收集标题找到共性图标
最好多加个几个精准条件
web.icon=="4eeb8a8eb30b70af511dcc28c11a3216"&&title="ruoyi"
大家记得多看前端源码
7.6、监控系统和审计:
-
使用监控系统如Github-Monitor来实时监控GitHub仓库代码中的特征,及时发现泄露的信息。
-
收集特征,如公司标识、内外部域名、应用名/包名、数据库/vpn连接信息、主机名等,作为监控的关键词。
7.7、GitHub-Monitor系统介绍
GitHub-Monitor是一个由vipkid安全研发团队打造的系统,专门用于监控GitHub代码仓库,以及时发现企业内部代码泄露,降低安全风险。该系统具备以下特点:
-
分钟级监控:能够快速发现代码泄露情况。
-
简单且灵活的任务配置:用户可以轻松设置监控任务。
-
邮件提醒:监控到敏感信息时,可以通过邮件进行提醒。
-
GitHub Token 管理:方便用户管理GitHub访问权限。
安装指南
-
克隆代码:首先将代码克隆到本地:
git clone https://github.com/VKSRC/Github-Monitor.git
-
Docker部署:推荐使用Docker进行部署,需要先安装Docker及docker-compose。
-
修改配置文件:复制.env.docker重命名为.env,修改邮件提醒和初始管理账号密码配置。
-
一键启动:访问http://127.0.0.1:8001即可看到页面。如果需要修改启动端口,可以修改docker-compose.yaml文件中的ports设置。
-
GitHub-Monitor基于Python语言开发,利用GitHub的Webhook机制,当仓库发生指定事件时,它会接收通知并执行预设的脚本。该项目依赖于Flask、GitHub API、Celery和Redis等关键技术,提供实时监控、自动化工作流、自定义处理逻辑等功能,并支持Docker容器化部署方案,简化了在本地或云环境中的安装过程。
此外,还有类似的工具如GitMonitor和github-cve-monitor,它们也可以用于监控GitHub上的敏感信息泄露。GitMonitor基于规则实现其功能,使用两套不同的规则集来寻找目标信息,并通过Slack发送扫描报告。而github-cve-monitor则用于实时监控GitHub上新增的CVE和安全工具更新,并通过多渠道推送通知。这些工具都可以帮助安全团队及时发现并响应敏感信息泄露事件。
7.8、GIT提炼
很多开源的若依二开可以在github找到相关的项目,往往修改较多的就是默认的prod-api为主,可以按照上面的内容去提炼,这样可以直接收集各个二开若依系统
7.8.1、是什么GIT提炼
在网络安全的红队渗透测试中,“GIT提炼”通常指的是通过各种手段和技巧,从GitHub这样的代码托管平台上提取出敏感信息、配置文件、源代码等可能含有安全漏洞的数据。这种做法的目的是为了在渗透测试过程中发现目标系统的潜在风险和弱点。
以下是一些常用的方法来执行GIT提炼:
-
搜索敏感关键词:
使用GitHub的搜索功能,结合Google的高级搜索语法,搜索可能包含敏感信息的关键词,如“password”、“secret”、“api key”等。例如,site:github.com "password" 可以搜索GitHub上所有包含“password”关键词的公开代码库。 -
利用GitHub API:
编写脚本或使用现有的工具,如GitRob,来自动化地扫描和提取GitHub上的敏感信息。这些工具可以遍历仓库、分支和提交历史,寻找潜在的敏感数据泄露。
-
分析开源项目:
对于流行的开源项目,可以通过分析其代码和配置文件,了解其常见的配置模式和潜在的安全漏洞。例如,很多开源的若依二开项目可以在GitHub找到,通过分析这些项目,可以直接收集各个二开若依系统的敏感信息。
-
监控和审计:
使用工具如GitHub-Monitor来实时监控GitHub仓库代码中的特征,及时发现泄露的信息。这些监控系统可以设置规则来检测特定的敏感信息模式,并在发现时发出警报。
-
社会工程学:
通过社会工程学手段,如钓鱼攻击,可能会诱使目标组织内部人员无意中泄露有关特殊路由的信息。
-
利用已知漏洞:
在某些情况下,网络设备或服务中的已知漏洞可能被用来识别或利用特殊路由。