渗透测试/漏洞赏金进度控制与扫描模块
范围控制、范围扫描器和进度追踪器,用于更轻松地处理漏洞众测或渗透测试项目
Anatoly Ivanov,Positive Technologies
该工具鼓励在渗透测试/漏洞众测中采用更有条理的方法,追踪进度和通用的扫描信息。
它可以启动
针对你工作的范围,并将数据以方便的形式存储。对项目数据执行有用的过滤,例如:
通过 docker-compose 的基本设置可以在任何安装了 docker 和 docker-compose 依赖的系统上运行
如果你没有安装 docker,请参考以下步骤
sudo apt install docker.io
如果你已经安装了 docker,那么在 Ubuntu/Debian 上只需
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
git clone https://github.com/c0rvax/project-black
cd project-black
sudo docker-compose up
如果你看到一些 SQL 错误,请尝试停止 docker-compose(按一次 Ctrl + C 一次并等待正常关闭)然后运行 docker-compose up
这可能需要一些时间,但就是这样!其他发行版应该有非常相似的指导。
现在访问 http://localhost:5000,输入凭据。凭据可以在 https://github.com/c0rvax/project-black/blob/master/config/config_docker.yml 中的 application 下找到
对于更复杂的设置或者某些步骤失败,请参见wiki。
所有 docker 容器都没有限制资源的使用,你需要自行管理,不过你可以分别更改每个工作器的并行任务数。有关信息请参见 wiki 的相关内容
设置完成后,创建一个项目并转到相应的页面。

现在我们将遵循你可以在应用程序中完成的基本步骤
假设我们正在评估 hackerone.com 及其所有子域名。在 add scope 字段中输入 hackerone.com 并按下 Add to scope

入口点已添加。
还有其他添加范围的方法,请参见wiki
所有任务都可以从用户读取参数,但是使用某些选项启动可能不会显示任何新结果,因为很难解析程序的所有可能输出。所以开始时,请尝试重复使用本手册中的选项。
可用选项可以在这个页面上找到
点击蓝色按钮 Launch task。

将会出现一个带参数的弹出窗口。

建议勾选 All_top_level_domains 复选框,并在 argv 中输入 -ip 然后点击 Fire! 按钮。

这将启动 amass -d hackerone.com -ip。注意这里我们没有指定任何域名。这是因为 All_top_level_domains 复选框意味着查看存储在数据库中的范围。所以程序看到 hackerone.com 已被添加到范围,并针对它启动 amass。
完成后,新数据会自动添加到范围中。
现在转到 IPs 标签页。点击已经熟悉的 Launch task 按钮并选择 masscan。
我们将使用 Top N ports 按钮启动快速扫描。这将自动填写 argv 参数。按下 Fire!

结果会自动下载到数据库中。

现在点击 Launch task 并选择 nmap only open。这将查找数据库中所有开放的端口,并仅针对它们运行 nmap。
点击 Banner 和 Fire。

检测到的横幅会自动显示

针对所有 IP 和所有开放端口(HTTP 和 HTTPS 都会尝试)启动 dirsearch。
在 IPs 标签页上点击 Launch task 并选择 dirsearch。填写你想要尝试的扩展名并点击 Fire!
你可以在 Hosts 标签页上针对主机(而非 IP)启动 dirsearch。
如果没有端口,dirsearch 甚至不会启动。所以首先确保你已经启动了 nmap 或 masscan 来发现开放端口。
通常有三种方法来检查结果:
这是两个标签页。它们的工作方式相同,所以我们以 Hosts 为例。

你可以看到主机列表、它们的端口和文件。你还可以为该主机编辑注释。
这里重要部分是过滤框。

你可以使用上面显示的字段组合不同的过滤器。输入你想要的过滤器(有辅助提示)并按下 Shift + Enter

你还可以查看特定主机或 IP 的详细信息。点击带眼镜的按钮

在那里你会看到该主机上每个开放端口的 dirsearch 结果
Dirsearch list 按钮会打开一个新窗口,显示该项目中启动的每个 dirsearch 找到的所有文件。
IPs 和 Hosts 的 Launch task 是不同的!IPs 页面上的按钮将针对当前项目中的所有 IP 启动,而 Hosts 页面上的按钮将针对主机启动。
若要针对某些主机启动任务,你应该
示例:

一些过滤器已经应用。如果我们现在启动 dirsearch,它将针对与所用过滤器匹配的主机启动。