Introducción
Permítanme explicar con la ayuda del informe publicitario oficial:
la importancia de la recopilación de información en las pruebas de penetración es evidente, y la recopilación de subdominios es una parte esencial y muy importante de la recopilación de información. En la actualidad, existen muchas herramientas de código abierto para subdominios. colección en Internet, pero siempre hay el siguiente problema parcial:
- No es lo suficientemente potente, no hay suficientes interfaces para la recopilación de subdominios, y no puede recopilar automáticamente lotes de subdominios, y no hay funciones como análisis automático de subdominios, verificación, FUZZ y expansión de información.
- No es lo suficientemente amigable, aunque el módulo de línea de comandos es más conveniente, pero cuando hay muchos parámetros opcionales y la operación a realizar es complicada, usar el modo de línea de comandos no es lo suficientemente amigable.Si hay una interfaz con buena interacción y alta operatividad, la experiencia del usuario será mucho mejor.
- Falta de mantenimiento, muchas herramientas no se han actualizado una vez en algunos años, lo que son problemas y relaciones públicas, no existen.
- Problemas de eficiencia, sin utilizar tecnología de rutina multiproceso, multihilo y asincrónica, la velocidad es lenta.
Para resolver los puntos débiles anteriores, nació esta aplicación de proyecto. Como sugiere el nombre, espero que OneForAll sea un artefacto completo y poderoso para la recopilación de subdominios completa y rápida.
dirección de github: https://github.com/shmilylty/OneForAll
Se puede encontrar un uso más detallado en el perfil oficial.
Instalar
requerimientos de instalación
OneForAll está desarrollado y probado en Python 3.6.0, y OneForAll necesita una versión superior a Python 3.6.0 para ejecutarse.
Asegúrese de que su entorno cumpla con los requisitos:
Proceso de instalación
Hay dos formas de instalar, git way para instalar y docker way para instalar.
Puede elegir cualquiera de las dos formas. A continuación se muestra el método de instalación de git.
Primero clone el código fuente en cualquier directorio:
git clone https://github.com/shmilylty/OneForAll.git
o:
git clone https://gitee.com/shmilylty/OneForAll.git
Luego instale:
primero instale las dependencias de OneForAll a través de pip3, ingrese al directorio raíz de OneForAll, ejecute cmd como administrador y ejecute los siguientes comandos en secuencia:
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py --help
Aparecen los resultados:
actualización del proyecto
git stash # 暂存本地的修改
git fetch --all # 拉取项目更新
git pull # 下载覆盖
git stash pop # 释放本地修改
usar
NAME
oneforall.py - OneForAll帮助信息
SYNOPSIS
oneforall.py COMMAND | --target=TARGET <flags>
DESCRIPTION
OneForAll是一款功能强大的子域收集工具
Example:
python3 oneforall.py version
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./domains.txt run
python3 oneforall.py --target example.com --valid None run
python3 oneforall.py --target example.com --brute True run
python3 oneforall.py --target example.com --port small run
python3 oneforall.py --target example.com --fmt csv run
python3 oneforall.py --target example.com --dns False run
python3 oneforall.py --target example.com --req False run
python3 oneforall.py --target example.com --takeover False run
python3 oneforall.py --target example.com --show True run
Note:
参数alive可选值True,False分别表示导出存活,全部子域结果
参数port可选值有'default', 'small', 'large', 详见config.py配置
参数fmt可选格式有 'csv','json'
参数path默认None使用OneForAll结果目录生成路径
ARGUMENTS
TARGET
单个域名(二选一必需参数)
TARGETS
每行一个域名的文件路径(二选一必需参数)
FLAGS
--brute=BRUTE
s
--dns=DNS
DNS解析子域(默认True)
--req=REQ
HTTP请求子域(默认True)
--port=PORT
请求验证子域的端口范围(默认只探测80端口)
--valid=VALID
只导出存活的子域结果(默认False)
--fmt=FMT
结果保存格式(默认csv)
--path=PATH
结果保存路径(默认None)
--takeover=TAKEOVER
检查子域接管(默认False)
ejemplo
Para parámetros más detallados, puede ingresar al archivo de configuración: config/setting.py para ver/configurar.