GSIL实时监控GitHub敏感信息泄露,并发送告警通知

一颗小胡椒2023-06-27 16:10:13

GitHub作为开源代码平台,给程序员提供了交流学习的地方,提供了很多便利,但如果使用不当,比如将包含了账号密码、密钥等配置文件的代码上传了,导致攻击者能发现并进一步利用这些泄露的信息,就是一个典型的GitHub敏感信息泄露漏洞。

GSIL安装

支持:Python3


$ git clone https://github.com/FeeiCN/gsil.git
$ cd gsil/
$ pip install -r requirements.txt

GSIL配置

gsil/config.gsil(重命名自config.gsil.example): 告警邮箱和Github配置

[mail]
host : smtp.exmail.qq.com
# SMTP端口(非SSL端口,但会使用TLS加密)
port : 25
# 多个发件人使用逗号(,)分隔
mails : gsil@feei.cn
from : GSIL
password : your_password
# 多个收件人使用逗号(,)分隔
to : feei@feei.cn
[github]
# 扫描到的漏洞仓库是否立刻Clone到本地(~/.gsil/codes/)
# 此选项用作监控其它厂商,避免因为仓库所有者发现后被删除
clone: false
# GitHub Token用来调用相关API,多个Token使用逗号(,)分隔
# https://github.com/settings/tokens
tokens : your_token

gsil/rules.gsil(重命名自rules.gsil.example): 扫描规则

规则一般选用内网独立的特征,比如蘑菇街的外网是mogujie.com,蘑菇街的内网是mogujie.org,则可以将mogujie.org作为一条规则。

其它还有类似代码头部特征、外部邮箱特征等

字段意义选填默认描述keyword关键词必填-多个关键词可以用空格,比如‘账号 密码’;某些关键字出现的结果非常多,所以需要精确搜索时可以用双引号括起来,比如‘”ele.me“’;ext指定文件后缀可选全部后缀多个后缀可以使用英文半角逗号(,)分隔,比如java,php,pythonmode匹配模式可选正常匹配(normal-match)正常匹配(normal-match):匹配包含keyword的行,并记录该行附近行 / 仅匹配(only-match):仅匹配包含keyword行 / 全部匹配(full-match)(不推荐使用):搜出来的整个问题都算作结果


{
    # 一级分类,一般使用公司名,用作开启扫描的第一个参数(python gsil.py test)
    "test": {
        # 二级分类,一般使用产品线
        "mogujie": {
            # 公司内部域名
            "\"mogujie.org\"": {
                # mode/ext默认可不填
                "mode": "normal-match",
                "ext": "php,java,python,go,js,properties"
            },
            # 公司代码特征
            "copyright meili inc": {},
            # 内部主机域名
            "yewu1.db.mogujie.host": {},
            # 外部邮箱
            "mail.mogujie.com": {}
        },
        "meilishuo": {
            "meilishuo.org": {},
            "meilishuo.io": {}
        }
    }
}

GSIL用法

# 启动测试
$ python gsil.py test
# 测试token有效性
$ python gsil.py --verify-tokens

设置定时发送报告


$ crontab -e
# 漏洞报告,此项任务发现漏洞后会立刻发送漏洞报告
# 每个小时运行一次,GitHub API接口调用频率限制可以根据token数量、规则数量来调整crontab频率实现,若觉得麻烦可简单配置多个token来实现。
# crontab执行时间决定了报告的发送时效性,间隔越短报告越快但频率限制越容易触发
# 建议配置5个token+20条规则,每15分钟运行一次(可以配置更短,根据各自需求确定)
*/15 * * * * /usr/bin/python /var/app/gsil/gsil.py test > /tmp/gsil
# 统计报告,发送一天的扫描进展,包括运行次数、成功次数、失败次数、发现漏洞数、各域名状况、异常等等
# 每天晚上11点发送统计报告
0 23 * * * /usr/bin/python /var/app/gsil/gsil.py --report

扫描报告过一次的将不会重复报告,缓存记录在~/.gsil/目录

