📜  53R3N17Y - 基于Python的信息收集脚本(1)

📅  最后修改于: 2023-12-03 14:59:05.646000             🧑  作者: Mango

53R3N17Y - 基于Python的信息收集脚本

简介

53R3N17Y是一款基于Python的信息收集脚本,它可以帮助安全研究人员、渗透测试人员等收集目标网站的相关信息,快速发现目标网站可能存在的安全漏洞,从而提高渗透测试效率。

功能特点
  • 端口扫描:使用常规端口扫描方式来探测目标主机的开放端口。
  • Whois查询:查询目标主机的Whois信息。
  • 子域名挖掘:通过DNS反解析和字典爆破的方式来寻找目标网站的子域名。
  • 指纹识别:通过HTTP Banner信息、HTTP Headers、Web页面元素等来识别目标网站的技术栈和运行环境。
  • 爬虫功能:自动爬取指定页面的URL,并提取页面中的信息。
使用方法

快速使用:在终端输入以下命令即可

python3 53R3N17Y.py -t example.com

以上命令将扫描example.com域名,并在当前文件夹下生成一个名为example.com的报告文件。

说明:

  • -t 命令用来指定扫描的目标。
  • -o 命令用来指定输出报告文件的路径和文件名,例如:-o /tmp/myreport.txt
  • -m 命令用来指定扫描模块,例如:-m scan,whois,默认为全部模块。
  • -p 命令用来指定扫描的端口范围,例如:-p 1-65535,默认为80, 8080, 443, 8443。
代码片段

以下是Python代码片段示例,用于获取目标网站的Whois信息:

import whois

def get_whois(domain):
    """获取目标网站的Whois信息"""
    w = whois.whois(domain)
    print(w)

以下是Python代码片段示例,用于通过DNS反解析来寻找目标网站的子域名:

import os
import dns.resolver

def find_subdomains(domain):
    """通过DNS反解析来寻找目标网站的子域名"""
    subdomains = []
    try:
        answers = dns.resolver.query(domain, 'NS')
        for rdata in answers:
            ns = str(rdata)
            subdomain = ns.split('.')[0]
            subdomain += '.' + domain
            subdomains.append(subdomain)
    except Exception as e:
        print(str(e))
    return subdomains
总结

53R3N17Y是一款功能丰富的信息收集脚本,支持多种信息收集方式,可以帮助渗透测试人员、安全研究人员等快速掌握目标网站的相关信息,并进行更加深入的漏洞挖掘。