开源SOC实现(十四)-Cortex

admin 2024年10月3日15:26:44评论29 views字数 5245阅读17分29秒阅读模式

Part.1

上一期讲到通过事件响应调查平台IRIS完成一个案例的事件响应Case。调查过程中也会涉及到对一些情报信息的调查,今天来看一下如何通过Cortex完成对多源情报的调查。

Part.2

接下来看如何安装Cortex

https://github.com/TheHive-Project/CortexDocs/blob/master/installation/install-guide.md#deb

根据官方安装手册提供多种安装方式,本文选择DEB包安装,安装前注意事项有如下关键点:

Current supported versions of Cortex are:

  • Version 3.1.0 and later that supports only Elasticsearch 7.x

刚好Wazuh使用的Elasticsearch版本同样为7.x,可以直接安装Cortex最新版本。

1、安装JAVA环境

apt install software-properties-common -y add-apt-repository ppa:openjdk-r/ppaapt-get updateapt-get install openjdk-11-jre-headless -y

开源SOC实现(十四)-Cortex

2、安装Cortex

根据上述官网安装指导链接,找到DEB章节

开源SOC实现(十四)-Cortex

curl https://raw.githubusercontent.com/TheHive-Project/TheHive/master/PGP-PUBLIC-KEY | sudo apt-key add -echo 'deb https://deb.thehive-project.org release main' | sudo tee -a /etc/apt/sources.list.d/thehive-project.listsudo apt-get updateapt install cortex

开源SOC实现(十四)-Cortex

3、编辑Cortex配置文件

注意修改uri以及认证信息字段,此处可能存在Bug,需要将username字段改成user字段。

vi /etc/cortex/application.conf

开源SOC实现(十四)-Cortex

Part.3

安装Analyzers以及Responders,参考官方提供指导

https://github.com/TheHive-Project/CortexDocs/blob/master/installation/install-guide.md#installation

先安装Python2以及Python3

apt install python2apt install python3

开源SOC实现(十四)-Cortex

安装依赖项

apt-get install -y --no-install-recommends python2.7-dev python3-dev ssdeep libfuzzy-dev libfuzzy2 libimage-exiftool-perl libmagic1 build-essential git libssl-dev

开源SOC实现(十四)-Cortex

安装Python2以及Python3的pip以及setuptools

#Python3 pip脚本wget https://bootstrap.pypa.io/get-pip.pypython3 get-pip.py

开源SOC实现(十四)-Cortex

#删除Python3 pip脚本rm get-pip.py#Python2 pip脚本wget https://bootstrap.pypa.io/pip/2.7/get-pip.pypython2 get-pip.py

开源SOC实现(十四)-Cortex

安装setuptools以及更新Python2以及Python3的pip

pip2 install -U pip setuptools && sudo pip3 install -U pip setuptools

开源SOC实现(十四)-Cortex

克隆Cortex-Analyzers仓库

cd /opt/git clone https://github.com/TheHive-Project/Cortex-Analyzers

开源SOC实现(十四)-Cortex

由于Analyzers以及Responders中存在太多应用都有各自的requirements.txt,并且不清楚是使用Python2还是Python3开发,但都需要安装依赖

开源SOC实现(十四)-Cortex

于是使用脚本进行批量安装

cd /opt/for I in $(find Cortex-Analyzers -name 'requirements.txt'); do sudo -H pip2 install -r $I; done && for I in $(find Cortex-Analyzers -name 'requirements.txt'); do sudo -H pip3 install -r $I || true; done

开源SOC实现(十四)-Cortex

等待一段时间,等应用依赖都安装完成,过程中会出现一些报错可以不用关注

PS:不清楚是不是网络问题,等了好久,各位可以先安装需要的应用依赖

开源SOC实现(十四)-Cortex编辑Cortex配置文件中Analyzers以及Responders路径

vi /etc/cortex/application.conf

填写实际Analyzers以及Responders路径,修改位置如下图所示

开源SOC实现(十四)-Cortex

开源SOC实现(十四)-Cortex

启动cortex

