前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >子域名监控概况+思路+监测源码与环境搭建

子域名监控概况+思路+监测源码与环境搭建

作者头像
C4rpeDime
发布2018-12-27 17:21:26
2K0
发布2018-12-27 17:21:26
举报
文章被收录于专栏:黑白安全黑白安全

子域名监控

域名监控概括

子域名收集这个路子真的是被玩烂了,花样百出、工具没有八百也有一千,无非是爆破、爬、调用搜索引擎之类,有资源的大厂有自己的dns库,但是这些在我眼里真的都很low。

为什么说很low,因为在职业刷src或者apt攻击者的角度,单单过一遍爆破的域名是不能满足持续性漏洞挖掘的;从职业刷src的角度,过一遍收集的子域名,已经发现了所有漏洞并已经提交后修复,或者用当前漏洞测试方法并没发现有漏洞,这样业务是安全的,但这个安全是在当下时间的,企业要发展、要解决当前问题,就会出新业务不断的pull代码更新旧问题,这就是业务的变化,通过持续性监控子域名就会发现业务的变化,最快速度的发现变化,对变化进行安全测试、漏洞挖掘。有经验的刷src的同学都知道,新业务发现漏洞概率都很高。

懒惰使人创造工具,而我就拥有这么一个工具,从14年搞的子域名爆破工具(送给过一个小姐姐,刷了好多漏,如今以身为人妻,而我还没有女朋友。),到如今的子域名监控工具。

具体实现思路

1、通过域名爆破、搜索引擎之类方法,获得子域名后爬取子域名http响应数据保存入数据库。 2、设定时间、可以是一分钟、一小时、一天一次循环读取库内子域名,进行爬取子域名和库类http响应数据对比,对比出变化推送提醒。


从思路上是个简单的工具,但是我的集成chrome headless、subfinder,自我感觉mongodb的可视化也不错,操作便捷、使用稳定。 

子域名监控概况+思路+监测源码与环境搭建
子域名监控概况+思路+监测源码与环境搭建

结果类似图上,正式版本title不会出现乱码。

功能: 通过爆破、爬取收集子域名,之后循环爬取库内数据对比发现业务的变化和新业务后及时展示、推送。 域名黑名单机制,可设置过滤.ke.qq.com、.qzone.qq.com、*.bz.qq.com之类n级子域泛解析。

子域名监测源码与环境搭建

环境要求:

ubuntu 64位 python3 go mongodb chrome chromedriver

代码下载链接: https://pan.baidu.com/s/18cR0wmJR7X3ukT6GQyynKQ 提取码: 26k6

代码结构:

browser.py  浏览器功能 获取html、执行js等  

config.py 配置文件,一些需要的功能  

mongodb_con.py mongo连接文件  

start.py 开始爆破和爬取子域名获取http响应入mongo库  

while_update.py 域名监测功能、遍历mongo库内数据 对比出变化域名和爬取新域名 

\subfinder 用来启动最初爆破子域名

\tmp 存放browser爬取的href network请求的url    

\target 存放要监测域名的配置信息

注意

因为获取http响应的是基于chrome浏览器,模拟chrome访问,并且访问后进行多个javascript执行,所以访问每个url会比普通urllib时间要长很多,所以我添加了简易版chrome线程池以便进行多线程同步访问以便加快速度,默认是5个chrome同时模拟访问。

环境搭建

必须执行

cd 进扫描器目录 sudo sh install.sh

install.sh内代码: sudo apt-get install mongodb golang git python3 python3-pip xvfb unzip libxss1 libappindicator1 libindicator7 -y sudo pip3 install selenium pymongo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome*.deb chmod +x chromedriver sudo mv -f chromedriver /usr/local/share/chromedriver sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver

基本就可以启动扫描器。。。

其他参考:

mongodb服务端搭建 会的大佬请绕过此步

关闭mongo命令: sudo service mongodb stop “` 1、首先修改mongodb的配置文件 让其监听所有外网ip,如果不行,连接的时候肯定会有异常 编辑文件:/etc/mongodb.conf 修改后的内容如下: bind_ip = 0.0.0.0 port = 27017 auth=true (添加帐号,密码认证)

设置结束后启动mongo命令: sudo service mongodb start 进入mongo命令行: mongo 添加超级用户 use admin db.createUser({user:’admin’,pwd:’123456aaa1xsda1A’,roles:[{role:’userAdminAnyDatabase’,db:’admin’}]}) db.auth(‘admin’,’123456aaa1xsda1A’) 添加扫描器用户 use target_domain db.createUser({user:’target’,pwd:’123456aaaxsda1A’,roles:[{role:’readWrite’,db:’target_domain’}]}) db.auth(‘target’,’123456aaaxsda1A’) “`

mongo客户端连接:
子域名监控概况+思路+监测源码与环境搭建
子域名监控概况+思路+监测源码与环境搭建

下载 https://www.robomongo.org/ 连接mongodb 常用mongo命令: sudo service mongodb start | stop | restart db.getCollection(‘qq_com’).find({“domain”:{“$regex”:”.3g.qq.com”}}) 搜索 db.getCollection(‘qq_com’).remove({“domain”:{“$regex”:”.3g.qq.com”}}) 删除 db.update({ “state” : 1} ,{$set:{“state”:0}}) 更新

设置Ubuntu默认python3

sudo update-alternatives –install /usr/bin/python python /usr/bin/python2 100 sudo update-alternatives –install /usr/bin/python python /usr/bin/python3 150

下载subfinder

go get github.com/subfinder/subfinder

启动说明

配置目标domain.json(请注意格式)

子域名监控概况+思路+监测源码与环境搭建
子域名监控概况+思路+监测源码与环境搭建

domain 为要收集监测的目标域名,格式必须是.domain.com,如:

.qq.com .163.com .weibo.com

Blacklist_domain 为子域名黑名单,比如46456.qzone.qq.com qq空间业务,进行.qzone.qq.com绕过收集。

进入config.py配置文件,进行配置

子域名监控概况+思路+监测源码与环境搭建
子域名监控概况+思路+监测源码与环境搭建

然后执行python start.py 开始爆破、爬取子域名…域名数据决定运行时间(建议后台运行)。

结果在robomongo查看:

子域名监控概况+思路+监测源码与环境搭建
子域名监控概况+思路+监测源码与环境搭建

start.py运行结束后。

while_update.py进行库内子域名重新爬行后http响应对比,和爬取新域名。 参考:http://jinbitou.net/2016/02/24/1534.html 进行定时执行while_update设置,如:24小时执行一次,12小时执行一次,就形成子域名监测。 根据mongo库内time日期请自己设置新域名推送。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-12-152,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 子域名监控
  • 子域名监测源码与环境搭建
    • 环境要求:
      • 代码结构:
        • 注意
          • 环境搭建
            • 启动说明
            相关产品与服务
            手游安全测试
            手游安全测试(Security Radar,SR)为企业提供私密的安全测试服务,通过主动挖掘游戏业务安全漏洞(如钻石盗刷、服务器宕机、无敌秒杀等40多种漏洞),提前暴露游戏潜在安全风险,提供解决方案及时修复,最大程度降低事后外挂危害与外挂打击成本。该服务为腾讯游戏开放的手游安全漏洞挖掘技术,杜绝游戏外挂损失。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档