OneForAll-子域名收集工具kali安装教程
1. oneforall下载
使用git clone url的形式来下载软件,首先需要下载git
apt-get install git
注意:非root用户需要在前面加上sudo
有两个途径可以下载oneforall,第一个是gitee上的,第二个是github上的(我用的第一个)
git clone https://gitee.com/shmilylty/OneForAll.git
git clone https://github.com/shmilylty/OneForAll.git
复制上面任意一个git clone,到kali中打开终端查看当前路径(会安装到当前路径下)
pwd
然后粘贴下载命令,开始下载
2. oneforall查看是否安装成功
跳转到OneForAll目录下,查看是否安装成功
cd OneForAll
python3 oneforall.py --help
注意:要python3,kali应该自己安装的有,不知道的可以输入python3
看看,有对应版本就是有的
如果没有提示错误,则说明安装成功了,如果提示错误,则按照下面步骤
3. oneforall报错解决
- 可能是源不对。解决方法:更换为阿里的源
vi /etc/apt/sources.list
具体的源我就不列出来了,自己网上找一下,然后替换到上面的打开的文件里就行
最后刷新一下源列表
sudo apt-get update
- 没有对应的模块。解决方法:缺什么模块就安装什么模块
我出现的就是这个问题,所以详细写一下
在输入python3 oneforall.py --help
后,出现下图错误
提示缺少fire模块,安装一下就行
pip3 install fire
我以为安装一个模块就行了,但是,这只是一个开始,安装好后我又输入python3 oneforall.py --help
发现又出现缺少模块,我直接把缺少的模块截图全部附一下
出一个,我直接 pip3 install xx
一个,最后终于跳出帮助页面
退出帮助页面 :q
然后我查看了一下这个oneforall的版本
python3 onforall.py version
4. 帮助文档
最后附上OneForAll v0.4.5 的文档
NAME
oneforall.py - OneForAll help summary page
SYNOPSIS
oneforall.py COMMAND | <flags>
DESCRIPTION
OneForAll is a powerful subdomain integration tool
Example:
python3 oneforall.py version
python3 oneforall.py check
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./domains.txt run
python3 oneforall.py --target example.com --alive False run
python3 oneforall.py --target example.com --brute False run
python3 oneforall.py --target example.com --port medium 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:
--port small/medium/large See details in ./config/setting.py(default small)
--fmt csv/json (result format)
--path Result path (default None, automatically generated)
FLAGS
--target=TARGET
Type: Optional[]
Default: None
One domain (target or targets must be provided)
--targets=TARGETS
Type: Optional[]
Default: None
File path of one domain per line
-b, --brute=BRUTE
Type: Optional[]
Default: None
Use brute module (default True)
-d, --dns=DNS
Type: Optional[]
Default: None
Use DNS resolution (default True)
-r, --req=REQ
Type: Optional[]
Default: None
HTTP request subdomains (default True)
--port=PORT
Type: Optional[]
Default: None
The port range to request (default small port is 80,443)
-a, --alive=ALIVE
Type: Optional[]
Default: None
Only export alive subdomains (default False)
-f, --fmt=FMT
Type: Optional[]
Default: None
Result format (default csv)
--path=PATH
Type: Optional[]
Default: None
Result path (default None, automatically generated)
--takeover=TAKEOVER
Type: Optional[]
Default: None
Scan subdomain takeover (default False)
COMMANDS
COMMAND is one of the following:
check
Check if there is a new version and exit
version
Print version information and exit