功能強(qiáng)大的子域收集工具:OneForAll
簡介
OneForAll 收集能力強(qiáng)大、支持子域爆破、支持子域驗(yàn)證、支持子域爬取、支持子域置換、支持子域接管、處理功能強(qiáng)大、速度極快、體驗(yàn)良好,是一款集百家之長,功能強(qiáng)大的全面快速子域收集工具。
使用
OneForAll基于Python 3.6.0開發(fā)和測試,OneForAll需要高于Python 3.6.0的版本才能運(yùn)行。安裝Python環(huán)境可以參考Python 3 安裝指南。運(yùn)行以下命令檢查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 版)
由于該項(xiàng)目處于開發(fā)中,會(huì)不斷進(jìn)行更新迭代,下載時(shí)請使用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í)行以下命令更新項(xiàng)目(可保存對/config/setting.py和/config/api.py的修改):
git stash # 暫存本地的修改 git fetch --all # 拉取項(xiàng)目更新 git pull # 下載覆蓋 git stash pop # 釋放本地修改
安裝步驟(docker 版)
首先下載并編輯配置文件,添加自己的api和個(gè)性化設(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é)果會(huì)輸出在本地目錄~/results,如需保存到其他位置,可以自行修改。
使用演示
如果你是通過pip3安裝的依賴則使用以下命令運(yùn)行示例:
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í)行完畢會(huì)在results目錄生成相應(yīng)結(jié)果:
example.com.csv是每個(gè)主域下的子域收集結(jié)果。
all_subdomain_result_1583034493.csv是每次運(yùn)行OneForAll收集到子域的匯總結(jié)果,包含example.com.csv,方便在批量收集場景中獲取全部結(jié)果。
result.sqlite3是存放每次運(yùn)行OneForAll收集到子域的SQLite3結(jié)果數(shù)據(jù)庫,其數(shù)據(jù)庫結(jié)構(gòu)如下圖:
其中類似example_com_origin_result表存放每個(gè)模塊最初子域收集結(jié)果。
其中類似
example_com_resolve_result表存放對子域進(jìn)行解析后的結(jié)果。
其中類似example_com_last_result表存放上一次子域收集結(jié)果(需要收集兩次以上才會(huì)生成)。
其中類似example_com_now_result表存放現(xiàn)在子域收集結(jié)果,一般情況關(guān)注這張表就可以了。
OneForAll 作為一個(gè)命令行工具,它的所有參數(shù)如下:
NAME oneforall.py - OneForAll幫助信息 SYNOPSIS oneforall.py COMMAND | --target=TARGETDESCRIPTION OneForAll是一款功能強(qiáng)大的子域收集工具 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 單個(gè)域名(二選一必需參數(shù)) TARGETS 每行一個(gè)域名的文件路徑(二選一必需參數(shù)) FLAGS --brute=BRUTE s --dns=DNS DNS解析子域(默認(rèn)True) --req=REQ HTTP請求子域(默認(rèn)True) --port=PORT 請求驗(yàn)證子域的端口范圍(默認(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文章
4825瀏覽量
69036 -
python
+關(guān)注
關(guān)注
56文章
4807瀏覽量
85037
原文標(biāo)題:一款功能強(qiáng)大的子域收集工具
文章出處:【微信號:菜鳥學(xué)安全,微信公眾號:菜鳥學(xué)安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論