关于Ostorlab
众所周知,在安全测试或渗透测试过程中,通常需要将多种工具串联在一起,形成一条工具链,然后从一个其中一个工具获取输出数据,经过过滤和处理之后再推送到另外的工具进行后续处理。但是,这个过程一般来说是比较繁琐的,因为涉及到不同的数据格式,因此Ostorlab便应运而生。
Ostorlab是一款功能强大的资产安全扫描平台,该工具完全开源,并且能够帮助广大研究人员通过自动化的形式简化工具链数据处理过程中最麻烦的部分,来帮助广大研究人员减轻工作量。
工具特性
1、易于使用,只需要一行命令即可一键执行所有任务;
2、通过各种项目文档、教程、SDK提升开发人员体验;
3、通过对其所有组件使用高效的序列化格式以及经过验证的行业标准,实现了高度可扩展性和高性能;
工具要求
在某些情况下,我们可能需要执行本地扫描,此时就需要用到Docker了。如需安装Docker,可以参考这篇【文档】。
工具安装
广大研究人员可以通过下列命令将该项目源码克隆至本地:
git clone https://github.com/Ostorlab/ostorlab.git
接下来,切换到项目目录,并执行安装脚本即可:
cd ostorlab python setup.py
除此之外,Ostorlab已经上传至Pypi上,因此我们可以通过下列命令(pip)来安装Ostorlab:
pip install -U ostorlab
工具使用
我们只需要执行下列命令,便能够开始我们的首次扫描任务了:
ostorlab scan run --install --agent agent/ostorlab/nmap --agent agent/ostorlab/openvas --agent agent/ostorlab/tsunami --agent agent/ostorlab/nuclei ip 8.8.8.8
上述命令将会下载并安装下列扫描代理:
agent/ostorlab/nmap agent/ostorlab/tsunami agent/ostorlab/nuclei agent/ostorlab/openvas
接下来,该工具将会扫描目标IP地址为8.8.8.8的设备。
扫描完成后,我们可以使用下列命令检查扫描状态:
ostorlab scan list
当扫描完成以后,我们就可以使用下列命令获取扫描结果了:
ostorlab vulnz list --scan-id <scan-id> ostorlab vulnz describe --vuln-id <vuln-id>
工具使用演示
开放存储
Ostorlab将会在开放存储中列出所有的代理,我们还可以在开放存储中搜索或发布我们自己的代理:
除此之外,工具还提供了一个图形化的代理生成器,我们可以用该工具来组合多个代理,并查看代理之间的交互情况:
构建工具还可以帮助我们生成代理组YAML文件来设置需要传递给代理的指定参数,以实现代理行为的控制:
开发和发布代理
该工具还允许我们开发自己的代理,开发完成之后,可以直接将其发布到开发存储中,其他用户也可以使用。【参考文档】
项目地址
Ostorlab:【GitHub传送门】
参考资料
https://docs.docker.com/get-docker/
https://docs.ostorlab.co/tutorials/write-an-ostorlab-agent/