功能強大的子域收集工具:OneForAll
簡介
OneForAll 收集能力強大、支持子域爆破、支持子域驗證、支持子域爬取、支持子域置換、支持子域接管、處理功能強大、速度極快、體驗良好,是一款集百家之長,功能強大的全面快速子域收集工具。

使用
OneForAll基于Python 3.6.0開發(fā)和測試,OneForAll需要高于Python 3.6.0的版本才能運行。安裝Python環(huán)境可以參考Python 3 安裝指南。運行以下命令檢查Python和pip3版本:
python -V pip3 -V
如果你看到類似以下的輸出便說明Python環(huán)境沒有問題:
Python 3.6.0 pip 19.2.2 from C:UsersshmilyltyAppDataRoamingPythonPython36site-packagespip (python 3.6)
安裝步驟(git 版)
下載
由于該項目處于開發(fā)中,會不斷進(jìn)行更新迭代,下載時請使用git clone克隆最新代碼倉庫,國內(nèi)推薦使用碼云進(jìn)行克隆比較快:
git clone https://gitee.com/shmilylty/OneForAll.git
或者:
git clone https://github.com/shmilylty/OneForAll.git
安裝
通過pip3安裝OneForAll的依賴
cd OneForAll/ 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
更新
執(zhí)行以下命令更新項目(可保存對/config/setting.py和/config/api.py的修改):
git stash # 暫存本地的修改 git fetch --all # 拉取項目更新 git pull # 下載覆蓋 git stash pop # 釋放本地修改
安裝步驟(docker 版)
首先下載并編輯配置文件,添加自己的api和個性化設(shè)置,并保留原始文件結(jié)構(gòu)
config ├── api.py ├── log.py └── setting.py
拉取鏡像并執(zhí)行,其中~/.config替換為你自己配置文件所在文件夾的路徑
docker pull shmilylty/oneforall docker run -it --rm -v ~/results:/OneForAll/results -v ~/.config:/OneForAll/config oneforall --target example.com run
參數(shù)直接加在指令末尾,結(jié)果會輸出在本地目錄~/results,如需保存到其他位置,可以自行修改。
使用演示
如果你是通過pip3安裝的依賴則使用以下命令運行示例:
python3 oneforall.py --target example.com run python3 oneforall.py --targets ./example.txt run
我們以python3 oneforall.py --target example.com run命令為例,OneForAll在默認(rèn)參數(shù)正常執(zhí)行完畢會在results目錄生成相應(yīng)結(jié)果:

example.com.csv是每個主域下的子域收集結(jié)果。
all_subdomain_result_1583034493.csv是每次運行OneForAll收集到子域的匯總結(jié)果,包含example.com.csv,方便在批量收集場景中獲取全部結(jié)果。
result.sqlite3是存放每次運行OneForAll收集到子域的SQLite3結(jié)果數(shù)據(jù)庫,其數(shù)據(jù)庫結(jié)構(gòu)如下圖:

其中類似example_com_origin_result表存放每個模塊最初子域收集結(jié)果。
其中類似
example_com_resolve_result表存放對子域進(jìn)行解析后的結(jié)果。
其中類似example_com_last_result表存放上一次子域收集結(jié)果(需要收集兩次以上才會生成)。
其中類似example_com_now_result表存放現(xiàn)在子域收集結(jié)果,一般情況關(guān)注這張表就可以了。
OneForAll 作為一個命令行工具,它的所有參數(shù)如下:
NAME
oneforall.py - OneForAll幫助信息
SYNOPSIS
oneforall.py COMMAND | --target=TARGET
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:
參數(shù)alive可選值True,F(xiàn)alse分別表示導(dǎo)出存活,全部子域結(jié)果
參數(shù)port可選值有'default', 'small', 'large', 詳見config.py配置
參數(shù)fmt可選格式有 'csv','json'
參數(shù)path默認(rèn)None使用OneForAll結(jié)果目錄生成路徑
ARGUMENTS
TARGET
單個域名(二選一必需參數(shù))
TARGETS
每行一個域名的文件路徑(二選一必需參數(shù))
FLAGS
--brute=BRUTE
s
--dns=DNS
DNS解析子域(默認(rèn)True)
--req=REQ
HTTP請求子域(默認(rèn)True)
--port=PORT
請求驗證子域的端口范圍(默認(rèn)只探測80端口)
--valid=VALID
只導(dǎo)出存活的子域結(jié)果(默認(rèn)False)
--fmt=FMT
結(jié)果保存格式(默認(rèn)csv)
--path=PATH
結(jié)果保存路徑(默認(rèn)None)
--takeover=TAKEOVER
檢查子域接管(默認(rèn)False)
-
代碼
+關(guān)注
關(guān)注
30文章
4968瀏覽量
74010 -
python
+關(guān)注
關(guān)注
57文章
4877瀏覽量
90078
原文標(biāo)題:一款功能強大的子域收集工具
文章出處:【微信號:菜鳥學(xué)安全,微信公眾號:菜鳥學(xué)安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
一款功能強大的串口監(jiān)視、檢測、分析工具,Serial Monitor
加域工具的功能
變頻串聯(lián)諧振試驗裝置功能強大在哪?
分享一個功能強大的APP藍(lán)牙調(diào)試器
Mygica DMB-TH D268 功能強大的國標(biāo)移動電視
iPhone功能強大!被搶劫還能找到
STM32CubeIDE乃ST官方提供的免費且功能強大的集成開發(fā)工具
介紹一款功能強大的自動化Deauth滲透測試工具
inSSIDer:一款功能強大的WiFi掃描工具
功能強大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議
分享一款功能強大的QuarkXPress桌面排版軟件
藍(lán)牙云屏:功能強大,性價比之選?
基于功能強大的子域收集工具
評論