关于CloudPulse
CloudPulse是一款针对AWS云环境的SSL证书搜索与分析引擎,广大研究人员可以使用该工具简化并增强针对SSL证书数据的检索和分析过程。
在网络侦查阶段,我们往往需要收集与目标相关的信息,并为目标创建一个专用文档,以辅助我们识别目标组织可用的渗透路径。CloudPulse能够从Trickest Cloud中的AWS EC2主机中获取大量的SSL证书,并以此来简化我们针对SSL证书数据的检索和分析过程。在CloudPulse的帮助下,广大研究人员能够有效地查看和分析SSL证书的详细数据,并发现和识别潜在的安全漏洞,然后通过整合所有信息来获取到目标的安全整体态势详情。
功能介绍
该工具提供了易于使用的用户接口,能够帮助广大研究人员简化安全评估的过程。在该工具的帮助下,广大研究人员能够轻松发现目标组织托管在AWS云端环境中的下列资产:
1、IP地址;
2、子域名;
3、跟目标组织相关的域名;
4、组织名称;
5、发现源IP地址;
工具架构和工作流程
工具安装&运行
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。接下来,广大研究人员有下列两种方式来安装和使用CloudPulse。
Docker环境使用
首先,我们需要使用下列命令将该项目源码克隆至本地:
git clone https://github.com/yousseflahouifi/CloudPulse
然后切换到项目目录中,启动Docker-compose:
cd CloudPulse/ docker-compose up -d
使用下列命令运行script.py脚本:
docker-compose exec web python script.py
打开浏览器,并访问下列地址即可开始使用CloudPulse:
http://localhost:8000/search
本地虚拟环境使用
同样的第一步,首先我们需要使用下列命令将该项目源码克隆至本地:
git clone https://github.com/yousseflahouifi/CloudPulse cd CloudPulse/
然后配置并激活一个虚拟环境:
python3 -m venv myenv source myenv/bin/activate
使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
pip install -r requirements.txt
使用Docker运行一个Elasticsearch实例:
docker run -d --name elasticsearch -p 9200:9200 -e "discovery.type=single-node" elasticsearch:6.6.1
更新script.py脚本并和settings文件,设置好主机为"localhost":
#script.py es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
#se/settings.py ELASTICSEARCH_DSL = { 'default': { 'hosts': 'localhost:9200' }, }
运行script.py脚本,并在Elasticsearch中索引数据:
python script.py
运行CloudPulse应用程序:
python manage.py runserver 0:8000
工具使用演示
搜索.mil数据示例
搜索Tesla相关数据
项目地址
CloudPulse :【GitHub传送门】
参考资料
How To Scan AWS's Entire IP Range to Recon SSL Certificates · Daehee Park
GitHub - trickest/cloud: Monitoring the Cloud Landscape
https://trickest.com/blog/cloud-provider-infrastructure-mapping/