project-black是一个用于在渗透中进行Scope控制、扫描和进度追踪的工具。
该项目旨在鼓励在渗透测试或bugbounty,进度跟踪,常规扫描方面可以更有条理的进行工作。
它可以为你启动以下工具:
masscan
nmap
dirsearch
amass
patator
根据你的工作范围,将数据存储在一个表单中。对项目数据执行有用的筛选过滤,例如:
查找所有有开放端口但非80的主机
查找所有IP以82开头的主机。
查找所有dirsearch发现的至少有一个状态码为200的文件主机
通过docker-compose进行的基本设置,将在任何具有docker和docker-compose依赖关系的系统上运行
如果你没有安装docker,那么请通过以下命令进行安装
sudo apt install docker.io
工具安装
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中找到。
对于更复杂的设置或失败的情况,请参阅wiki。
资源通知
没有任何的docker容器限制资源的使用量,但你可以单独更改每个worker的并行任务量,请参阅wiki。
设置完成后,创建一个项目并前往相应的页面。
添加范围
假设我们正在评估hackerone.com及其所有子域。将hackerone.com输入添加范围字段,然后点击Add to scope
入口点(Entrypoint)已添加。
还有其他添加范围的方法,请参阅wiki
注意事项
所有的任务都可以从用户那里读取参数,但是使用某些选项启动不会显示任何新的结果,因为解析程序的所有可能输出非常困难。因此,请首先尝试复制本手册中的选项。
可在此页面上找到可用选项
启动 amass
单击蓝色的Launch task按钮。
将出现带参数的弹窗。
建议单击All_top_level_domains复选框,然后在argv中输入-ip并单击Fire!按钮。
这将运行amass -d hackerone.com -ip。注意,在这种情况下我们没有指定任何的域。这是因为All_top_level_domains复选框意味着查看存储在数据库中的范围。因此,该程序发现hackerone.com被添加到了范围内并针对该域启动amass。
完成后,新数据将被自动添加到scope中。
现在转到IP选项卡,单击按钮Launch task,然后选择masscan。
我们将使用Top N ports按钮执行快速的扫描。argv参数将会自动被填充。按Fire!按钮即可。
结果将自动从数据库下载。
现在单击Launch task,并选择nmap only open。这将为我们找出数据库中存在的所有开放端口,并仅针对它们运行nmap。
单击Banner和Fire。
检测到的banner将自动出现
启动 dirsearch
针对所有ip和所有开放端口运行dirsearch(将尝试HTTP和HTTPS)
在IP选项卡上单击Launch task,然后选择dirsearch。填写内容单击Fire!即可
你可以在Hosts选项卡上启动dirseach agains hosts(非ip)。
注意事项
如果没有端口,dirsearch甚至不会启动。首先,请确保你已运行了nmap或masscan来发现开放端口。
结果有以下三种查看方式:
IPs/Hosts 列表
IP/Host 详情
Dirsearch 列表
你可以看到主机列表,及其端口和文件。你也可以编辑该主机的注释。
另外,这里还提供了一个过滤框,你可以键入希望过滤的内容,然后按Shift + Enter即可。
你还可以查看特定主机或IP的详细信息。按下眼镜图标的按钮即可。
你将看到该主机上每个开放端口的dirsearch结果
Dirsearch list按钮将打开一个新窗口,显示此项目中启动的每个目录搜索的所有找到的文件。
IP和主机启动任务是不同的!IP页面上的按钮将针对当前项目中的所有ip启动,Hosts页面上的按钮则将针对所有host启动。
想要针对某些主机启动任务,你应该:
过滤主机
启动任务
示例:
已应用某些筛选器。如果我们现在启动dirsearch,它将针对对应于所用过滤器的主机运行。
*参考来源:GitHub,FB小编secist编译,转载请注明来自FreeBuf.COM