开源SOC实现(十五)-Shuffle

admin 2024年10月3日14:05:11评论55 views字数 2628阅读8分45秒阅读模式

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和微服务,实时执行。 

开源SOC实现(十五)-Shuffle

Orborus 运行所有的workflows,通常占用大量的CPU;Webserver 是您的用户和我们的 API 所在的地方。 通常占用大量的内存,因为我们做了很多缓存来确保可扩展性。

https://shuffler.io/docs/configuration

根据官网对应文档描述,建议Orborus 对应虚拟机的配置为4核CPU、4Gb内存、10Gb磁盘(最好是SSD);Webserver对应虚拟机的配置为2核CPU、8Gb内存、大于100Gb 磁盘(最好是SSD)

开源SOC实现(十五)-Shuffle

由于实验室环境,Shuffle采用单机部署,配置为4CPU、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/

开源SOC实现(十五)-Shuffle

安装完docker之后,第二步进行docker-compose的安装

sudo yum install docker-compose-plugin

开源SOC实现(十五)-Shuffle

安装成功之后输入以下命令即可看到docker compose对应的版本信息

[root@shuffle Shuffle]# docker compose versionDocker Compose version v2.19.1

接下来拷贝GitHub上面的Shuffle仓库,使用以下命令

PS:国内网络注意挂代理

git clone https://github.com/Shuffle/Shuffle

开源SOC实现(十五)-Shuffle

配置 Opensearch 数据库的权限

cd Shufflemkdir shuffle-databasesudo chown -R 1000:1000 shuffle-database# IF you get an error using 'chown', add the user first with 'sudo useradd opensearch'

开源SOC实现(十五)-Shuffle

启动容器,该步骤拉取docker镜像时间需要很久

PS:国内网络注意挂代理

docker compose up -d

开源SOC实现(十五)-Shuffle

等待docker把启动Shuffle的所有镜像都拉取完毕之后便会启动对应的容器,启动完成如下图所示

开源SOC实现(十五)-Shuffle

通过以下命令查看运行的容器信息

docker ps

开源SOC实现(十五)-Shuffle

可以看到docker启动了4个容器,如果发现无法启动需要查看容器对应的日志的话,使用以下命令查看

docker logs 容器ID//例如docker logs d2101c06b476

通过容器的端口映射信息可以得知,Shuffle的默认端口由3443以及3001,分别对应https协议以及http协议,这里使用https协议访问以下地址登录

https://192.168.116.203:3443/

开源SOC实现(十五)-Shuffle

等待初始化完成,创建administrator账号,这里配置成

admin/admin

开源SOC实现(十五)-Shuffle

创建完成后,即可使用使用刚才创建的账号密码登录后首页,展示如下图所示

开源SOC实现(十五)-Shuffle

到这一步就完成了Shuffle平台的部署。

Part.3

接下来跟随Shuffle的新手指引,点击New to Shuffle,进入Shuffle新手指引

开源SOC实现(十五)-Shuffle

完成新手指引之后,需要对Shuffle进行初始化,点击Apps,再点击下图中右上角的按钮,从Github下载应用到本地

开源SOC实现(十五)-Shuffle

默认的仓库地址为GitHub的地址,拉取的分支为master分支

开源SOC实现(十五)-Shuffle

如果无法更新App说明无法连接上GitHub,也可以通过手动更新的方式加载Apps

参考官网提供的troubleshooting手册:https://shuffler.io/docs/troubleshooting#load_all_apps_locally

开源SOC实现(十五)-Shuffle

通过浏览器打开以下连接下载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

开源SOC实现(十五)-Shuffle

将python-apps-master文件夹中的文件全部移动到python-apps文件夹中

 mv python-apps-master python-apps

开源SOC实现(十五)-Shuffle

回到Shuffle控制台,点击Apps,点击右上角更新按钮,手动从本地加载Apps

开源SOC实现(十五)-Shuffle

通过查看docker对应容器的日志可以发现Apps都是通过docker容器进行部署,这一步由于虚拟机配置原因会比较慢

开源SOC实现(十五)-Shuffle

等待加载完成后发现Shuffle内置了69个应用,如Velociraptor、Cortex等

开源SOC实现(十五)-Shuffle

到这里就基本完成Shuffle的初始化了,由于篇幅原因,对于自动化剧本的探索将放到下期进行分享,欢迎订阅收看

原文始发于微信公众号(Kali渗透测试教程):开源SOC实现(十五)-Shuffle

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月3日14:05:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   开源SOC实现(十五)-Shufflehttps://cn-sec.com/archives/3230166.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息