功能強大的子域收集工具:OneForAll
簡介
OneForAll 收集能力強大、支持子域爆破、支持子域驗證、支持子域爬取、支持子域置換、支持子域接管、處理功能強大、速度極快、體驗良好,是一款集百家之長,功能強大的全面快速子域收集工具。
使用
OneForAll基于Python 3.6.0開發和測試,OneForAll需要高于Python 3.6.0的版本才能運行。安裝Python環境可以參考Python 3 安裝指南。運行以下命令檢查Python和pip3版本:
python -V pip3 -V
如果你看到類似以下的輸出便說明Python環境沒有問題:
Python 3.6.0 pip 19.2.2 from C:UsersshmilyltyAppDataRoamingPythonPython36site-packagespip (python 3.6)
安裝步驟(git 版)
由于該項目處于開發中,會不斷進行更新迭代,下載時請使用git clone克隆最新代碼倉庫,國內推薦使用碼云進行克隆比較快:
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
更新
執行以下命令更新項目(可保存對/config/setting.py和/config/api.py的修改):
git stash # 暫存本地的修改 git fetch --all # 拉取項目更新 git pull # 下載覆蓋 git stash pop # 釋放本地修改
安裝步驟(docker 版)
首先下載并編輯配置文件,添加自己的api和個性化設置,并保留原始文件結構
config ├── api.py ├── log.py └── setting.py
拉取鏡像并執行,其中~/.config替換為你自己配置文件所在文件夾的路徑
docker pull shmilylty/oneforall docker run -it --rm -v ~/results:/OneForAll/results -v ~/.config:/OneForAll/config oneforall --target example.com run
參數直接加在指令末尾,結果會輸出在本地目錄~/results,如需保存到其他位置,可以自行修改。
使用演示
如果你是通過pip3安裝的依賴則使用以下命令運行示例:
python3 oneforall.py --target example.com run python3 oneforall.py --targets ./example.txt run
我們以python3 oneforall.py --target example.com run命令為例,OneForAll在默認參數正常執行完畢會在results目錄生成相應結果:
example.com.csv是每個主域下的子域收集結果。
all_subdomain_result_1583034493.csv是每次運行OneForAll收集到子域的匯總結果,包含example.com.csv,方便在批量收集場景中獲取全部結果。
result.sqlite3是存放每次運行OneForAll收集到子域的SQLite3結果數據庫,其數據庫結構如下圖:
其中類似example_com_origin_result表存放每個模塊最初子域收集結果。
其中類似
example_com_resolve_result表存放對子域進行解析后的結果。
其中類似example_com_last_result表存放上一次子域收集結果(需要收集兩次以上才會生成)。
其中類似example_com_now_result表存放現在子域收集結果,一般情況關注這張表就可以了。
OneForAll 作為一個命令行工具,它的所有參數如下:
NAME oneforall.py - OneForAll幫助信息 SYNOPSIS oneforall.py COMMAND | --target=TARGETDESCRIPTION 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)
-
代碼
+關注
關注
30文章
4788瀏覽量
68603 -
python
+關注
關注
56文章
4797瀏覽量
84683
原文標題:一款功能強大的子域收集工具
文章出處:【微信號:菜鳥學安全,微信公眾號:菜鳥學安全】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論