实时监控mogujie
本作品采用《CC 协议》,转载必须注明作者和本文链接
GitHub作为开源代码平台,给程序员提供了交流学习的地方,提供了很多便利,但如果使用不当,比如将包含了账号密码、密钥等配置文件的代码上传了,导致攻击者能发现并进一步利用这些泄露的信息,就是一个典型的GitHub敏感信息泄露漏洞。# 统计报告,发送一天的扫描进展,包括运行次数、成功次数、失败次数、发现漏洞数、各域名状况、异常等等
近日,美国新闻网站The Intercept发表的一篇文章揭示了美国监控公司Anomaly Six的秘密业务。 秘密的监控业务通常指NSO和Candiru等以色列间谍软件公司开发的强大工具,但也有许多其他的公司在暗处运作,比如美国企业Anomaly Six(又名A6)。 据美国新闻网站The Intercept的分析,Anomaly Six是一个秘密的政府承包商,声称监控全球数十亿部手机。
监控系统的建设思路
2022-07-31 09:37:50
USE 法把系统资源的性能指标,简化成了三个类别,即使用率、饱和度以及错误数。使用率,表示资源用于服务的时间或容量百分比。饱和度,表示资源的繁忙程度,通常与等待队列的长度相关。100% 的饱和度,表示资源无法接受更多的请求。错误数表示发生错误的事件个数。错误数越多,表明系统的问题越严重。所以,AlertManager 还支持通过分组、抑制或者静默等多种方式来聚合同类告警,并减少告警数量。
攻击者使用勒索软件来加密属于个人或组织的敏感数据。一旦他们打开文件,勒索软件就会接管计算机系统并获得管理员权限。它可以发出警报并阻止用户活动,以减轻勒索软件的影响。通过对最关键数据的实时监控,将能够记录和检查数据活动流量,以检测勒索软件攻击的早期迹象,并提醒您的安全团队进行调查。但是,为了全面防范勒索软件和其他威胁,需要除数据安全之外的各种工具。这样,可以提高对企图勒索软件攻击的响应速度和质量。
移动互联网、物联网及云计算等新技术在电力监控系统得到了广泛应用,提高了电力生产控制效率,但却增加了网络安全风险,面临新的攻击威胁。
在 Linux 下如何才能实时查看日志内容呢?有很多工具可以帮助我们在文件持续修改的同时输出文件内容,最常用的莫过于 tail 命令了。 1. tail Command – Monitor Logs in Real Time 如前所述,tail 命令是实时显示日志的最常用的方法。不过该命令有两个版本,如下所示。 第一个例子是为 tail 命令加上 -f 参数。
当今的混合网络环境平衡了分布式网络和现代技术的实施。但它们并不缺少一个核心组件:服务器。保持网络正常运行时间归结为监控和管理导致网络停机的因素。极有可能导致性能异常的此类因素之一是硬件。使用硬件监控器监控网络硬件已成为一项关键需求。 硬件监视器是一种应用程序,通过从内置传感器收集的数据来监视硬件组件的运行状况和可用性。通过硬件性能监控,您可以检查关键的硬件性能指标,包括风扇速度、CPU
攻击者通过获取域控的DSRM密码,就可以使用帐户通过网络登录到域控服务器,从而达到权限维持的目的。域内权限维持的方式有很多,每增加一条安全检测规则,就多一层安全保障。
维护网站正常运行是系统管理员最基本的任务之一,所以对系统进行监视,并保持网络的最佳运行状态至关重要。这听起来很复杂,但是 Cacti 有模板来帮助加速这个过程。支持定制是 Nagios Core 变得如此流行的主要原因之一。与其他开源监控工具相比,Zabbix 提供了很高的便利性。时间序列数据存储在本地磁盘上,以便在紧急情况下轻松访问。Prometheus 的 Alertmanager 负责消息通知,Alertmanager 可以通过电子邮件,PagerDuty 或 OpsGenie 发送通知,如有必要,你也可以关闭警报通知。
一颗小胡椒
暂无描述