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/ppa
apt-get update
apt-get install openjdk-11-jre-headless -y
2、安装Cortex
根据上述官网安装指导链接,找到DEB章节
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.list
sudo apt-get update
apt install cortex
3、编辑Cortex配置文件
注意修改uri以及认证信息字段,此处可能存在Bug,需要将username字段改成user字段。
vi /etc/cortex/application.conf
Part.3
安装Analyzers以及Responders,参考官方提供指导
https://github.com/TheHive-Project/CortexDocs/blob/master/installation/install-guide.md#installation
先安装Python2以及Python3
apt install python2
apt install python3
安装依赖项
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
安装Python2以及Python3的pip以及setuptools
#Python3 pip脚本
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
#删除Python3 pip脚本
rm get-pip.py
#Python2 pip脚本
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
python2 get-pip.py
安装setuptools以及更新Python2以及Python3的pip
pip2 install -U pip setuptools && sudo pip3 install -U pip setuptools
克隆Cortex-Analyzers仓库
cd /opt/
git clone https://github.com/TheHive-Project/Cortex-Analyzers
由于Analyzers以及Responders中存在太多应用都有各自的requirements.txt,并且不清楚是使用Python2还是Python3开发,但都需要安装依赖
于是使用脚本进行批量安装
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
等待一段时间,等应用依赖都安装完成,过程中会出现一些报错可以不用关注
PS:不清楚是不是网络问题,等了好久,各位可以先安装需要的应用依赖
编辑Cortex配置文件中Analyzers以及Responders路径
vi /etc/cortex/application.conf
填写实际Analyzers以及Responders路径,修改位置如下图所示
启动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
systemctl restart cortex
使用浏览器访问以下地址
http://192.168.116.202:9001/index.html#!/maintenance
点击Update Database后正常跳转到注册管理员账号界面,这里使用admin/admin注册管理员
输入完成后点击Create,页面自动跳转到登录页面
http://192.168.116.202:9001/index.html#!/login
Part.4
使用刚创建的账号密码登录,点击Add organization创建组织
组织命名成demosoc,填写组织对应的描述后点击Save
创建完组织后,需要创建该组织中的用户信息,点击刚才创建的组织名称
点击Add user
填写Login、Full name以及Roles,其中Login代表登录用户名信息,Roles选择read,analyze,orgadmin,配置完成点击Save user
点击下图中的New password按钮为刚才创建的用户设置登录密码
配置完后退出当前登录用户回到登录页面,使用刚才创建的用户登录
登录后即可看到下图页面,右上角出现Jobs History、Analyzers、Responders、Organization等按钮
点击Organization,找到Analyzers Config
通过搜索找到VirusTotal,以配置该Analyzer为例,点击Edit按钮
将VirusTotal官网中获取到的key填入,如果不了解如何获取可以使用搜索引擎查找VirusTotal API等关键字搜索相关内容
https://www.virustotal.com/
将download_sample以及download_sample_if_highlighted选项都设置成False
配置完成如下图所示
由于一个Analyzers Config可能会对应多个Analyzer。配置一个Analyzer Config后不一定需要启用所有相关的Analyzer,猜测产品因此做了Analyzer Config跟Analyzes的分离。
点击右边标签Analyzer,找到VirusTotal_GetReport_3_1点击Enable,所有配置保持默认,点击Save
配置完成如下图所示
配置完成之后可以运行一次任务验证Analyzer是否运作正常。
点击左上角New Analysis创建分析任务
其中Data Type类型选择ip,Data字段输入想要分析的ip在Analyzer中勾选刚才启用的VirusTotal_GetReport_3_1,下图所示表示将调用VirusTotal_GetReport_3_1分析212[.]83.157.118这个ip
配置完成后点击Start,如下图所示,该Job状态为Waiting
稍等片刻,当该任务的状态为Success的时候代表分析器已经分析完成,点击View查看结果
结果中关键信息截取如下,检测结果为58个引擎检测该ip无害,6个鉴定为恶意,2个分析结果为可疑,其余的22个为未检出
"last_analysis_stats": {
"harmless": 58,
"malicious": 6,
"suspicious": 2,
"undetected": 22,
"timeout": 0
},
看到上述的结果其实就是VirusTotal分析的结果,是用VirusTotal网页版同样对相同的ip进行一次分析
cortex内置了217个Analyzer,足够多的Analyzer更方便根据组织需求进行自定义调用,也可以一次调用多个Analyzer进行分析,以下以AbuseIPDB为例
注册AbuseIPDB账号登录后点击API标签,点击Create Key按钮创建API key
输入Key对应的名称,如cortex,该名称方便辨认key用于什么应用即可
点击CREATE获取到key如下图所示,复制对应的key信息
打开cortex控制台上Analyzers Config标签,找到AbuseIPDB后的Edit按钮
输入刚才获取到的key信息填入
配置完成如下图所示
点击右边标签Analyzer,找到AbuseIPDB_1_0点击Enable,所有配置保持默认,点击Save
配置完成如下图所示
点击左上角New Analysis创建分析任务,其中Data Type类型选择ip,Data字段输入想要分析的ip在Analyzer中勾选刚才启用的AbuseIPDB_1_0以及VirusTotal_GetReport_3_1,下图所示表示将调用AbuseIPDB_1_0以及VirusTotal_GetReport_3_1同时分析175[.]210.79.211这个ip
可以看到下图所示两个Job被创建成功,Job状态为Waiting,当任务的状态为Success的时候代表对应分析器已经分析完成,点击View查看结果
VirusTotal_GetReport_3_1中Job结果中关键信息截取如下,检测结果为55个引擎检测该ip无害,13个鉴定为恶意,1个分析结果为可疑,其余的19个为未检出
"last_analysis_stats": {
"harmless": 55,
"malicious": 13,
"suspicious": 1,
"undetected": 19,
"timeout": 0
},
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",
对应AbuseIPDB网页版本查看结果为下图所示
这样子就完成通过Cortex 查询一次性查询多个威胁情报源而不是单个单个通过不同的平台查询。提高效率的同时也通过多源威胁情报数据对查询结果进行辅助作证。
原文始发于微信公众号(Kali渗透测试教程):开源SOC实现(十四)-Cortex
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论