sudo mkdir /etc/cortex(cat << _EOF_# Secret key# ~~~~~# The secret key is used to secure cryptographics functions.# If you deploy your application to several instances be sure to use the same key!play.http.secret.key="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 64 | head -n 1)"_EOF_) | sudo tee -a /etc/cortex/application.conf

开源SOC实现(十四)-Cortex

systemctl restart cortex

使用浏览器访问以下地址

http://192.168.116.202:9001/index.html#!/maintenance

开源SOC实现(十四)-Cortex

点击Update Database后正常跳转到注册管理员账号界面,这里使用admin/admin注册管理员

开源SOC实现(十四)-Cortex

输入完成后点击Create,页面自动跳转到登录页面

http://192.168.116.202:9001/index.html#!/login

开源SOC实现(十四)-Cortex

Part.4

使用刚创建的账号密码登录,点击Add organization创建组织

开源SOC实现(十四)-Cortex

组织命名成demosoc,填写组织对应的描述后点击Save

开源SOC实现(十四)-Cortex

创建完组织后,需要创建该组织中的用户信息,点击刚才创建的组织名称

开源SOC实现(十四)-Cortex

点击Add user

开源SOC实现(十四)-Cortex

填写Login、Full name以及Roles,其中Login代表登录用户名信息,Roles选择read,analyze,orgadmin,配置完成点击Save user

开源SOC实现(十四)-Cortex

点击下图中的New password按钮为刚才创建的用户设置登录密码

开源SOC实现(十四)-Cortex

配置完后退出当前登录用户回到登录页面,使用刚才创建的用户登录

开源SOC实现(十四)-Cortex

登录后即可看到下图页面,右上角出现Jobs History、Analyzers、Responders、Organization等按钮

开源SOC实现(十四)-Cortex

点击Organization,找到Analyzers Config

开源SOC实现(十四)-Cortex

通过搜索找到VirusTotal,以配置该Analyzer为例,点击Edit按钮

开源SOC实现(十四)-Cortex

将VirusTotal官网中获取到的key填入,如果不了解如何获取可以使用搜索引擎查找VirusTotal API等关键字搜索相关内容

https://www.virustotal.com/

将download_sample以及download_sample_if_highlighted选项都设置成False开源SOC实现(十四)-Cortex

配置完成如下图所示

开源SOC实现(十四)-Cortex

由于一个Analyzers Config可能会对应多个Analyzer。配置一个Analyzer Config后不一定需要启用所有相关的Analyzer,猜测产品因此做了Analyzer Config跟Analyzes的分离。

点击右边标签Analyzer,找到VirusTotal_GetReport_3_1点击Enable,所有配置保持默认,点击Save

开源SOC实现(十四)-Cortex

配置完成如下图所示

开源SOC实现(十四)-Cortex

配置完成之后可以运行一次任务验证Analyzer是否运作正常。

点击左上角New Analysis创建分析任务

开源SOC实现(十四)-Cortex

其中Data Type类型选择ip,Data字段输入想要分析的ip在Analyzer中勾选刚才启用的VirusTotal_GetReport_3_1,下图所示表示将调用VirusTotal_GetReport_3_1分析212[.]83.157.118这个ip

开源SOC实现(十四)-Cortex

配置完成后点击Start,如下图所示,该Job状态为Waiting

开源SOC实现(十四)-Cortex

稍等片刻,当该任务的状态为Success的时候代表分析器已经分析完成,点击View查看结果

开源SOC实现(十四)-Cortex

结果中关键信息截取如下,检测结果为58个引擎检测该ip无害,6个鉴定为恶意,2个分析结果为可疑,其余的22个为未检出

 "last_analysis_stats": {        "harmless": 58,        "malicious": 6,        "suspicious": 2,        "undetected": 22,        "timeout": 0      },

开源SOC实现(十四)-Cortex

看到上述的结果其实就是VirusTotal分析的结果,是用VirusTotal网页版同样对相同的ip进行一次分析

开源SOC实现(十四)-Cortex

cortex内置了217个Analyzer,足够多的Analyzer更方便根据组织需求进行自定义调用,也可以一次调用多个Analyzer进行分析,以下以AbuseIPDB为例

注册AbuseIPDB账号登录后点击API标签,点击Create Key按钮创建API key

开源SOC实现(十四)-Cortex

输入Key对应的名称,如cortex,该名称方便辨认key用于什么应用即可

开源SOC实现(十四)-Cortex

点击CREATE获取到key如下图所示,复制对应的key信息

开源SOC实现(十四)-Cortex

打开cortex控制台上Analyzers Config标签,找到AbuseIPDB后的Edit按钮

开源SOC实现(十四)-Cortex

输入刚才获取到的key信息填入开源SOC实现(十四)-Cortex

配置完成如下图所示

开源SOC实现(十四)-Cortex

击右边Analyzer,找到AbuseIPDB_1_0点击Enable,所有配置保持默认,点击Save

开源SOC实现(十四)-Cortex

配置完成如下图所示

开源SOC实现(十四)-Cortex

点击左上角New Analysis创建分析任务,其中Data Type类型选择ip,Data字段输入想要分析的ipAnalyzer中勾选刚才启用AbuseIPDB_1_0以及VirusTotal_GetReport_3_1,下图所示表示将调用AbuseIPDB_1_0以及VirusTotal_GetReport_3_1同时分析175[.]210.79.211这个ip

开源SOC实现(十四)-Cortex

可以看到下图所示两个Job被创建成功,Job状态为Waiting,当任务的状态为Success的时候代表对应分析器已经分析完成,点击View查看结果

开源SOC实现(十四)-Cortex

VirusTotal_GetReport_3_1中Job结果中关键信息截取如下,检测结果为55个引擎检测ip无害,13个鉴定为恶意,1分析结果为可疑,其余的19个为未检出

"last_analysis_stats": {        "harmless": 55,        "malicious": 13,        "suspicious": 1,        "undetected": 19,        "timeout": 0      },

开源SOC实现(十四)-Cortex

AbuseIPDB_1_0中Job结果中关键信息截取如下,已经被320次报告为malicious,abuseConfidenceScore为100%

"summary": {    "taxonomies": [      {        "level": "malicious",        "namespace": "AbuseIPDB",        "predicate": "Records",        "value": 320      }    ]  },  "full": {    "values": [      {        "data": {          "ipAddress": "175.210.79.211",          "isPublic": true,          "ipVersion": 4,          "isWhitelisted": false,          "abuseConfidenceScore": 100,          "countryCode": "KR",          "usageType": null,          "isp": "KT Corporation",          "domain": "kt.com",          "hostnames": [],          "isTor": false,          "countryName": "Korea (Republic of)",          "totalReports": 320,          "numDistinctUsers": 157,          "lastReportedAt": "2023-07-10T13:31:40+00:00",

开源SOC实现(十四)-Cortex

对应AbuseIPDB网页版本查看结果为下图所示

开源SOC实现(十四)-Cortex

这样子就完成通过Cortex 查询一次性查询多个威胁情报源而不是单个单个通过不同的平台查询。提高效率的同时也通过多源威胁情报数据对查询结果进行辅助作证。

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

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

发表评论

匿名网友 填写信息