开发信息收集工具小记 – 作者:逐梦0328

大家好呀,我是一个刚入门的小萌新,今天要讲的是自己开发的一个信息收集小工具以及开发思路,话不多说,开始啦

确定开发语言

想要开发工具,当然需要使用一个趁手的语言,比如python,好吧我承认,我只会一点python,那么这个工具当然就是python写的啦

确定功能

所谓信息收集,当然必不可少的就是探测子域名,一般的话想在主域名上发现漏洞还是挺难滴,然后就是端口扫描,最后就是web指纹识别,其实是我只开发了这三个模块,tcl

工具主体结构

├── Controller
│   ├── Controller.py
│   ├── Start.py
│   ├── __init__.py
├── Core
│   ├── CheckURL.py
│   ├── GetSubdomain.py
│   ├── PortScan.py
│   ├── __init__.py
├── IGScan.py
├── Output
│   ├── fingerprint.txt
│   ├── link.txt
│   └── subdomain.txt
├── README.md
├── Script
│   ├── UseCheckURL.py
│   ├── UseGetSubdomain.py
│   ├── UsePortScan.py
│   ├── UseWebAnaylzer.py
│   ├── __init__.py
├── Utils
│   ├── rules
│   ├── Webanaylzer.py
│   ├── __init__.py
└── requirements.txt

我就不介绍我为什么要这样分类了,因为我自己也不知道,hh那么开始介绍工具是怎样运行的吧

工具运作流程

链接在这里
运行IGScan.py,将会调用Controller->Start.py->Controller.py进而调用各个模块

模块介绍
– subdomain模块(子域名收集)
– checkurl模块(判断URL是否存活)
– webanalyzer模块(web指纹收集)

模块实现

subdomain

subdomain模块是写了两个py的,分别是GetSubdomain.py和UseGetSubdomain.py

Core/Getsubdomain.py

这里我从国光大佬的文章中得知了六个子域名接口,然后做好对应的数据提取

# 爱站
https://baidurank.aizhan.com/baidu/{domain}/

# 百度云观测
http://ce.baidu.com/index/getRelatedSites?site_address={domain}

# hackertarget
https://api.hackertarget.com/hostsearch/?q={domain}

# IP138
https://site.ip138.com/{domain}/domain.htm

# crt.sh SSL 证书反查
https://crt.sh/?q=%25.{domain}

# 千寻
url = 'https://www.dnsscan.cn/dns.html'
datas = {"ecmsfrom": '8.8.8.8', "show": 'none', "keywords": domain}

由于使用了多线程,速度还是蛮快的,1000个域名大概只需要20-30分钟

Script/UseGetSubdomain.py
批量-f参数和单个url -u参数对应不同的实现方法,批量的话还是使用多线程提升性能,如文件名所示也就是使用GetSubdomain模块,结果将会放到`Output/subdomain.txt`

checkurl

Core/CheckURL.py

这个模块主要作用是探测子域名是否可以访问80,443。可以访问的话就放入文件`Output/link.txt`
具体实现的话还是使用requests库对(http://|https://)+url,当然由于性能原因还是使用多线程,后续打算使用异步(asyncio),正在学习ing,速度的话还是比较快的11w子域名,大概需要20-30分钟,主要是开了50个线程的原因,hhh

Script/UseCheckURL.py

仅仅只是调用CheckURL.py,其实是为了美观

来源:freebuf.com 2020-09-02 13:16:38 by: 逐梦0328

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论