Awesome
cloudSec
- 更新为了单体jar包应用直接下载发布版本运行即可
云安全-AK/SK泄露利用工具
- 注意:如果本地使用linux搭建,openjdk需要安装字体库,建议使用oraclejdk
- 前端采用vue3,基于buildadmin模板,后端springboot,原接口调用厂商的SDK
- 如果有BUG请提交issue
- 提示:某些功能会对目标产品造成影响,如密钥对绑定,会导致重启,请慎重使用!!!
- 另外权限信息获取目前只支持阿里云腾讯与,云服务器执行命令是通过agent来执行的,这个过程中还需要agent权限,光凭agent是否安装无法判断是否可以执行命令,因此为了保证命令执行准确性,扫描时会默认执行一次whoami
功能概览
<table> <tr> <th>厂商</th> <th>产品</th> <th>功能</th> <th>备注</th> </tr> <tr> <td rowspan="4">七牛云</td> <td>云服务器</td> <td>列出云服务器/绑定密钥对</td> <td>/</td> </tr> <tr> <td>云数据库</td> <td>/</td> <td>/</td> </tr> <tr> <td>存储桶</td> <td>列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表</td> <td>因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览</td> </tr> <tr> <td>控制台用户</td> <td>/</td> <td>/</td> </tr> <tr> <td rowspan="4">华为云</td> <td>列出云服务器</td> <td>列出云服务器/绑定密钥对</td> <td>密钥对操作需要重启服务器</td> </tr> <tr> <td>云数据库</td> <td>获取数据库资源/创建用户</td> <td>不支持开通关闭外网访问,华为云数据库需要单独购买IP</td> </tr> <tr> <td>存储桶</td> <td>列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表</td> <td>因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览</td> </tr> <tr> <td>控制台用户</td> <td>创建控制台用户</td> <td>默认继承父账号权限</td> </tr> <tr> <td rowspan="4">阿里云</td> <td>云服务器</td> <td>列出云服务器/执行命令/绑定(还原)密钥对</td> <td>密钥对操作需要重启服务器</td> </tr> <tr> <td>云数据库</td> <td>获取数据库资源/创建用户/开通或关闭外网访问</td> <td>账号继承父账号权限</td> </tr> <tr> <td>存储桶</td> <td>列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表</td> <td>因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览</td> </tr> <tr> <td>控制台用户</td> <td>创建控制台用户</td> <td>默认管理员权限</td> </tr> <tr> <td rowspan="4">腾讯云</td> <td>云服务器</td> <td>列出云服务器/执行命令/绑定(还原)密钥对</td> <td>密钥对操作需要重启服务器</td> </tr> <tr> <td>云数据库</td> <td>获取数据库资源/创建用户/开通或关闭外网访问</td> <td>账号继承父账号权限</td> </tr> <tr> <td>集群</td> <td>打开K8S APISERVER外部访问/获取kubeconfig/一键接管K8S</td> <td>默认开通外部访问会添加0.0.0.0/0的白名单</td> </tr> <tr> <td>存储桶</td> <td>列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表</td> <td>因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览</td> </tr> <tr> <td>控制台用户</td> <td>创建控制台用户</td> <td>默认父账号权限</td> </tr> <tr> <td rowspan="4">亚马逊云</td> <td>云服务器</td> <td>列出云服务器</td> <td>/</td> </tr> <tr> <td>云数据库</td> <td>列出数据库资源</td> <td>/</td> </tr> <tr> <td>存储桶</td> <td>列出文件/单文件下载链接生成/上传文件/导出存储桶所有文件列表</td> <td>因为下载文件过多收费问题,所以改成了导出所有文件列表,然后通过文件名自己筛选即可,界面支持前缀搜索,支持1000条数据实时预览</td> </tr> <tr> <td>控制台用户</td> <td>创建控制台用户</td> <td>默认最高权限</td> </tr> </table>使用方式
- 默认检测是10个线程
添加AK/SK
- 右边按钮对应key更新编辑,任务启动,控制台用户创建
- 添加后选择立即检测或手动执行任务
- 可选择更新时导出key
- 一键停止/启动所有任务
- 权限信息
云服务器
- 对应命令执行,密钥对操作
存储桶
- 对应文件上传,导出文件列表(excel格式)
- 点击上传然后选择文件列表,可预览1000条数据,点击下载可单独下载文件
集群相关
- 对应的是获取kubeconfig,打开公网apiserver权限,更新信息(主要是开启外网访问后存在一定延迟,需要隔一段时间手动获取外网端点信息)
最后则是一键获取k8s权限,需要开通外网访问,点击后将会下载一个sh脚本,linux下执行后将本地安装kubectl连接该集群
连接成功后将会执行kubectl get node,显示下面结果则代表成功
如果显示下面报错,请在sh脚本所在目录下执行
export KUBECONFIG=$(pwd)/kubeconfig
成功后即可接管K8S
控制台用户
- 创建的控制台用户将在这里显示
数据库
- 按钮对应打开/关闭外网,创建数据库账号
文件下载列表
- 此处对应导出存储桶的文件列表表格,状态成功后可下载
导入key列表,为了更新不丢失key
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
本地部署
- 数据库mysql5.7
- jdk8
- node 16.16 前端项目地址:https://github.com/libaibaia/vue-web
- 步骤:
- 编译后端项目(将application中的mysql改为本地mysql地址) mvn package
- 前端项目打包,打包前更改.env.production文件中的VITE_AXIOS_BASE_URL为本机IP,然后,npm install --> npm run build
- 将编译后的dist文件复制到nginx目录下
- 启动后端java -jar cloudSec.jar
- 访问nginx80端口登录,默认账号密码admin/admin123。
本地构建docker
- 编译项目放在java-app/target目录下
- 下载jdk8,需要oracle版本
- 解压WEB.ZIP文件到当前目录
- 执行docker-compose -f docker-compose-build.yaml up -d --build 构建镜像并启动