目錄
OneForall的介紹
OneForall的下載
OneForall的安裝
安裝要求
安裝步驟(git 版)
安裝(kali)
OneForall的使用命令
在Windows
在Linux(kali)
OneForall的結果說明
免責聲明 本文所提供的文字和信息僅供學習和研究使用,請讀者自覺遵守法律法規,不得利用本文所提供的信息從事任何違法活動。本文不對讀者的任何違法行為承擔任何責任。工具來自網絡,安全性自測,如有侵權請聯系刪除。 |
注意:OneForall 這樣的工具在合法的安全測試和研究環境之外的使用可能是非法的和不道德的。在實際應用中,應該在授權和合法的情況下使用它來幫助發現和修復系統中的安全漏洞,以提高系統的安全性。
OneForall的介紹
OneForAll是一款用于收集和爆破子域名的工具,它是由米斯特安全團隊開發的開源項目。該工具旨在提高滲透測試中子域名收集的效率,支持多種接口和模塊,能夠快速高效地收集子域名信息。
OneForall的下載
OneForAll的安裝需要Python 3.7環境,雖然理論上Python 3.6和3.8版本也可以工作,但建議使用Python 3.7以保證最佳兼容性。
下載地址: GitHub - shmilylty/OneForAll: OneForAll是一款功能強大的子域收集工具
OneForall的安裝
安裝要求
OneForAll基于Python 3.6.0開發和測試,OneForAll需要高于Python 3.6.0的版本才能運行。 安裝Python環境可以參考Python 3 安裝指南。運行以下命令檢查Python和pip3版本:
python -V
pip3 -V
如果你看到類似以下的輸出便說明Python環境沒有問題:
Python 3.7.4
pip 19.0.3 from d:\app\python\python3.7.4\lib\site-packages\pip (python 3.7)
安裝步驟(git 版)
- 下載
由于該項目處于開發中,會不斷進行更新迭代,下載時請使用git clone克隆最新代碼倉庫,也方便后續的更新,不推薦從Releases下載,因為Releases里版本更新緩慢,也不方便更新, 本項目已經在碼云(Gitee)鏡像了一份,國內推薦使用碼云進行克隆比較快:
git clone https://gitee.com/shmilylty/OneForAll.git
或者:
git clone https://github.com/shmilylty/OneForAll.git
- 安裝
你可以通過pip3安裝OneForAll的依賴,以下為Windows系統下使用pip3安裝依賴的示例:注意:如果你的Python3安裝在系統Program Files目錄下,如:C:\Program Files\Python36,那么請以管理員身份運行命令提示符cmd執行以下命令!
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
其他系統平臺的請參考依賴安裝,如果在安裝依賴過程中發現編譯某個依賴庫失敗時可以參考常見問題與回答.md文檔中解決方法
- 更新
執行以下命令更新項目(可保存對/config/setting.py和/config/api.py的修改):
git stash # 暫存本地的修改
git fetch --all # 拉取項目更新
git pull # 下載覆蓋
git stash pop # 釋放本地修改
安裝(kali)
- 安裝依賴:首先確保你的系統安裝了git(一種分布式版本控制系統)和 python3-pip(用于安裝和管理 Python 第三方庫的工具)。可以通過以下命令安裝它們:
git python3-pip
sudo apt update
sudo apt install git python3-pip -y
- 克隆OneForAll倉庫:接下來,你需要從GitHub或其他代碼托管平臺克隆OneForAll的源代碼。如果你無法訪問GitHub,可以使用國內的鏡像網站。例如,使用GitHub克隆的命令如下:
git clone https://github.com/shmilylty/OneForAll.git
或者,如果你在國內,可以使用國內的鏡像網站,如阿里云鏡像:
git clone https://gitee.com/shmilylty/OneForAll.git
- 安裝依賴:進入OneForAll的目錄,并安裝所需的依賴。這可以通過以下命令完成:
cd OneForAll
sudo apt install python3-dev python3-pip python3-testresources -y
sudo python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install --ignore-installed -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
??如果提示:exrex.py 與當前使用的 Python 版本的某些模塊定義不一致
pip uninstall exrex
卸載當前的 exrex 模塊
再使用 pip install exrex
重新安裝該模塊
其他模塊也是同理
- 運行OneForAll:安裝完成后,你可以通過以下命令運行OneForAll:
python3 oneforall.py --help
這將顯示OneForAll的幫助信息,表明你已經成功安裝
OneForall的使用命令
在Windows
如果你是通過pip3安裝的依賴則使用以下命令運行示例:
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run單域名收集: python3 oneforall.py --target 【域名】 run
多域名收集: python3 oneforall.py --targets 【存放域名的文件】 run
可選選項:--alive=True
可選值True,False分別表示導出存活,全部子域結果
--dns=DNS DNS解析子域(默認True)
--req=REQ HTTP請求子域(默認True)
--port=PORT 請求驗證子域的端口范圍(默認只探測80端口)
--fmt=FMT 結果保存格式(默認csv)
--path=PATH 結果保存路徑(默認None)
--takeover=TAKEOVER 檢查子域接管(默認False)
在Linux(kali)
oneforall --target example.com run
oneforall --targets ./example.txt run
使用道理和參數和Windows的一樣
注意:在本工具安裝和使用過程中,如果輸命令過程中出現輸 python 或 python3 報錯了,大概率是因為python程序重命名的問題,在其他命令沒問題的情況下,命令中輸python報錯就換python3試試,輸python3報錯就換python試試。其他滲透測試工具也一樣。
OneForall的結果說明
我們以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 表存放現在子域收集結果,一般情況關注這張表就可以了。