LangSrcCurise 子域名资产检测系统

admin 2022年3月1日10:14:17安全工具评论51 views5613字阅读18分42秒阅读模式

0x01 LangSrcCurise

友情提示:此文篇幅较长

LangSrcCurise资产监控系统是一套通过网络搜索引擎监控其下指定域名,并且能进行持续性信息收集整理的自动化资产监控管理系统,基于Django开发。可以搭配批量扫描器,监控到子域名或边界设备时,奥利给!!!扫就完了

本项目仅进行资产持续收集监控,无漏洞利用、攻击性行为,请使用者遵守当地相关法律,勿用于非授权测试,如作他用所承受的法律责任一概与作者无关,下载使用即代表使用者同意上述观点。

扫描主机配置说明

俗话说得好,又要马儿跑又要马儿不吃草。想要高速获取子域名资产,又舍不得买高配主机....

在1H2G1M的腾讯云Windows主机下,开启2个线程,2个进程,内存直接吃干净,还是没有开扫端口的情况下- -,最低配置不过如此~

不过这种情况会在Linux下得到友善的优化,但是部署上Windows又比Linux轻松,以下为大家分别详细介绍windows下和linux的搭建过程。

Windows用户

依次安装如下服务:

  1. python3.6(实测3.6以上版本都可)

  2. nmap并添加到环境变量

  3. python3 -m pip install -r requirement.txt

  4. MySQL8.0

我的环境是Windows2008 R2,直接安装PhpSyudy8.1,因为其默认是Mysql 5.7.26,需要在环境中安装Mysql 8.0.12,安装之后可以在首页选择Mysql版本,启动即可。如下图所示

LangSrcCurise 子域名资产检测系统

安装时,如果嫌麻烦可以直接勾选加入环境变量。

LangSrcCurise 子域名资产检测系统

nmap就不用说了,一把梭到底

下载LangSrcCurise

从https://github.com/LangziFun/LangSrcCurise

上下载最新版本,然后放在要运行的目录下

配置环境

开启mysql服务

  • 编辑时不要用默认的记事本

  • 第一步先开启mysql服务,并且允许用户连接

  • 设置MySQL最大连接数为512,最大插入缓存数据量为200M

Windows下推荐mysql.ini设置如下:

[mysql]
default-character-set=utf8

[mysqld]

port=3306
character-set-server=utf8
default-storage-engine=InnoDB
max_connections=512
max_connect_errors=10
max_allowed_packet = 200M
log-error="E:/phpstudy_pro/Extensions/MySQL8.0.12/error.log"
# 这里的日志输出自己修改路径
default_authentication_plugin=mysql_native_password

配置数据库文件与邮箱信息

在主目录下的config.ini文件中修改相关mysql登陆信息

并且到securitytrails注册账号填写自己的API

[Server]
host = 127.0.0.1
# mysql登陆的iplinux下设置为localhost,也可以填写服务器远程IP
port = 3306
# mysql 端口
username = root
# mysql账号
password = root
dbname = LangSrcCurise
# 你要是用的数据库名字,数据库自动创建
[API]
securitytrails = PWOSUIBIANXIEDE886X
# https://securitytrails.com 注册,免费账户一个月可以查询50

LangSrcCurise 子域名资产检测系统

下方为接受每日报表邮箱信息,每天下午20点30分自动发送到邮箱,如果需要修改发送时间,修改代码

core/Send_Report.py

修改最下方时间点后,重启扫描端即可

[Email]
host = smtp.weapons.red
# 邮箱使用服务器,一般用的163邮箱或者qq邮箱,具体方法自行百度
port = 465
# 邮箱服务器端口
username = [email protected]
# 邮箱账号
password = test12345
# 邮箱的密码,163qq邮箱需要开启pop3服务后,得到授权码,这里填写授权码
receivers = [email protected],[email protected],[email protected]
# 这里填写接收报告的邮箱地址,多个邮箱使用,分隔。单个邮箱填写单个邮箱地址即可。

每日推送当日24小时内最新捕获的子域名数据

如果需要关闭游戏提醒功能,注释代码

core/Run_Tasks.py

第126行代码

安装运行库

用cmd到程序根目录下

pip3 install -r requirement.txt

初始化数据库

在主目录LangSrcCurise文件夹下依次执行如下命令:

  1. python3 manage.py makemigrations

  2. python3 manage.py migrate

  3. python3 manage.py createsuperuser #按照提示注册生成管理员账号密码


