/cloudSec

云安全利用工具-云平台AK/SK-WEB利用工具,添加AK/SK自动检测资源,无需手动执行,支持云服务器、存储桶、数据库操作

Primary LanguageJavaApache License 2.0Apache-2.0

cloudSec

  • 更新为了单体jar包应用直接下载发布版本运行即可

云安全-AK/SK泄露利用工具

  • 注意:如果本地使用linux搭建,openjdk需要安装字体库,建议使用oraclejdk
  • 前端采用vue3,基于buildadmin模板,后端springboot,原接口调用厂商的SDK
  • 如果有BUG请提交issue
  • 提示:某些功能会对目标产品造成影响,如密钥对绑定,会导致重启,请慎重使用!!!
  • 另外权限信息获取目前只支持阿里云腾讯与,云服务器执行命令是通过agent来执行的,这个过程中还需要agent权限,光凭agent是否安装无法判断是否可以执行命令,因此为了保证命令执行准确性,扫描时会默认执行一次whoami

功能概览

厂商 产品 功能 备注
七牛云 云服务器 列出云服务器/绑定密钥对 /
云数据库 / /
存储桶 列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表 因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览
控制台用户 / /
华为云 列出云服务器 列出云服务器/绑定密钥对 密钥对操作需要重启服务器
云数据库 获取数据库资源/创建用户 不支持开通关闭外网访问,华为云数据库需要单独购买IP
存储桶 列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表 因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览
控制台用户 创建控制台用户 默认继承父账号权限
阿里云 云服务器 列出云服务器/执行命令/绑定(还原)密钥对 密钥对操作需要重启服务器
云数据库 获取数据库资源/创建用户/开通或关闭外网访问 账号继承父账号权限
存储桶 列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表 因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览
控制台用户 创建控制台用户 默认管理员权限
腾讯云 云服务器 列出云服务器/执行命令/绑定(还原)密钥对 密钥对操作需要重启服务器
云数据库 获取数据库资源/创建用户/开通或关闭外网访问 账号继承父账号权限
集群 打开K8S APISERVER外部访问/获取kubeconfig/一键接管K8S 默认开通外部访问会添加0.0.0.0/0的白名单
存储桶 列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表 因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览
控制台用户 创建控制台用户 默认父账号权限
亚马逊云 云服务器 列出云服务器 /
云数据库 列出数据库资源 /
存储桶 列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表 因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览
控制台用户 创建控制台用户 默认最高权限

使用方式

  • 默认检测是10个线程

添加AK/SK

  • 右边按钮对应key更新编辑,任务启动,控制台用户创建
  • 添加后选择立即检测或手动执行任务
  • 可选择更新时导出key
  • 一键停止/启动所有任务 image
  • 权限信息 image

云服务器

  • 对应命令执行,密钥对操作 image image

存储桶

  • 对应文件上传,导出文件列表(excel格式) image
  • 点击上传然后选择文件列表,可预览1000条数据,点击下载可单独下载文件 image

集群相关

  • 对应的是获取kubeconfig,打开公网apiserver权限,更新信息(主要是开启外网访问后存在一定延迟,需要隔一段时间手动获取外网端点信息) image

最后则是一键获取k8s权限,需要开通外网访问,点击后将会下载一个sh脚本,linux下执行后将本地安装kubectl连接该集群

image

连接成功后将会执行kubectl get node,显示下面结果则代表成功

image

如果显示下面报错,请在sh脚本所在目录下执行

export KUBECONFIG=$(pwd)/kubeconfig

image

成功后即可接管K8S

image

控制台用户

  • 创建的控制台用户将在这里显示 image

数据库

  • 按钮对应打开/关闭外网,创建数据库账号 image

文件下载列表

  • 此处对应导出存储桶的文件列表表格,状态成功后可下载 image

导入key列表,为了更新不丢失key

image

docker-compose部署

  • 注意:如果出现 ERROR: The Compose file './docker-compose.yaml' is invalid because:Unsupported config option for services: 'db' 类似错误请升级docker-compose版本,我本地使用的是1.29+版本。
  • 升级
$ sudo curl -L "https://github.com/docker/compose/releases/download/{version}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose
  • 如果更新需要删除原有镜像,密钥可以导出,然后再导入
services:
  java-app:
    container_name: java-app
    image: registry.cn-hangzhou.aliyuncs.com/lx_project/cloud:java-app-latest
    environment:
      DB_PASSWORD: 123456
    depends_on:
      - db
  vue-web:
    container_name: vue-web
    image: registry.cn-hangzhou.aliyuncs.com/lx_project/cloud:vue-app-latest
    ports:
      - "80:80"
    environment:
      - API_IP=192.168.61.131
    depends_on:
      - java-app
  db:
    container_name: db
    image: registry.cn-hangzhou.aliyuncs.com/lx_project/cloud:db-latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
      - /home/cloud/data:/var/lib/mysql

启动脚本

docker-compose up -d
#然后访问http://<IP>/admin/login
#默认账号密码admin/admin123

本地部署

  1. 编译后端项目(将application中的mysql改为本地mysql地址) mvn package
  2. 前端项目打包,打包前更改.env.production文件中的VITE_AXIOS_BASE_URL为本机IP,然后,npm install --> npm run build
  3. 将编译后的dist文件复制到nginx目录下
  4. 启动后端java -jar cloudSec.jar
  5. 访问nginx80端口登录,默认账号密码admin/admin123。

本地构建docker

  1. 编译项目放在java-app/target目录下
  2. 下载jdk8,需要oracle版本
  3. 解压WEB.ZIP文件到当前目录
  4. 执行docker-compose -f docker-compose-build.yaml up -d --build 构建镜像并启动