Part.1
上一期讲到通过Cortex赋能威胁情报,通过Cortex 查询一次性查询多个威胁情报源而不是单个单个通过不同的平台查询。
这一期更新来介绍什么是Shuffle?
根据Shuffle Github中的介绍:Shuffle 是一个为社区服务并由社区创建的自动化平台,专注于让任何人都可以实现自动化。安全操作很复杂,但并非必须如此。
https://github.com/Shuffle/Shuffle
Part.2
通过ShuffleGithub中的描述可以明确Shuffle是一款自动化工具,为了实现安全操作自动化,这里面的安全操作包含常见的调查、处置。
接下来跟随Shuffle官方材料大致了解一下Shuffle的架构:Shuffle允许SaaS、本地部署或者混合部署,该平台分为两个主要部分:Server和workers。Server充当从 API 活动到工作流验证的所有内容的主机,而 Workers 是另一个独立单元,以微服务式的方式工作。Server和workers可以安装在不同的主机上并形成集群。
Shuffle自动化引擎完全是从scratch开始构建的,依赖Docker和微服务,实时执行。
Orborus 运行所有的workflows,通常占用大量的CPU;Webserver 是您的用户和我们的 API 所在的地方。 通常占用大量的内存,因为我们做了很多缓存来确保可扩展性。
https://shuffler.io/docs/configuration
根据官网对应文档描述,建议Orborus 对应虚拟机的配置为4核CPU、4Gb内存、10Gb磁盘(最好是SSD);Webserver对应虚拟机的配置为2核CPU、8Gb内存、大于100Gb 磁盘(最好是SSD)
由于实验室环境,Shuffle采用单机部署,配置为4核CPU、6Gb内存、20Gb 磁盘(SSD),由于配置降低了,于是Shuffle启动完毕的时间也会比较久
Part.3
接下来进行Shuffle的安装部署,参考官网文档
https://github.com/Shuffle/Shuffle/blob/main/.github/install-guide.md
由于Shuffle通过docker进行运行,第一步进行docker环境安装,参考docker官网文档
https://docs.docker.com/engine/install/centos/
安装完docker之后,第二步进行docker-compose的安装
sudo yum install docker-compose-plugin
安装成功之后输入以下命令即可看到docker compose对应的版本信息
[root@shuffle Shuffle]# docker compose version
Docker Compose version v2.19.1
接下来拷贝GitHub上面的Shuffle仓库,使用以下命令
PS:国内网络注意挂代理
git clone https://github.com/Shuffle/Shuffle
配置 Opensearch 数据库的权限
cd Shuffle
mkdir shuffle-database
sudo chown -R 1000:1000 shuffle-database
# IF you get an error using 'chown', add the user first with 'sudo useradd opensearch'
启动容器,该步骤拉取docker镜像时间需要很久
PS:国内网络注意挂代理
docker compose up -d
等待docker把启动Shuffle的所有镜像都拉取完毕之后便会启动对应的容器,启动完成如下图所示
通过以下命令查看运行的容器信息
docker ps
可以看到docker启动了4个容器,如果发现无法启动需要查看容器对应的日志的话,使用以下命令查看
docker logs 容器ID
//例如
docker logs d2101c06b476
通过容器的端口映射信息可以得知,Shuffle的默认端口由3443以及3001,分别对应https协议以及http协议,这里使用https协议访问以下地址登录
https://192.168.116.203:3443/
等待初始化完成,创建administrator账号,这里配置成
admin/admin
创建完成后,即可使用使用刚才创建的账号密码登录后首页,展示如下图所示
到这一步就完成了Shuffle平台的部署。
Part.3
接下来跟随Shuffle的新手指引,点击New to Shuffle,进入Shuffle新手指引
完成新手指引之后,需要对Shuffle进行初始化,点击Apps,再点击下图中右上角的按钮,从Github下载应用到本地
默认的仓库地址为GitHub的地址,拉取的分支为master分支
如果无法更新App说明无法连接上GitHub,也可以通过手动更新的方式加载Apps
参考官网提供的troubleshooting手册:
https://shuffler.io/docs/troubleshooting#load_all_apps_locally
通过浏览器打开以下连接下载Apps
https://github.com/Shuffle/python-apps/archive/refs/heads/master.zip
将下载的压缩包上传到Shuffle/shuffle-apps目录中,对应撰写本文时实际环境路径为如下
/root/Shuffle/shuffle-apps
将对应的zip压缩包进行解压
unzip python-apps-master.zip
将python-apps-master文件夹中的文件全部移动到python-apps文件夹中
mv python-apps-master python-apps
回到Shuffle控制台,点击Apps,点击右上角更新按钮,手动从本地加载Apps
通过查看docker对应容器的日志可以发现Apps都是通过docker容器进行部署,这一步由于虚拟机配置原因会比较慢
等待加载完成后发现Shuffle内置了69个应用,如Velociraptor、Cortex等
到这里就基本完成Shuffle的初始化了,由于篇幅原因,对于自动化剧本的探索将放到下期进行分享,欢迎订阅收看
原文始发于微信公众号(Kali渗透测试教程):开源SOC实现(十五)-Shuffle
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论