若出现django.session.table相关错误,修改settings.py中SECRET_KEY值为随机字符串

配置网址过滤黑名单

一些商城,旅游,同城等网站会使用大量的泛解析,所以需要自己适配黑名单过滤名单

Auxiliary/Black_Url.list

其下的网址都会被自动过滤,请勿修改文件名

配置网页内容过滤黑名单

Auxiliary/Black_Con.list

若网页内容出现该黑名单关键字,则会被自动过滤,请勿修改文件名

配置IP过滤黑名单

Auxiliary/Black_Ip.list

其下的IP地址都会自动过滤,请勿修改文件名

配置子域名爆破字典

Auxiliary/SubDomainDict.list

二级子域名爆破字典字典来自shmilylty。请勿修改文件名

Auxiliary/NextSubDomainDict.list

三级子域名爆破字典,来源同上

启动服务

在LangSrcCurise文件夹下依次执行如下命令:

python3 manage.py runserver 127.0.0.1:8888

添加用户

添加的用户可以在前端获取数据,并且能够在前端添加查询数据

访问网址:http://127.0.0.1:8888/lsrc/

LangSrcCurise 子域名资产检测系统


可供选项:是否拥有添加资产权限:是/否

如果设置成否,则该账号无法在前端添加资产数据。

扫描设置

设置扫描策略,线程数进程数以及运行入库状态码

LangSrcCurise 子域名资产检测系统

这张表只能存在一列数据,其中配置方案名称随便填写,允许入库状态码即该网址返回的状态码,如果符合这个表的内容,则保存到数据库,实际上是一个过滤规则,注意其中的数据格式参考python的列表,并且是英文输入法下的,和[]。

比如:

配置方案:随便取个名字 允许入库状态码:[200,301,302,404]

或者这样写也行,毕竟代码中会将 允许入库状态码内容序列化

配置方案:不能随便取个名字 允许入库状态码:range(500)

还可以这样写

配置方案:我就瞎想个名字

允许入库状态码:shutdown -s -t 0 ; shutdown -h now

这样每次开启扫描就会帮助你马上关机,省去了手动关机的时间,真是省心呢~

因为数据任务都是同时在跑,所以比较吃资源,建议线程等数量都设置在4或者以下,如果有点闲钱,可以上高配置开8进程。

LangSrcCurise 子域名资产检测系统实测16G 100M运行占用率

初始化监控域名

编辑监控域名

initialize/domains.list

执行命令:在 主目录 LangSrcCurise文件夹下依次执行如下命令:

python3 manage.py initial

完成将监控域名初始化到数据库

开启扫描

在LangSrcCurise文件夹下依次执行如下命令:

python3 manage.py startscan

如果出现大量的Mysql数据库报错,关闭窗口重新执行上命令


需要管理员权限

默认不会扫描网址对应IP主机的端口服务,可以开启但是速度会降低,并且目前没有检测CDN,酌情处理,不建议开启

默认不会扫描网址对应IP主机的端口服务,也就意味着IP端口资产未拥有,所以无法对数据进行统一清洗,需要注意的是,如果要开启清洗数据请务必先开启端口扫描

如果需要开启端口扫描并且对数据进行清洗:

取消注释

core/Run_Tasks.py

第130行和129行

还能扫描C段信息,取消部分注释就行,可以但没必要

导入批量子域名网址文本

在LangSrcCurise文件夹下依次执行如下命令:

python3 manage.py inserturl 你的网址文本.txt

比如:

python3 manage.py inserturl L:CODEsrc子域名20000条.txt

会将文本中的网址进行自动去重,过滤,获取数据后保存到资产表数据中。

后续

建议是每间隔720小时重启一次扫描端。

如果要后续添加监控域名。有两种方法:

方法1

网站后台/监控域名

点击添加域名,至于备案号数量等随便填写,然后重启扫描端

方法二

编辑监控域名

initialize/domains.list

执行命令:

python manage.py initial

重启扫描端

Windows部署建议

web服务于数据库部署在服务器,扫描端部署在本地物理机或者VPS。

不建议使用服务器扫描资产,国内云服务器扫端口必封号

使用超级管理员账号,如果只是想要简单的检索数据,在后端直接操作搜索即可,还可以导出各种格式的数据文件。

如果要提供给他人使用,可以在后台为他人添加用户,设置权限,然后让他人访问前台即可。

