/PocOrExp_in_Github

聚合Github上已有的Poc或者Exp,CVE信息来自CVE官网。Auto Collect Poc Or Exp from Github by CVE ID.

Primary LanguagePythonMIT LicenseMIT

PocOrExp in Github

聚合Github上已有的Poc或者Exp,CVE信息来自CVE官网

注意:只通过通用的CVE号聚合,因此对于MS17-010等Windows编号漏洞以及著名的有绰号的漏洞,还是自己检索一下比较好

Usage

python3 exp.py -h
usage: exp.py [-h]
              [-y {1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,all}]
              [-i {y,n}] [-w {y,n}]

CVE Details and Collect PocOrExp in Github

optional arguments:
  -h, --help            show this help message and exit
  -y {1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,all}, --year {1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,all}
                        get Poc or CVE of certain year or all years
  -i {y,n}, --init {y,n}
                        init or not
  -w {y,n}, --watch {y,n}
                        keep an eye on them or not

参数说明:

  • -y指定处理某年的CVE
  • -i说明是否为首次初始化,y表示初次,对于已处理的CVE不会处理,n表示否,会处理已处理的CVE
  • -w监控PoC变化:当前策略为更新本年前的已知有PoC的CVE,以及本年的所有CVE

使用步骤:

  • STEP1:安装依赖

    pip3 install -r requirements.txt
    
  • STEP2:申请github api token写入项目目录下的TOKENS文件中,格式如下,可以使用多个token:

    token:your_token
    
  • STEP3:处理cve信息

    python3 exp.py -y 2021 -i y
    python3 exp.py -y all -i y
    
  • 如果想要加快速度,可使用异步版脚本exp_async.py

PocOrExps

Log

  • 20210412: 修复了github搜索时,例如搜索CVE-2020-3618,会搜索到CVE-2020-36184的结果的问题
  • 20210413: 由于NVD官网CVE编号缺失,改用CVE官网数据,发布异步版脚本
  • 20210414: 完成第一轮PocOrExp的爬取,目前使用20个github api token,可以做到12小时内轮询所有CVE并更新
  • 20210414: 做了一些简单数据统计,见Statistics
  • 20210416: 增加-w参数
  • 20210417: 新增每日更新脚本today.py,更新内容见Today,可以在上面修改,例如将get_today_update的返回结果通过server酱,wxpusher等发送给自己
  • 20210420: 发现一些非PoC的repo, 通过增加黑名单去除,同时更新异步脚本v2。
  • 20210423: 发现今日更新的结果里有的repo并不是近期更新的,原因如下:
      1. repo从private转public
      1. 通过api查询时,脚本策略为取star数目前30的结果,因此当同一CVE的其他repo数目增加时,会进入前30列表中,表现为今日新增。统计发现按照CVE号搜索结果超过100的大洞只有CVE-2019-0708,因此不使用分页爬取所有,修改为每次取star数目前100的结果。
  • 20210430: download下载所有PoC/Exp,防止repo被发布者删除 !!请先更新 git到最新版本,防止在windows下clone时被攻击CVE-2020-27955
  • 20210519: 发现一些用CVE在github钓鱼的人,比如JamesGee,不打算特殊处理,大家注意安全

Reference