当前位置: 首页 > news >正文

CloudPulse:一款针对AWS云环境的SSL证书搜索与分析引擎

关于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/CloudPulsecd CloudPulse/

然后配置并激活一个虚拟环境:

python3 -m venv myenvsource 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.pyes = Elasticsearch([{'host': 'localhost', 'port': 9200}])
#se/settings.pyELASTICSEARCH_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/

https://www.youtube.com/watch?v=1pqCqz3JzXE

http://www.lryc.cn/news/265223.html

相关文章:

  • 【网络安全】学习Web安全必须知道的一本书
  • 千帆 AppBuilder 初体验,不仅解决解决了我筛选简历的痛苦,更是让提效10倍!
  • Ubuntu 常用命令之 cal 命令用法介绍
  • 项目中webpack优化配置(1)
  • 【Qt之Quick模块】5. QML基本类型及示例用法
  • MySQL运维实战(1.2)安装部署:使用二进制安装部署
  • ChatGPT一周年:开源语言大模型的冲击
  • C++ Qt开发:Charts绘图组件概述
  • 基于Java+SpringBoot实现人脸识别搜索
  • 【论文阅读】FreeU: Free Lunch in Diffusion U-Net
  • TypeScript实战——ChatGPT前端自适应手机端,PC端
  • 自定义ORM(mybatis)源码(六)-类型处理器
  • Linux shell编程学习笔记37:readarray命令和mapfile命令
  • GDB:强大的GNU调试器
  • 综述 2022-Egyptian Informatics Journal:电子健康记录的安全和隐私
  • PHP数组定义和输出
  • MySQL中已经有了Binlog,为啥还要有Redo Log
  • Java数据结构-模拟ArrayList集合思想,手写底层源码(1),底层数据结构是数组,编写add添加方法,正序打印和倒叙打印
  • MyBatis-Plus如何 关闭SQL日志打印
  • 单元测试框架jUnit
  • 微软 Visual Studio 迎来 AI 建议命名功能
  • 【排序算法】C语言实现选择排序与冒泡排序
  • 设计模式之-原型模式,快速掌握原型模式,通俗易懂的理解原型模式以及使用场景
  • 数据结构之进阶二叉树(二叉搜索树和AVL树、红黑树的实现)超详细解析,附实操图和搜索二叉树的实现过程图
  • SpringIOC之LocaleContext
  • 前端案例—antdDesign的Select多选框组件加上全选功能
  • 个人财务工具、密钥管理平台、在线会计软件、稍后阅读方案 | 开源专题 No.51
  • HBase基础知识(二):HBase集群部署、HBaseShell操作
  • C 标准库 - <time.h>
  • 养老院自助饮水机(字符设备驱动)