Linux安装环境爬坑记录 (By [email protected]

下载该项目源码

apt-get update git clone  https://github.com/LangziFun/LangSrcCurise.git

安装python3.6问题

https://www.jianshu.com/p/2a5cd519e583

解决pip升级问题

https://blog.csdn.net/lanluyug/article/details/82878152 http://www.360doc.com/content/17/1124/17/43462428_706789375.shtml

阿里云腾讯云升级过后还不能安装pip

https://www.jianshu.com/p/de7a5b734465

乌班图安装MySQL8.0

https://www.linuxidc.com/Linux/2018-11/155408.htm

解决中文编码

https://www.jianshu.com/p/4e2000920332

解决scapy安装问题

https://github.com/giampaolo/psutil/issues/1143

Django连接MySQL出错

https://www.cnblogs.com/ljd4you/p/8592765.html

MySQL配置优化

https://www.cnblogs.com/lyq863987322/p/8074749.html https://blog.csdn.net/qingzhong_he2010/article/details/50708106 https://blog.csdn.net/windxxf/article/details/6049716

MySQL8.0配置文件目录

/etc/mysql/mysql.conf.d

https://blog.csdn.net/PY0312/article/details/89481421
cd /var/lib/dpkg/
sudo mv info/ info_bak
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info

快速上手

后台

管理员检索数据直接在后台搜索即可,支持导出各种格式的数据内容

用户信息表

  • 存储用户账号密码口令数据

  • 此处的用户只能在前台登陆进行简单数据查看

LangSrcCurise 子域名资产检测系统

用户登陆日志表

  • 存储用户登陆日期与登陆IP以及登陆状态

  • 恶意爆破记录用户IP地址

LangSrcCurise 子域名资产检测系统

数据展示表

  • 汇总所有受监控的子域名全部数据信息

  • 存储获取到的子域名资产详细数据

  • 用作前台具体展示

  • 用作设置是否进行手动挖掘漏洞标识

LangSrcCurise 子域名资产检测系统

监控域名表

  • 存储要进行监控的域名资产

  • 存储域名相对于的企业备案信息

  • 存储该域名子域名捕获数量

LangSrcCurise 子域名资产检测系统

主机端口表

  • 存储子域名对应IP相关开放端口,服务,所在地区

  • 发现真实IP,开放服务,以及隐藏端口下的后台页面资产

LangSrcCurise 子域名资产检测系统

LangSrcCurise 子域名资产检测系统

LangSrcCurise 子域名资产检测系统

网址索引表

  • 存储所有获取存活的子域名

  • 判断该子域名是否进行网页爬行


LangSrcCurise 子域名资产检测系统

网络资产表

  • 存储所有子域名标题,语言,服务器类型等信息

  • 存储所有爬行友链等相关信息

  • 可用来做WEB资产搜索引擎搜索

  • 获取隐藏的后台管理界面,测试许多有越权访问

LangSrcCurise 子域名资产检测系统

LangSrcCurise 子域名资产检测系统

LangSrcCurise 子域名资产检测系统

网页内容表

  • 存储所有监控子域名的网页内容

  • 作为数据展示表的外键关联,数据一致

LangSrcCurise 子域名资产检测系统

资源消耗表

  • 扫描端主机资源消耗

LangSrcCurise 子域名资产检测系统

错误日志表

  • 扫描过程中错误日志

LangSrcCurise 子域名资产检测系统

配置信息表

  • 扫描端线程等数据设置

LangSrcCurise 子域名资产检测系统

前台

给小弟小妹们查询数据使用,多生成几个用户即可

登陆处

  • 需要账号密码口令等信息存在上文用户信息表

LangSrcCurise 子域名资产检测系统

首页处

  • 相关数据的展示内容

  • 右上角可以手动添加子域名/IP资产

  • 上角可以批量导入相关SRC子域名网址,抓包写个脚本很好实现

  • 右侧为针对不容内容进行搜索栏

LangSrcCurise 子域名资产检测系统

搜索结果

  • 搜索结果根据不同内容返回

  • 查看数据详情可以设置是否进行手动渗透测试

  • 点击查看IP部署网址,可以查看同IP站点信息,还可查询C段相关站点数据信息

LangSrcCurise 子域名资产检测系统

点击查看IP部署网址,可以查看同IP站点信息,还可查询C段相关站点数据信息



LangSrcCurise 子域名资产检测系统


本文始发于微信公众号(台下言书):LangSrcCurise 子域名资产检测系统

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月1日10:14:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  LangSrcCurise 子域名资产检测系统 https://cn-sec.com/archives/490985.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: